Lines Matching refs:ifa
120 struct ifa { struct
121 struct ifa *next; argument
128 struct ifa *ifa; argument
239 struct ifa *ifa = snl_allocz(ss, sizeof(*ifa)); in prepare_ifaddrs() local
241 if (!snl_parse_nlmsg(ss, hdr, &snl_rtm_addr_parser, &ifa->addr)) in prepare_ifaddrs()
244 const uint32_t ifindex = ifa->addr.ifa_index; in prepare_ifaddrs()
248 ifa->next = iface->ifa; in prepare_ifaddrs()
249 ifa->idx = ++count; in prepare_ifaddrs()
250 iface->ifa = ifa; in prepare_ifaddrs()
291 for (struct ifa *ifa = iface->ifa; ifa != NULL; ifa = ifa->next) { in match_iface() local
292 if (args->afp->af_af == ifa->addr.ifa_family) in match_iface()
312 const struct ifa *a = *((const void * const *)_a); in cmp_ifaddr()
313 const struct ifa *b = *((const void * const *)_b); in cmp_ifaddr()
326 struct ifa **sorted_ifaddrs = snl_allocz(ss, iface->ifa_count * sizeof(void *)); in sort_iface_ifaddrs()
327 struct ifa *ifa = iface->ifa; in sort_iface_ifaddrs() local
330 struct ifa *ifa_next = ifa->next; in sort_iface_ifaddrs()
332 sorted_ifaddrs[i] = ifa; in sort_iface_ifaddrs()
333 ifa->next = NULL; in sort_iface_ifaddrs()
334 ifa = ifa_next; in sort_iface_ifaddrs()
337 ifa = sorted_ifaddrs[0]; in sort_iface_ifaddrs()
338 iface->ifa = ifa; in sort_iface_ifaddrs()
340 ifa->next = sorted_ifaddrs[i]; in sort_iface_ifaddrs()
341 ifa = sorted_ifaddrs[i]; in sort_iface_ifaddrs()
397 for (struct ifa *ifa = iface->ifa; ifa != NULL; ifa = ifa->next) { in status_nl() local
399 const struct afswtch *p = af_getbyfamily(ifa->addr.ifa_family); in status_nl()
402 p->af_status(ctx, link, &ifa->addr); in status_nl()
403 } else if (args->afp->af_af == ifa->addr.ifa_family) { in status_nl()
406 p->af_status(ctx, link, &ifa->addr); in status_nl()