| /linux-6.15/net/ipv4/ |
| H A D | devinet.c | 150 if (!ifa) { in __ip_dev_find() 212 ifa = kzalloc(sizeof(*ifa), GFP_KERNEL_ACCOUNT); in inet_alloc_ifa() 213 if (!ifa) in inet_alloc_ifa() 221 return ifa; in inet_alloc_ifa() 428 for (ifa = promote; ifa; ifa = rtnl_dereference(ifa->ifa_next)) { in __inet_del_ifa() 471 for (ifa = next_sec; ifa; in __inet_del_ifa() 472 ifa = rtnl_dereference(ifa->ifa_next)) { in __inet_del_ifa() 842 WRITE_ONCE(ifa->ifa_cstamp, ifa->ifa_tstamp); in set_ifa_lifetime() 906 if (!ifa) in inet_rtm_to_ifa() 1236 ifa->ifa_broadcast = ifa->ifa_address | in devinet_ioctl() [all …]
|
| H A D | fib_frontend.c | 567 if (!ifa) in rtentry_to_fib_config() 1161 if (ifa->ifa_broadcast && ifa->ifa_broadcast != htonl(0xFFFFFFFF)) { in fib_add_ifaddr() 1186 __be32 prefix = ifa->ifa_address & ifa->ifa_mask; in fib_modify_prefix_metric() 1193 (prefix == ifa->ifa_local && ifa->ifa_prefixlen == 32)) in fib_modify_prefix_metric() 1199 prefix, ifa->ifa_prefixlen, ifa, new_metric); in fib_modify_prefix_metric() 1204 prefix, ifa->ifa_prefixlen, ifa, ifa->ifa_rt_priority); in fib_modify_prefix_metric() 1218 __be32 brd = ifa->ifa_address | ~ifa->ifa_mask; in fib_del_ifaddr() 1219 __be32 any = ifa->ifa_address & ifa->ifa_mask; in fib_del_ifaddr() 1244 (any != ifa->ifa_local || ifa->ifa_prefixlen < 32)) { in fib_del_ifaddr() 1262 if (ifa1 == ifa) { in fib_del_ifaddr() [all …]
|
| /linux-6.15/Documentation/netlink/specs/ |
| H A D | rt_addr.yaml | 16 name: ifa-family 19 name: ifa-prefixlen 22 name: ifa-flags 24 enum: ifa-flags 27 name: ifa-scope 30 name: ifa-index 33 name: ifa-cacheinfo 40 name: ifa-valid 50 name: ifa-flags 81 name-prefix: ifa- [all …]
|
| /linux-6.15/net/netfilter/ |
| H A D | nf_nat_redirect.c | 66 const struct in_ifaddr *ifa; in nf_nat_redirect_ipv4() local 68 ifa = rcu_dereference(indev->ifa_list); in nf_nat_redirect_ipv4() 69 if (ifa) in nf_nat_redirect_ipv4() 70 newdst.ip = ifa->ifa_local; in nf_nat_redirect_ipv4() 83 static bool nf_nat_redirect_ipv6_usable(const struct inet6_ifaddr *ifa, unsigned int scope) in nf_nat_redirect_ipv6_usable() argument 85 unsigned int ifa_addr_type = ipv6_addr_type(&ifa->addr); in nf_nat_redirect_ipv6_usable() 90 if ((ifa->flags & IFA_F_TENTATIVE) && (!(ifa->flags & IFA_F_OPTIMISTIC))) in nf_nat_redirect_ipv6_usable() 118 const struct inet6_ifaddr *ifa; in nf_nat_redirect_ipv6() local 121 list_for_each_entry(ifa, &idev->addr_list, if_list) { in nf_nat_redirect_ipv6() 122 if (!nf_nat_redirect_ipv6_usable(ifa, scope)) in nf_nat_redirect_ipv6() [all …]
|
| H A D | nf_conntrack_broadcast.c | 41 const struct in_ifaddr *ifa; in nf_conntrack_broadcast_help() local 43 in_dev_for_each_ifa_rcu(ifa, in_dev) { in nf_conntrack_broadcast_help() 44 if (ifa->ifa_flags & IFA_F_SECONDARY) in nf_conntrack_broadcast_help() 47 if (ifa->ifa_broadcast == iph->daddr) { in nf_conntrack_broadcast_help() 48 mask = ifa->ifa_mask; in nf_conntrack_broadcast_help()
|
| H A D | nf_nat_masquerade.c | 186 const struct in_ifaddr *ifa = ptr; in masq_inet_event() local 199 idev = ifa->ifa_dev; in masq_inet_event() 205 addr.ip = ifa->ifa_address; in masq_inet_event() 282 struct inet6_ifaddr *ifa = ptr; in masq_inet6_event() local 289 dev = ifa->idev->dev; in masq_inet6_event() 293 addr.in6 = ifa->addr; in masq_inet6_event()
|
| H A D | nfnetlink_osf.c | 36 const struct in_ifaddr *ifa; in nf_osf_ttl() local 46 in_dev_for_each_ifa_rcu(ifa, in_dev) { in nf_osf_ttl() 47 if (inet_ifa_match(ip->saddr, ifa)) { in nf_osf_ttl()
|
| /linux-6.15/include/linux/ |
| H A D | inetdevice.h | 205 static inline bool inet_ifa_match(__be32 addr, const struct in_ifaddr *ifa) in inet_ifa_match() argument 207 return !((addr^ifa->ifa_address)&ifa->ifa_mask); in inet_ifa_match() 225 #define in_dev_for_each_ifa_rtnl(ifa, in_dev) \ argument 226 for (ifa = rtnl_dereference((in_dev)->ifa_list); ifa; \ 227 ifa = rtnl_dereference(ifa->ifa_next)) 229 #define in_dev_for_each_ifa_rtnl_net(net, ifa, in_dev) \ argument 230 for (ifa = rtnl_net_dereference(net, (in_dev)->ifa_list); ifa; \ 231 ifa = rtnl_net_dereference(net, ifa->ifa_next)) 233 #define in_dev_for_each_ifa_rcu(ifa, in_dev) \ argument 234 for (ifa = rcu_dereference((in_dev)->ifa_list); ifa; \ [all …]
|
| /linux-6.15/net/ipv6/ |
| H A D | addrconf.c | 1115 ifa = kzalloc(sizeof(*ifa), gfp_flags | __GFP_ACCOUNT); in ipv6_add_addr() 1116 if (!ifa) { in ipv6_add_addr() 1147 ifa->cstamp = ifa->tstamp = jiffies; in ipv6_add_addr() 1186 if (ifa) { in ipv6_add_addr() 1194 return ifa; in ipv6_add_addr() 1776 score->ifa = hiscore->ifa; in __ipv6_dev_get_saddr() 3986 addrconf_leave_solict(ifa->idev, &ifa->addr); in addrconf_ifdown() 4478 return ifa; in if6_seq_next() 5058 if (!ifa) { in inet6_rtm_newaddr() 5148 put_ifaddrmsg(nlh, ifa->prefix_len, ifa->flags, rt_scope(ifa->scope), in inet6_fill_ifaddr() [all …]
|
| /linux-6.15/net/ipv4/netfilter/ |
| H A D | nf_tproxy_ipv4.c | 52 const struct in_ifaddr *ifa; in nf_tproxy_laddr4() local 64 in_dev_for_each_ifa_rcu(ifa, indev) { in nf_tproxy_laddr4() 65 if (ifa->ifa_flags & IFA_F_SECONDARY) in nf_tproxy_laddr4() 68 laddr = ifa->ifa_local; in nf_tproxy_laddr4()
|
| /linux-6.15/net/ipv6/netfilter/ |
| H A D | nf_tproxy_ipv6.c | 14 struct inet6_ifaddr *ifa; in nf_tproxy_laddr6() local 24 list_for_each_entry(ifa, &indev->addr_list, if_list) { in nf_tproxy_laddr6() 25 if (ifa->flags & (IFA_F_TENTATIVE | IFA_F_DEPRECATED)) in nf_tproxy_laddr6() 28 laddr = &ifa->addr; in nf_tproxy_laddr6()
|
| /linux-6.15/net/smc/ |
| H A D | smc_clc.c | 518 const struct in_ifaddr *ifa; in smc_clc_prfx_set4_rcu() local 523 in_dev_for_each_ifa_rcu(ifa, in_dev) { in smc_clc_prfx_set4_rcu() 524 if (!inet_ifa_match(ipv4, ifa)) in smc_clc_prfx_set4_rcu() 527 prop->outgoing_subnet = ifa->ifa_address & ifa->ifa_mask; in smc_clc_prfx_set4_rcu() 541 struct inet6_ifaddr *ifa; in smc_clc_prfx_set6_rcu() local 551 &ifa->addr, ifa->prefix_len); in smc_clc_prfx_set6_rcu() 552 ipv6_prfx[cnt].prefix_len = ifa->prefix_len; in smc_clc_prfx_set6_rcu() 613 const struct in_ifaddr *ifa; in smc_clc_prfx_match4_rcu() local 617 in_dev_for_each_ifa_rcu(ifa, in_dev) { in smc_clc_prfx_match4_rcu() 633 struct inet6_ifaddr *ifa; in smc_clc_prfx_match6_rcu() local [all …]
|
| /linux-6.15/drivers/infiniband/hw/usnic/ |
| H A D | usnic_ib_main.c | 264 struct in_ifaddr *ifa = ptr; in usnic_ib_handle_inet_event() local 281 usnic_fwd_add_ipaddr(us_ibdev->ufdev, ifa->ifa_address); in usnic_ib_handle_inet_event() 304 struct in_ifaddr *ifa = ptr; in usnic_ib_inetaddr_event() local 305 struct net_device *netdev = ifa->ifa_dev->dev; in usnic_ib_inetaddr_event() 438 const struct in_ifaddr *ifa; in usnic_ib_device_add() local 440 ifa = rcu_dereference(ind->ifa_list); in usnic_ib_device_add() 441 if (ifa) in usnic_ib_device_add() 442 usnic_fwd_add_ipaddr(us_ibdev->ufdev, ifa->ifa_address); in usnic_ib_device_add()
|
| /linux-6.15/drivers/net/wan/ |
| H A D | hdlc_cisco.c | 185 const struct in_ifaddr *ifa; in cisco_rx() local 187 in_dev_for_each_ifa_rcu(ifa, in_dev) { in cisco_rx() 189 ifa->ifa_label) == 0) { in cisco_rx() 190 addr = ifa->ifa_local; in cisco_rx() 191 mask = ifa->ifa_mask; in cisco_rx()
|
| /linux-6.15/fs/nfsd/ |
| H A D | nfssvc.c | 453 struct in_ifaddr *ifa = (struct in_ifaddr *)ptr; in nfsd_inetaddr_event() local 454 struct net_device *dev = ifa->ifa_dev->dev; in nfsd_inetaddr_event() 464 dprintk("nfsd_inetaddr_event: removed %pI4\n", &ifa->ifa_local); in nfsd_inetaddr_event() 466 sin.sin_addr.s_addr = ifa->ifa_local; in nfsd_inetaddr_event() 483 struct inet6_ifaddr *ifa = (struct inet6_ifaddr *)ptr; in nfsd_inet6addr_event() local 484 struct net_device *dev = ifa->idev->dev; in nfsd_inet6addr_event() 494 dprintk("nfsd_inet6addr_event: removed %pI6\n", &ifa->addr); in nfsd_inet6addr_event() 496 sin6.sin6_addr = ifa->addr; in nfsd_inet6addr_event() 498 sin6.sin6_scope_id = ifa->idev->dev->ifindex; in nfsd_inet6addr_event()
|
| /linux-6.15/fs/lockd/ |
| H A D | svc.c | 271 struct in_ifaddr *ifa = (struct in_ifaddr *)ptr; in lockd_inetaddr_event() local 279 &ifa->ifa_local); in lockd_inetaddr_event() 281 sin.sin_addr.s_addr = ifa->ifa_local; in lockd_inetaddr_event() 297 struct inet6_ifaddr *ifa = (struct inet6_ifaddr *)ptr; in lockd_inet6addr_event() local 304 dprintk("lockd_inet6addr_event: removed %pI6\n", &ifa->addr); in lockd_inet6addr_event() 306 sin6.sin6_addr = ifa->addr; in lockd_inet6addr_event() 308 sin6.sin6_scope_id = ifa->idev->dev->ifindex; in lockd_inet6addr_event()
|
| /linux-6.15/net/appletalk/ |
| H A D | aarp.c | 690 struct atalk_iface *ifa; in aarp_rcv() local 719 ifa = atalk_find_dev(dev); in aarp_rcv() 720 if (!ifa) in aarp_rcv() 723 if (ifa->status & ATIF_PROBE && in aarp_rcv() 724 ifa->address.s_node == ea->pa_dst_node && in aarp_rcv() 725 ifa->address.s_net == ea->pa_dst_net) { in aarp_rcv() 726 ifa->status |= ATIF_PROBE_FAIL; /* Fail the probe (in use) */ in aarp_rcv() 785 ma = &ifa->address; in aarp_rcv()
|
| /linux-6.15/drivers/net/wireless/broadcom/brcm80211/brcmfmac/ |
| H A D | core.c | 997 struct in_ifaddr *ifa = data; in brcmf_inetaddr_changed() local 998 struct net_device *ndev = ifa->ifa_dev->dev; in brcmf_inetaddr_changed() 1034 if (ifa->ifa_address == addr_table[i]) in brcmf_inetaddr_changed() 1041 &ifa->ifa_address); in brcmf_inetaddr_changed() 1044 &ifa->ifa_address, sizeof(ifa->ifa_address)); in brcmf_inetaddr_changed() 1053 &ifa->ifa_address); in brcmf_inetaddr_changed() 1088 struct inet6_ifaddr *ifa = data; in brcmf_inet6addr_changed() local 1097 if (ifp->ndev != ifa->idev->dev) in brcmf_inet6addr_changed() 1102 if (ipv6_addr_equal(&ifa->addr, &table[i])) in brcmf_inet6addr_changed() 1109 table[ifp->ipv6addr_idx++] = ifa->addr; in brcmf_inet6addr_changed() [all …]
|
| /linux-6.15/drivers/infiniband/core/ |
| H A D | roce_gid_mgmt.c | 334 const struct in_ifaddr *ifa; in enum_netdev_ipv4_ips() local 354 in_dev_for_each_ifa_rcu(ifa, in_dev) { in enum_netdev_ipv4_ips() 361 entry->ip.sin_addr.s_addr = ifa->ifa_address; in enum_netdev_ipv4_ips() 884 struct in_ifaddr *ifa = ptr; in inetaddr_event() local 887 in.sin_addr.s_addr = ifa->ifa_address; in inetaddr_event() 888 ndev = ifa->ifa_dev->dev; in inetaddr_event()
|
| /linux-6.15/drivers/net/ethernet/chelsio/cxgb4/ |
| H A D | clip_tbl.c | 200 struct inet6_ifaddr *ifa; in cxgb4_update_dev_clip() local 208 list_for_each_entry(ifa, &idev->addr_list, if_list) { in cxgb4_update_dev_clip() 209 ret = cxgb4_clip_get(dev, (const u32 *)ifa->addr.s6_addr, 1); in cxgb4_update_dev_clip()
|
| /linux-6.15/net/mac80211/ |
| H A D | main.c | 554 struct in_ifaddr *ifa = arg; in ieee80211_ifa_changed() local 558 struct net_device *ndev = ifa->ifa_dev->dev; in ieee80211_ifa_changed() 606 ifa = rtnl_dereference(idev->ifa_list); in ieee80211_ifa_changed() 607 while (ifa) { in ieee80211_ifa_changed() 609 vif_cfg->arp_addr_list[c] = ifa->ifa_address; in ieee80211_ifa_changed() 610 ifa = rtnl_dereference(ifa->ifa_next); in ieee80211_ifa_changed() 630 struct inet6_ifaddr *ifa = (struct inet6_ifaddr *)arg; in ieee80211_ifa6_changed() local 631 struct inet6_dev *idev = ifa->idev; in ieee80211_ifa6_changed() 632 struct net_device *ndev = ifa->idev->dev; in ieee80211_ifa6_changed()
|
| /linux-6.15/drivers/net/ethernet/qlogic/netxen/ |
| H A D | netxen_nic_main.c | 3181 struct in_ifaddr *ifa, unsigned long event) in netxen_list_config_ip() argument 3188 dev = ifa->ifa_dev->dev; in netxen_list_config_ip() 3197 if (cur->ip_addr == ifa->ifa_address) in netxen_list_config_ip() 3207 cur->ip_addr = ifa->ifa_address; in netxen_list_config_ip() 3215 if (cur->ip_addr == ifa->ifa_address) { in netxen_list_config_ip() 3234 struct in_ifaddr *ifa; in netxen_config_indev_addr() local 3244 in_dev_for_each_ifa_rcu(ifa, indev) { in netxen_config_indev_addr() 3247 netxen_list_config_ip(adapter, ifa, NX_IP_UP); in netxen_config_indev_addr() 3378 struct in_ifaddr *ifa = (struct in_ifaddr *)ptr; in netxen_inetaddr_event() local 3381 dev = ifa->ifa_dev->dev; in netxen_inetaddr_event() [all …]
|
| /linux-6.15/drivers/net/plip/ |
| H A D | plip.c | 1019 const struct in_ifaddr *ifa = rcu_dereference(in_dev->ifa_list); in plip_rewrite_address() local 1020 if (ifa) { in plip_rewrite_address() 1023 memcpy(eth->h_dest+2, &ifa->ifa_address, 4); in plip_rewrite_address() 1114 const struct in_ifaddr *ifa = rtnl_dereference(in_dev->ifa_list); in plip_open() local 1115 if (ifa != NULL) { in plip_open() 1116 dev_addr_mod(dev, 2, &ifa->ifa_local, 4); in plip_open()
|
| /linux-6.15/net/core/ |
| H A D | netpoll.c | 776 const struct in_ifaddr *ifa; in netpoll_setup() local 782 ifa = rtnl_dereference(in_dev->ifa_list); in netpoll_setup() 783 if (!ifa) { in netpoll_setup() 791 np->local_ip.ip = ifa->ifa_local; in netpoll_setup()
|
| /linux-6.15/arch/um/drivers/ |
| H A D | net_kern.c | 725 struct in_ifaddr *ifa = ptr; in uml_inetaddr_event() local 726 struct net_device *dev = ifa->ifa_dev->dev; in uml_inetaddr_event() 746 memcpy(addr_buf, &ifa->ifa_address, sizeof(addr_buf)); in uml_inetaddr_event() 747 memcpy(netmask_buf, &ifa->ifa_mask, sizeof(netmask_buf)); in uml_inetaddr_event()
|