Lines Matching refs:ifa
117 static void inet_hash_insert(struct net *net, struct in_ifaddr *ifa) in inet_hash_insert() argument
119 u32 hash = inet_addr_hash(net, ifa->ifa_local); in inet_hash_insert()
122 hlist_add_head_rcu(&ifa->hash, &inet_addr_lst[hash]); in inet_hash_insert()
125 static void inet_hash_remove(struct in_ifaddr *ifa) in inet_hash_remove() argument
128 hlist_del_init_rcu(&ifa->hash); in inet_hash_remove()
143 struct in_ifaddr *ifa; in __ip_dev_find() local
146 hlist_for_each_entry_rcu(ifa, &inet_addr_lst[hash], hash) { in __ip_dev_find()
147 if (ifa->ifa_local == addr) { in __ip_dev_find()
148 struct net_device *dev = ifa->ifa_dev->dev; in __ip_dev_find()
204 struct in_ifaddr *ifa = container_of(head, struct in_ifaddr, rcu_head); in inet_rcu_free_ifa() local
205 if (ifa->ifa_dev) in inet_rcu_free_ifa()
206 in_dev_put(ifa->ifa_dev); in inet_rcu_free_ifa()
207 kfree(ifa); in inet_rcu_free_ifa()
210 static void inet_free_ifa(struct in_ifaddr *ifa) in inet_free_ifa() argument
212 call_rcu(&ifa->rcu_head, inet_rcu_free_ifa); in inet_free_ifa()
286 struct in_ifaddr *ifa; in inetdev_destroy() local
297 while ((ifa = in_dev->ifa_list) != NULL) { in inetdev_destroy()
299 inet_free_ifa(ifa); in inetdev_destroy()
315 if (inet_ifa_match(a, ifa)) { in inet_addr_onlink()
316 if (!b || inet_ifa_match(b, ifa)) { in inet_addr_onlink()
330 struct in_ifaddr *ifa, *ifa1 = *ifap; in __inet_del_ifa() local
344 while ((ifa = *ifap1) != NULL) { in __inet_del_ifa()
345 if (!(ifa->ifa_flags & IFA_F_SECONDARY) && in __inet_del_ifa()
346 ifa1->ifa_scope <= ifa->ifa_scope) in __inet_del_ifa()
347 last_prim = ifa; in __inet_del_ifa()
349 if (!(ifa->ifa_flags & IFA_F_SECONDARY) || in __inet_del_ifa()
350 ifa1->ifa_mask != ifa->ifa_mask || in __inet_del_ifa()
351 !inet_ifa_match(ifa1->ifa_address, ifa)) { in __inet_del_ifa()
352 ifap1 = &ifa->ifa_next; in __inet_del_ifa()
353 prev_prom = ifa; in __inet_del_ifa()
358 inet_hash_remove(ifa); in __inet_del_ifa()
359 *ifap1 = ifa->ifa_next; in __inet_del_ifa()
361 rtmsg_ifa(RTM_DELADDR, ifa, nlh, portid); in __inet_del_ifa()
363 NETDEV_DOWN, ifa); in __inet_del_ifa()
364 inet_free_ifa(ifa); in __inet_del_ifa()
366 promote = ifa; in __inet_del_ifa()
377 for (ifa = promote; ifa; ifa = ifa->ifa_next) { in __inet_del_ifa()
378 if (ifa1->ifa_mask == ifa->ifa_mask && in __inet_del_ifa()
379 inet_ifa_match(ifa1->ifa_address, ifa)) in __inet_del_ifa()
380 fib_del_ifaddr(ifa, ifa1); in __inet_del_ifa()
414 for (ifa = next_sec; ifa; ifa = ifa->ifa_next) { in __inet_del_ifa()
415 if (ifa1->ifa_mask != ifa->ifa_mask || in __inet_del_ifa()
416 !inet_ifa_match(ifa1->ifa_address, ifa)) in __inet_del_ifa()
418 fib_add_ifaddr(ifa); in __inet_del_ifa()
436 static int __inet_insert_ifa(struct in_ifaddr *ifa, struct nlmsghdr *nlh, in __inet_insert_ifa() argument
439 struct in_device *in_dev = ifa->ifa_dev; in __inet_insert_ifa()
444 if (!ifa->ifa_local) { in __inet_insert_ifa()
445 inet_free_ifa(ifa); in __inet_insert_ifa()
449 ifa->ifa_flags &= ~IFA_F_SECONDARY; in __inet_insert_ifa()
455 ifa->ifa_scope <= ifa1->ifa_scope) in __inet_insert_ifa()
457 if (ifa1->ifa_mask == ifa->ifa_mask && in __inet_insert_ifa()
458 inet_ifa_match(ifa1->ifa_address, ifa)) { in __inet_insert_ifa()
459 if (ifa1->ifa_local == ifa->ifa_local) { in __inet_insert_ifa()
460 inet_free_ifa(ifa); in __inet_insert_ifa()
463 if (ifa1->ifa_scope != ifa->ifa_scope) { in __inet_insert_ifa()
464 inet_free_ifa(ifa); in __inet_insert_ifa()
467 ifa->ifa_flags |= IFA_F_SECONDARY; in __inet_insert_ifa()
471 if (!(ifa->ifa_flags & IFA_F_SECONDARY)) { in __inet_insert_ifa()
472 prandom_seed((__force u32) ifa->ifa_local); in __inet_insert_ifa()
476 ifa->ifa_next = *ifap; in __inet_insert_ifa()
477 *ifap = ifa; in __inet_insert_ifa()
479 inet_hash_insert(dev_net(in_dev->dev), ifa); in __inet_insert_ifa()
487 rtmsg_ifa(RTM_NEWADDR, ifa, nlh, portid); in __inet_insert_ifa()
488 blocking_notifier_call_chain(&inetaddr_chain, NETDEV_UP, ifa); in __inet_insert_ifa()
493 static int inet_insert_ifa(struct in_ifaddr *ifa) in inet_insert_ifa() argument
495 return __inet_insert_ifa(ifa, NULL, 0); in inet_insert_ifa()
498 static int inet_set_ifa(struct net_device *dev, struct in_ifaddr *ifa) in inet_set_ifa() argument
505 inet_free_ifa(ifa); in inet_set_ifa()
510 if (ifa->ifa_dev != in_dev) { in inet_set_ifa()
511 WARN_ON(ifa->ifa_dev); in inet_set_ifa()
513 ifa->ifa_dev = in_dev; in inet_set_ifa()
515 if (ipv4_is_loopback(ifa->ifa_local)) in inet_set_ifa()
516 ifa->ifa_scope = RT_SCOPE_HOST; in inet_set_ifa()
517 return inet_insert_ifa(ifa); in inet_set_ifa()
545 if (ifa->ifa_mask == mask && inet_ifa_match(prefix, ifa)) in inet_ifa_byprefix()
546 return ifa; in inet_ifa_byprefix()
551 static int ip_mc_config(struct sock *sk, bool join, const struct in_ifaddr *ifa) in ip_mc_config() argument
554 .imr_multiaddr.s_addr = ifa->ifa_address, in ip_mc_config()
555 .imr_ifindex = ifa->ifa_dev->dev->ifindex, in ip_mc_config()
577 struct in_ifaddr *ifa, **ifap; in inet_rtm_deladdr() local
593 for (ifap = &in_dev->ifa_list; (ifa = *ifap) != NULL; in inet_rtm_deladdr()
594 ifap = &ifa->ifa_next) { in inet_rtm_deladdr()
596 ifa->ifa_local != nla_get_in_addr(tb[IFA_LOCAL])) in inet_rtm_deladdr()
599 if (tb[IFA_LABEL] && nla_strcmp(tb[IFA_LABEL], ifa->ifa_label)) in inet_rtm_deladdr()
603 (ifm->ifa_prefixlen != ifa->ifa_prefixlen || in inet_rtm_deladdr()
604 !inet_ifa_match(nla_get_in_addr(tb[IFA_ADDRESS]), ifa))) in inet_rtm_deladdr()
607 if (ipv4_is_multicast(ifa->ifa_address)) in inet_rtm_deladdr()
608 ip_mc_config(net->ipv4.mc_autojoin_sk, false, ifa); in inet_rtm_deladdr()
623 struct in_ifaddr *ifa; in check_lifetime() local
634 hlist_for_each_entry_rcu(ifa, &inet_addr_lst[i], hash) { in check_lifetime()
637 if (ifa->ifa_flags & IFA_F_PERMANENT) in check_lifetime()
641 age = (now - ifa->ifa_tstamp + in check_lifetime()
644 if (ifa->ifa_valid_lft != INFINITY_LIFE_TIME && in check_lifetime()
645 age >= ifa->ifa_valid_lft) { in check_lifetime()
647 } else if (ifa->ifa_preferred_lft == in check_lifetime()
650 } else if (age >= ifa->ifa_preferred_lft) { in check_lifetime()
651 if (time_before(ifa->ifa_tstamp + in check_lifetime()
652 ifa->ifa_valid_lft * HZ, next)) in check_lifetime()
653 next = ifa->ifa_tstamp + in check_lifetime()
654 ifa->ifa_valid_lft * HZ; in check_lifetime()
656 if (!(ifa->ifa_flags & IFA_F_DEPRECATED)) in check_lifetime()
658 } else if (time_before(ifa->ifa_tstamp + in check_lifetime()
659 ifa->ifa_preferred_lft * HZ, in check_lifetime()
661 next = ifa->ifa_tstamp + in check_lifetime()
662 ifa->ifa_preferred_lft * HZ; in check_lifetime()
669 hlist_for_each_entry_safe(ifa, n, &inet_addr_lst[i], hash) { in check_lifetime()
672 if (ifa->ifa_flags & IFA_F_PERMANENT) in check_lifetime()
676 age = (now - ifa->ifa_tstamp + in check_lifetime()
679 if (ifa->ifa_valid_lft != INFINITY_LIFE_TIME && in check_lifetime()
680 age >= ifa->ifa_valid_lft) { in check_lifetime()
683 for (ifap = &ifa->ifa_dev->ifa_list; in check_lifetime()
685 if (*ifap == ifa) { in check_lifetime()
686 inet_del_ifa(ifa->ifa_dev, in check_lifetime()
691 } else if (ifa->ifa_preferred_lft != in check_lifetime()
693 age >= ifa->ifa_preferred_lft && in check_lifetime()
694 !(ifa->ifa_flags & IFA_F_DEPRECATED)) { in check_lifetime()
695 ifa->ifa_flags |= IFA_F_DEPRECATED; in check_lifetime()
696 rtmsg_ifa(RTM_NEWADDR, ifa, NULL, 0); in check_lifetime()
718 static void set_ifa_lifetime(struct in_ifaddr *ifa, __u32 valid_lft, in set_ifa_lifetime() argument
723 ifa->ifa_flags &= ~(IFA_F_PERMANENT | IFA_F_DEPRECATED); in set_ifa_lifetime()
727 ifa->ifa_valid_lft = timeout; in set_ifa_lifetime()
729 ifa->ifa_flags |= IFA_F_PERMANENT; in set_ifa_lifetime()
734 ifa->ifa_flags |= IFA_F_DEPRECATED; in set_ifa_lifetime()
735 ifa->ifa_preferred_lft = timeout; in set_ifa_lifetime()
737 ifa->ifa_tstamp = jiffies; in set_ifa_lifetime()
738 if (!ifa->ifa_cstamp) in set_ifa_lifetime()
739 ifa->ifa_cstamp = ifa->ifa_tstamp; in set_ifa_lifetime()
746 struct in_ifaddr *ifa; in rtm_to_ifaddr() local
771 ifa = inet_alloc_ifa(); in rtm_to_ifaddr()
772 if (!ifa) in rtm_to_ifaddr()
786 INIT_HLIST_NODE(&ifa->hash); in rtm_to_ifaddr()
787 ifa->ifa_prefixlen = ifm->ifa_prefixlen; in rtm_to_ifaddr()
788 ifa->ifa_mask = inet_make_mask(ifm->ifa_prefixlen); in rtm_to_ifaddr()
789 ifa->ifa_flags = tb[IFA_FLAGS] ? nla_get_u32(tb[IFA_FLAGS]) : in rtm_to_ifaddr()
791 ifa->ifa_scope = ifm->ifa_scope; in rtm_to_ifaddr()
792 ifa->ifa_dev = in_dev; in rtm_to_ifaddr()
794 ifa->ifa_local = nla_get_in_addr(tb[IFA_LOCAL]); in rtm_to_ifaddr()
795 ifa->ifa_address = nla_get_in_addr(tb[IFA_ADDRESS]); in rtm_to_ifaddr()
798 ifa->ifa_broadcast = nla_get_in_addr(tb[IFA_BROADCAST]); in rtm_to_ifaddr()
801 nla_strlcpy(ifa->ifa_label, tb[IFA_LABEL], IFNAMSIZ); in rtm_to_ifaddr()
803 memcpy(ifa->ifa_label, dev->name, IFNAMSIZ); in rtm_to_ifaddr()
817 return ifa; in rtm_to_ifaddr()
820 inet_free_ifa(ifa); in rtm_to_ifaddr()
825 static struct in_ifaddr *find_matching_ifa(struct in_ifaddr *ifa) in find_matching_ifa() argument
827 struct in_device *in_dev = ifa->ifa_dev; in find_matching_ifa()
830 if (!ifa->ifa_local) in find_matching_ifa()
835 if (ifa1->ifa_mask == ifa->ifa_mask && in find_matching_ifa()
836 inet_ifa_match(ifa1->ifa_address, ifa) && in find_matching_ifa()
837 ifa1->ifa_local == ifa->ifa_local) in find_matching_ifa()
846 struct in_ifaddr *ifa; in inet_rtm_newaddr() local
853 ifa = rtm_to_ifaddr(net, nlh, &valid_lft, &prefered_lft); in inet_rtm_newaddr()
854 if (IS_ERR(ifa)) in inet_rtm_newaddr()
855 return PTR_ERR(ifa); in inet_rtm_newaddr()
857 ifa_existing = find_matching_ifa(ifa); in inet_rtm_newaddr()
862 set_ifa_lifetime(ifa, valid_lft, prefered_lft); in inet_rtm_newaddr()
863 if (ifa->ifa_flags & IFA_F_MCAUTOJOIN) { in inet_rtm_newaddr()
865 true, ifa); in inet_rtm_newaddr()
868 inet_free_ifa(ifa); in inet_rtm_newaddr()
872 return __inet_insert_ifa(ifa, nlh, NETLINK_CB(skb).portid); in inet_rtm_newaddr()
874 inet_free_ifa(ifa); in inet_rtm_newaddr()
879 ifa = ifa_existing; in inet_rtm_newaddr()
880 set_ifa_lifetime(ifa, valid_lft, prefered_lft); in inet_rtm_newaddr()
884 rtmsg_ifa(RTM_NEWADDR, ifa, nlh, NETLINK_CB(skb).portid); in inet_rtm_newaddr()
885 blocking_notifier_call_chain(&inetaddr_chain, NETDEV_UP, ifa); in inet_rtm_newaddr()
922 struct in_ifaddr *ifa = NULL; in devinet_ioctl() local
998 for (ifap = &in_dev->ifa_list; (ifa = *ifap) != NULL; in devinet_ioctl()
999 ifap = &ifa->ifa_next) { in devinet_ioctl()
1000 if (!strcmp(ifr.ifr_name, ifa->ifa_label) && in devinet_ioctl()
1002 ifa->ifa_local) { in devinet_ioctl()
1010 if (!ifa) { in devinet_ioctl()
1011 for (ifap = &in_dev->ifa_list; (ifa = *ifap) != NULL; in devinet_ioctl()
1012 ifap = &ifa->ifa_next) in devinet_ioctl()
1013 if (!strcmp(ifr.ifr_name, ifa->ifa_label)) in devinet_ioctl()
1019 if (!ifa && cmd != SIOCSIFADDR && cmd != SIOCSIFFLAGS) in devinet_ioctl()
1024 sin->sin_addr.s_addr = ifa->ifa_local; in devinet_ioctl()
1028 sin->sin_addr.s_addr = ifa->ifa_broadcast; in devinet_ioctl()
1032 sin->sin_addr.s_addr = ifa->ifa_address; in devinet_ioctl()
1036 sin->sin_addr.s_addr = ifa->ifa_mask; in devinet_ioctl()
1042 if (!ifa) in devinet_ioctl()
1057 if (!ifa) { in devinet_ioctl()
1059 ifa = inet_alloc_ifa(); in devinet_ioctl()
1060 if (!ifa) in devinet_ioctl()
1062 INIT_HLIST_NODE(&ifa->hash); in devinet_ioctl()
1064 memcpy(ifa->ifa_label, ifr.ifr_name, IFNAMSIZ); in devinet_ioctl()
1066 memcpy(ifa->ifa_label, dev->name, IFNAMSIZ); in devinet_ioctl()
1069 if (ifa->ifa_local == sin->sin_addr.s_addr) in devinet_ioctl()
1072 ifa->ifa_broadcast = 0; in devinet_ioctl()
1073 ifa->ifa_scope = 0; in devinet_ioctl()
1076 ifa->ifa_address = ifa->ifa_local = sin->sin_addr.s_addr; in devinet_ioctl()
1079 ifa->ifa_prefixlen = inet_abc_len(ifa->ifa_address); in devinet_ioctl()
1080 ifa->ifa_mask = inet_make_mask(ifa->ifa_prefixlen); in devinet_ioctl()
1082 ifa->ifa_prefixlen < 31) in devinet_ioctl()
1083 ifa->ifa_broadcast = ifa->ifa_address | in devinet_ioctl()
1084 ~ifa->ifa_mask; in devinet_ioctl()
1086 ifa->ifa_prefixlen = 32; in devinet_ioctl()
1087 ifa->ifa_mask = inet_make_mask(32); in devinet_ioctl()
1089 set_ifa_lifetime(ifa, INFINITY_LIFE_TIME, INFINITY_LIFE_TIME); in devinet_ioctl()
1090 ret = inet_set_ifa(dev, ifa); in devinet_ioctl()
1095 if (ifa->ifa_broadcast != sin->sin_addr.s_addr) { in devinet_ioctl()
1097 ifa->ifa_broadcast = sin->sin_addr.s_addr; in devinet_ioctl()
1098 inet_insert_ifa(ifa); in devinet_ioctl()
1104 if (ifa->ifa_address == sin->sin_addr.s_addr) in devinet_ioctl()
1111 ifa->ifa_address = sin->sin_addr.s_addr; in devinet_ioctl()
1112 inet_insert_ifa(ifa); in devinet_ioctl()
1124 if (ifa->ifa_mask != sin->sin_addr.s_addr) { in devinet_ioctl()
1125 __be32 old_mask = ifa->ifa_mask; in devinet_ioctl()
1127 ifa->ifa_mask = sin->sin_addr.s_addr; in devinet_ioctl()
1128 ifa->ifa_prefixlen = inet_mask_len(ifa->ifa_mask); in devinet_ioctl()
1137 (ifa->ifa_prefixlen < 31) && in devinet_ioctl()
1138 (ifa->ifa_broadcast == in devinet_ioctl()
1139 (ifa->ifa_local|~old_mask))) { in devinet_ioctl()
1140 ifa->ifa_broadcast = (ifa->ifa_local | in devinet_ioctl()
1143 inet_insert_ifa(ifa); in devinet_ioctl()
1160 struct in_ifaddr *ifa; in inet_gifconf() local
1167 for (ifa = in_dev->ifa_list; ifa; ifa = ifa->ifa_next) { in inet_gifconf()
1175 strcpy(ifr.ifr_name, ifa->ifa_label); in inet_gifconf()
1179 ifa->ifa_local; in inet_gifconf()
1205 if (ifa->ifa_scope > scope) in inet_select_addr()
1207 if (!dst || inet_ifa_match(dst, ifa)) { in inet_select_addr()
1208 addr = ifa->ifa_local; in inet_select_addr()
1212 addr = ifa->ifa_local; in inet_select_addr()
1229 if (ifa->ifa_scope != RT_SCOPE_LINK && in inet_select_addr()
1230 ifa->ifa_scope <= scope) { in inet_select_addr()
1231 addr = ifa->ifa_local; in inet_select_addr()
1250 (local == ifa->ifa_local || !local) && in confirm_addr_indev()
1251 ifa->ifa_scope <= scope) { in confirm_addr_indev()
1252 addr = ifa->ifa_local; in confirm_addr_indev()
1257 same = (!local || inet_ifa_match(local, ifa)) && in confirm_addr_indev()
1258 (!dst || inet_ifa_match(dst, ifa)); in confirm_addr_indev()
1263 if (inet_ifa_match(addr, ifa)) in confirm_addr_indev()
1266 if (ifa->ifa_scope <= scope) { in confirm_addr_indev()
1267 addr = ifa->ifa_local; in confirm_addr_indev()
1332 struct in_ifaddr *ifa; in inetdev_changename() local
1335 for (ifa = in_dev->ifa_list; ifa; ifa = ifa->ifa_next) { in inetdev_changename()
1338 memcpy(old, ifa->ifa_label, IFNAMSIZ); in inetdev_changename()
1339 memcpy(ifa->ifa_label, dev->name, IFNAMSIZ); in inetdev_changename()
1348 strcat(ifa->ifa_label, dot); in inetdev_changename()
1350 strcpy(ifa->ifa_label + (IFNAMSIZ - strlen(dot) - 1), dot); in inetdev_changename()
1352 rtmsg_ifa(RTM_NEWADDR, ifa, NULL, 0); in inetdev_changename()
1365 struct in_ifaddr *ifa; in inetdev_send_gratuitous_arp() local
1367 for (ifa = in_dev->ifa_list; ifa; in inetdev_send_gratuitous_arp()
1368 ifa = ifa->ifa_next) { in inetdev_send_gratuitous_arp()
1370 ifa->ifa_local, dev, in inetdev_send_gratuitous_arp()
1371 ifa->ifa_local, NULL, in inetdev_send_gratuitous_arp()
1412 struct in_ifaddr *ifa = inet_alloc_ifa(); in inetdev_event() local
1414 if (ifa) { in inetdev_event()
1415 INIT_HLIST_NODE(&ifa->hash); in inetdev_event()
1416 ifa->ifa_local = in inetdev_event()
1417 ifa->ifa_address = htonl(INADDR_LOOPBACK); in inetdev_event()
1418 ifa->ifa_prefixlen = 8; in inetdev_event()
1419 ifa->ifa_mask = inet_make_mask(8); in inetdev_event()
1421 ifa->ifa_dev = in_dev; in inetdev_event()
1422 ifa->ifa_scope = RT_SCOPE_HOST; in inetdev_event()
1423 memcpy(ifa->ifa_label, dev->name, IFNAMSIZ); in inetdev_event()
1424 set_ifa_lifetime(ifa, INFINITY_LIFE_TIME, in inetdev_event()
1428 inet_insert_ifa(ifa); in inetdev_event()
1504 static int inet_fill_ifaddr(struct sk_buff *skb, struct in_ifaddr *ifa, in inet_fill_ifaddr() argument
1517 ifm->ifa_prefixlen = ifa->ifa_prefixlen; in inet_fill_ifaddr()
1518 ifm->ifa_flags = ifa->ifa_flags; in inet_fill_ifaddr()
1519 ifm->ifa_scope = ifa->ifa_scope; in inet_fill_ifaddr()
1520 ifm->ifa_index = ifa->ifa_dev->dev->ifindex; in inet_fill_ifaddr()
1523 preferred = ifa->ifa_preferred_lft; in inet_fill_ifaddr()
1524 valid = ifa->ifa_valid_lft; in inet_fill_ifaddr()
1526 long tval = (jiffies - ifa->ifa_tstamp) / HZ; in inet_fill_ifaddr()
1543 if ((ifa->ifa_address && in inet_fill_ifaddr()
1544 nla_put_in_addr(skb, IFA_ADDRESS, ifa->ifa_address)) || in inet_fill_ifaddr()
1545 (ifa->ifa_local && in inet_fill_ifaddr()
1546 nla_put_in_addr(skb, IFA_LOCAL, ifa->ifa_local)) || in inet_fill_ifaddr()
1547 (ifa->ifa_broadcast && in inet_fill_ifaddr()
1548 nla_put_in_addr(skb, IFA_BROADCAST, ifa->ifa_broadcast)) || in inet_fill_ifaddr()
1549 (ifa->ifa_label[0] && in inet_fill_ifaddr()
1550 nla_put_string(skb, IFA_LABEL, ifa->ifa_label)) || in inet_fill_ifaddr()
1551 nla_put_u32(skb, IFA_FLAGS, ifa->ifa_flags) || in inet_fill_ifaddr()
1552 put_cacheinfo(skb, ifa->ifa_cstamp, ifa->ifa_tstamp, in inet_fill_ifaddr()
1572 struct in_ifaddr *ifa; in inet_dump_ifaddr() local
1594 for (ifa = in_dev->ifa_list, ip_idx = 0; ifa; in inet_dump_ifaddr()
1595 ifa = ifa->ifa_next, ip_idx++) { in inet_dump_ifaddr()
1598 if (inet_fill_ifaddr(skb, ifa, in inet_dump_ifaddr()
1621 static void rtmsg_ifa(int event, struct in_ifaddr *ifa, struct nlmsghdr *nlh, in rtmsg_ifa() argument
1629 net = dev_net(ifa->ifa_dev->dev); in rtmsg_ifa()
1634 err = inet_fill_ifaddr(skb, ifa, portid, seq, event, 0); in rtmsg_ifa()