| /linux/net/ipv4/ |
| H A D | devinet.c | 121 static void inet_hash_insert(struct net *net, struct in_ifaddr *ifa) in inet_hash_insert() argument 123 u32 hash = inet_addr_hash(net, ifa->ifa_local); in inet_hash_insert() 126 hlist_add_head_rcu(&ifa->addr_lst, &net->ipv4.inet_addr_lst[hash]); in inet_hash_insert() 129 static void inet_hash_remove(struct in_ifaddr *ifa) in inet_hash_remove() argument 132 hlist_del_init_rcu(&ifa->addr_lst); in inet_hash_remove() 146 struct in_ifaddr *ifa; in __ip_dev_find() local 149 ifa = inet_lookup_ifaddr_rcu(net, addr); in __ip_dev_find() 150 if (!ifa) { in __ip_dev_find() 164 result = ifa->ifa_dev->dev; in __ip_dev_find() 177 struct in_ifaddr *ifa; in inet_lookup_ifaddr_rcu() local [all …]
|
| H A D | icmp.c | 648 struct in_ifaddr *ifa; in icmp_ext_iio_addr4_find() local 657 in_dev_for_each_ifa_rcu(ifa, in_dev) { in icmp_ext_iio_addr4_find() 658 if (READ_ONCE(ifa->ifa_flags) & IFA_F_SECONDARY) in icmp_ext_iio_addr4_find() 660 if (ifa->ifa_scope != RT_SCOPE_UNIVERSE || in icmp_ext_iio_addr4_find() 661 ipv4_is_multicast(ifa->ifa_address)) in icmp_ext_iio_addr4_find() 663 return ifa->ifa_address; in icmp_ext_iio_addr4_find()
|
| /linux/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_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/net/ipv6/ |
| H A D | addrconf.c | 174 static void __ipv6_ifa_notify(int event, struct inet6_ifaddr *ifa); 175 static void ipv6_ifa_notify(int event, struct inet6_ifaddr *ifa); 808 struct inet6_ifaddr *ifa; in dev_forward_change() local 829 list_for_each_entry(ifa, &idev->addr_list, if_list) { in dev_forward_change() 830 if (ifa->flags&IFA_F_TENTATIVE) in dev_forward_change() 832 list_add_tail(&ifa->if_list_aux, &tmp_addr_list); in dev_forward_change() 837 ifa = list_first_entry(&tmp_addr_list, in dev_forward_change() 839 list_del(&ifa->if_list_aux); in dev_forward_change() 841 addrconf_join_anycast(ifa); in dev_forward_change() 843 addrconf_leave_anycast(ifa); in dev_forward_change() [all …]
|
| H A D | icmp.c | 482 struct inet6_ifaddr *ifa; in icmp6_ext_iio_addr6_find() local 491 list_for_each_entry_rcu(ifa, &in6_dev->addr_list, if_list) { in icmp6_ext_iio_addr6_find() 492 if (ifa->flags & (IFA_F_TENTATIVE | IFA_F_DADFAILED)) in icmp6_ext_iio_addr6_find() 494 if (ipv6_addr_type(&ifa->addr) != IPV6_ADDR_UNICAST || in icmp6_ext_iio_addr6_find() 495 ipv6_addr_src_scope(&ifa->addr) != IPV6_ADDR_SCOPE_GLOBAL) in icmp6_ext_iio_addr6_find() 497 return &ifa->addr; in icmp6_ext_iio_addr6_find()
|
| /linux/net/smc/ |
| H A D | smc_clc.c | 516 const struct in_ifaddr *ifa; in smc_clc_prfx_set4_rcu() local 521 in_dev_for_each_ifa_rcu(ifa, in_dev) { in smc_clc_prfx_set4_rcu() 522 if (!inet_ifa_match(ipv4, ifa)) in smc_clc_prfx_set4_rcu() 524 prop->prefix_len = inet_mask_len(ifa->ifa_mask); in smc_clc_prfx_set4_rcu() 525 prop->outgoing_subnet = ifa->ifa_address & ifa->ifa_mask; in smc_clc_prfx_set4_rcu() 539 struct inet6_ifaddr *ifa; in smc_clc_prfx_set6_rcu() local 545 list_for_each_entry(ifa, &in6_dev->addr_list, if_list) { in smc_clc_prfx_set6_rcu() 546 if (ipv6_addr_type(&ifa->addr) & IPV6_ADDR_LINKLOCAL) in smc_clc_prfx_set6_rcu() 549 &ifa->addr, ifa->prefix_len); in smc_clc_prfx_set6_rcu() 550 ipv6_prfx[cnt].prefix_len = ifa->prefix_len; in smc_clc_prfx_set6_rcu() [all …]
|
| /linux/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/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/fs/nfsd/ |
| H A D | nfssvc.c | 435 struct in_ifaddr *ifa = (struct in_ifaddr *)ptr; in nfsd_inetaddr_event() local 436 struct net_device *dev = ifa->ifa_dev->dev; in nfsd_inetaddr_event() 446 dprintk("nfsd_inetaddr_event: removed %pI4\n", &ifa->ifa_local); in nfsd_inetaddr_event() 448 sin.sin_addr.s_addr = ifa->ifa_local; in nfsd_inetaddr_event() 465 struct inet6_ifaddr *ifa = (struct inet6_ifaddr *)ptr; in nfsd_inet6addr_event() local 466 struct net_device *dev = ifa->idev->dev; in nfsd_inet6addr_event() 476 dprintk("nfsd_inet6addr_event: removed %pI6\n", &ifa->addr); in nfsd_inet6addr_event() 478 sin6.sin6_addr = ifa->addr; in nfsd_inet6addr_event() 480 sin6.sin6_scope_id = ifa->idev->dev->ifindex; in nfsd_inet6addr_event()
|
| /linux/net/appletalk/ |
| H A D | aarp.c | 708 struct atalk_iface *ifa; in aarp_rcv() local 737 ifa = atalk_find_dev(dev); in aarp_rcv() 738 if (!ifa) in aarp_rcv() 741 if (ifa->status & ATIF_PROBE && in aarp_rcv() 742 ifa->address.s_node == ea->pa_dst_node && in aarp_rcv() 743 ifa->address.s_net == ea->pa_dst_net) { in aarp_rcv() 744 ifa->status |= ATIF_PROBE_FAIL; /* Fail the probe (in use) */ in aarp_rcv() 803 ma = &ifa->address; in aarp_rcv()
|
| /linux/drivers/net/wireless/broadcom/brcm80211/brcmfmac/ |
| H A D | core.c | 1002 struct in_ifaddr *ifa = data; in brcmf_inetaddr_changed() local 1003 struct net_device *ndev = ifa->ifa_dev->dev; in brcmf_inetaddr_changed() 1039 if (ifa->ifa_address == addr_table[i]) in brcmf_inetaddr_changed() 1046 &ifa->ifa_address); in brcmf_inetaddr_changed() 1049 &ifa->ifa_address, sizeof(ifa->ifa_address)); in brcmf_inetaddr_changed() 1058 &ifa->ifa_address); in brcmf_inetaddr_changed() 1093 struct inet6_ifaddr *ifa = data; in brcmf_inet6addr_changed() local 1102 if (ifp->ndev != ifa->idev->dev) in brcmf_inet6addr_changed() 1107 if (ipv6_addr_equal(&ifa->addr, &table[i])) in brcmf_inet6addr_changed() 1114 table[ifp->ipv6addr_idx++] = ifa->addr; in brcmf_inet6addr_changed() [all …]
|
| /linux/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() 883 struct in_ifaddr *ifa = ptr; in inetaddr_event() local 886 in.sin_addr.s_addr = ifa->ifa_address; in inetaddr_event() 887 ndev = ifa->ifa_dev->dev; in inetaddr_event()
|
| /linux/net/mac80211/ |
| H A D | main.c | 565 struct in_ifaddr *ifa = arg; in ieee80211_ifa_changed() local 569 struct net_device *ndev = ifa->ifa_dev->dev; in ieee80211_ifa_changed() 617 ifa = rtnl_dereference(idev->ifa_list); in ieee80211_ifa_changed() 618 while (ifa) { in ieee80211_ifa_changed() 620 vif_cfg->arp_addr_list[c] = ifa->ifa_address; in ieee80211_ifa_changed() 621 ifa = rtnl_dereference(ifa->ifa_next); in ieee80211_ifa_changed() 641 struct inet6_ifaddr *ifa = (struct inet6_ifaddr *)arg; in ieee80211_ifa6_changed() local 642 struct inet6_dev *idev = ifa->idev; in ieee80211_ifa6_changed() 643 struct net_device *ndev = ifa->idev->dev; in ieee80211_ifa6_changed()
|
| /linux/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/net/core/ |
| H A D | netpoll.c | 684 const struct in_ifaddr *ifa; in netpoll_take_ipv4() local 694 ifa = rtnl_dereference(in_dev->ifa_list); in netpoll_take_ipv4() 695 if (!ifa) { in netpoll_take_ipv4() 701 np->local_ip.ip = ifa->ifa_local; in netpoll_take_ipv4()
|
| /linux/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() 3209 netxen_config_ipaddr(adapter, ifa->ifa_address, NX_IP_UP); in netxen_list_config_ip() 3215 if (cur->ip_addr == ifa->ifa_address) { in netxen_list_config_ip() 3218 netxen_config_ipaddr(adapter, 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() [all …]
|
| /linux/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/net/sctp/ |
| H A D | ipv6.c | 78 struct inet6_ifaddr *ifa = (struct inet6_ifaddr *)ptr; in sctp_inet6addr_event() local 81 struct net *net = dev_net(ifa->idev->dev); in sctp_inet6addr_event() 89 addr->a.v6.sin6_addr = ifa->addr; in sctp_inet6addr_event() 90 addr->a.v6.sin6_scope_id = ifa->idev->dev->ifindex; in sctp_inet6addr_event() 104 &ifa->addr) && in sctp_inet6addr_event() 105 addr->a.v6.sin6_scope_id == ifa->idev->dev->ifindex) { in sctp_inet6addr_event()
|
| H A D | protocol.c | 78 struct in_ifaddr *ifa; in sctp_v4_copy_addrlist() local 87 in_dev_for_each_ifa_rcu(ifa, in_dev) { in sctp_v4_copy_addrlist() 92 addr->a.v4.sin_addr.s_addr = ifa->ifa_local; in sctp_v4_copy_addrlist() 769 struct in_ifaddr *ifa = (struct in_ifaddr *)ptr; in sctp_inetaddr_event() local 772 struct net *net = dev_net(ifa->ifa_dev->dev); in sctp_inetaddr_event() 780 addr->a.v4.sin_addr.s_addr = ifa->ifa_local; in sctp_inetaddr_event() 794 ifa->ifa_local) { in sctp_inetaddr_event()
|
| /linux/drivers/net/ethernet/via/ |
| H A D | via-velocity.h | 1462 struct in_ifaddr *ifa; in velocity_get_ip() local 1468 ifa = rcu_dereference(in_dev->ifa_list); in velocity_get_ip() 1469 if (ifa != NULL) { in velocity_get_ip() 1470 memcpy(vptr->ip_addr, &ifa->ifa_address, 4); in velocity_get_ip()
|
| /linux/drivers/infiniband/hw/irdma/ |
| H A D | utils.c | 152 struct in_ifaddr *ifa = ptr; in irdma_inetaddr_event() local 153 struct net_device *real_dev, *netdev = ifa->ifa_dev->dev; in irdma_inetaddr_event() 167 local_ipaddr = ntohl(ifa->ifa_address); in irdma_inetaddr_event() 202 struct inet6_ifaddr *ifa = ptr; in irdma_inet6addr_event() local 203 struct net_device *real_dev, *netdev = ifa->idev->dev; in irdma_inet6addr_event() 217 irdma_copy_ip_ntohl(local_ipaddr6, ifa->addr.in6_u.u6_addr32); in irdma_inet6addr_event() 389 const struct in_ifaddr *ifa; in irdma_add_ipv4_addr() local 395 in_dev_for_each_ifa_rcu(ifa, idev) { in irdma_add_ipv4_addr() 397 &ifa->ifa_address, rdma_vlan_dev_vlan_id(dev), in irdma_add_ipv4_addr() 400 ip_addr = ntohl(ifa->ifa_address); in irdma_add_ipv4_addr()
|
| /linux/drivers/net/wireless/ath/wcn36xx/ |
| H A D | main.c | 1260 struct inet6_ifaddr *ifa; in wcn36xx_ipv6_addr_change() local 1266 list_for_each_entry(ifa, &idev->addr_list, if_list) { in wcn36xx_ipv6_addr_change() 1267 vif_priv->target_ipv6_addrs[idx] = ifa->addr; in wcn36xx_ipv6_addr_change() 1268 if (ifa->flags & IFA_F_TENTATIVE) in wcn36xx_ipv6_addr_change() 1273 wcn36xx_dbg(WCN36XX_DBG_MAC, "%pI6 %s\n", &ifa->addr, in wcn36xx_ipv6_addr_change() 1274 (ifa->flags & IFA_F_TENTATIVE) ? "tentative" : NULL); in wcn36xx_ipv6_addr_change()
|
| /linux/drivers/s390/net/ |
| H A D | qeth_l3_main.c | 2126 struct in_ifaddr *ifa = (struct in_ifaddr *)ptr; in qeth_l3_ip_event() local 2127 struct net_device *dev = ifa->ifa_dev->dev; in qeth_l3_ip_event() 2137 addr.u.a4.addr = ifa->ifa_address; in qeth_l3_ip_event() 2138 addr.u.a4.mask = ifa->ifa_mask; in qeth_l3_ip_event() 2151 struct inet6_ifaddr *ifa = (struct inet6_ifaddr *)ptr; in qeth_l3_ip6_event() local 2152 struct net_device *dev = ifa->idev->dev; in qeth_l3_ip6_event() 2178 ip_work->addr.u.a6.addr = ifa->addr; in qeth_l3_ip6_event() 2179 ip_work->addr.u.a6.pfxlen = ifa->prefix_len; in qeth_l3_ip6_event()
|