Lines Matching defs:ifa

193 	struct ifaddr *ifa;
198 CK_STAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) {
199 if (ifa->ifa_addr->sa_family != AF_INET)
201 ia = (struct in_ifaddr *)ifa;
243 * Returns ifa or NULL.
336 struct ifaddr *ifa;
391 CK_STAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) {
392 if (ifa->ifa_addr->sa_family != AF_INET)
394 ia = (struct in_ifaddr *)ifa;
398 if (ifa == NULL)
399 CK_STAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link)
400 if (ifa->ifa_addr->sa_family == AF_INET) {
401 ia = (struct in_ifaddr *)ifa;
407 if (ifa == NULL) {
482 struct ifaddr *ifa;
526 CK_STAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) {
529 if (ifa->ifa_addr->sa_family != AF_INET)
532 it = (struct in_ifaddr *)ifa;
544 ifa = ifa_alloc(sizeof(struct in_ifaddr), M_WAITOK);
545 ia = (struct in_ifaddr *)ifa;
546 ifa->ifa_addr = (struct sockaddr *)&ia->ia_addr;
547 ifa->ifa_dstaddr = (struct sockaddr *)&ia->ia_dstaddr;
548 ifa->ifa_netmask = (struct sockaddr *)&ia->ia_sockmask;
607 CK_STAILQ_INSERT_TAIL(&ifp->if_addrhead, ifa, ifa_link);
610 ifa_ref(ifa); /* in_ifaddrhead */
665 * Note: we don't need extra reference for ifa, since we called
669 EVENTHANDLER_INVOKE(ifaddr_event_ext, ifp, ifa, IFADDR_EVENT_ADD);
700 struct ifaddr *ifa;
720 CK_STAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) {
723 if (ifa->ifa_addr->sa_family != AF_INET)
726 it = (struct in_ifaddr *)ifa;
803 struct ifaddr *ifa;
818 CK_STAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) {
821 if (ifa->ifa_addr->sa_family != AF_INET)
824 it = (struct in_ifaddr *)ifa;
863 struct sockaddr_in *dst, struct sockaddr_in *netmask, struct ifaddr *ifa,
873 .sdl_type = ifa->ifa_ifp->if_type,
874 .sdl_index = ifa->ifa_ifp->if_index,
878 .rti_ifa = ifa,
886 /* Ensure we delete the prefix IFF prefix ifa matches */
888 .rti_filterdata = ifa,
899 * behind the ifa prefix are reached directly.
900 * b) "loopback" route installed for the ifa address, telling user that
992 * Adds or delete interface "prefix" route corresponding to @ifa.
998 struct ifaddr *ifa = &ia->ia_ifa;
1028 uint32_t fibnum = ifa->ifa_ifp->if_fib;
1030 error = in_handle_prefix_route(fibnum, cmd, &dst, pmask, ifa, ifp);
1245 struct ifaddr *ifa, *nifa;
1252 CK_STAILQ_FOREACH_SAFE(ifa, &ifp->if_addrhead, ifa_link, nifa) {
1253 if (ifa->ifa_addr->sa_family != AF_INET)
1261 ifr.ifr_addr = *ifa->ifa_addr;
1297 struct ifaddr *ifa;
1312 CK_STAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link)
1313 if (ifa->ifa_addr->sa_family == AF_INET &&
1314 in_ifaddr_broadcast(in, (struct in_ifaddr *)ifa)) {
1346 struct ifaddr *ifa;
1353 CK_STAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) {
1354 if (ifa->ifa_addr->sa_family != AF_INET)
1356 ia = (struct in_ifaddr *)ifa;
1359 ifa_ref(ifa);
1370 in_ifadown(ifa, 0);
1371 ifa_free(ifa);
1376 CK_STAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) {
1377 if (ifa->ifa_addr->sa_family != AF_INET)
1379 ia = (struct in_ifaddr *)ifa;
1382 ifa_ref(ifa);
1383 error = ifa_del_loopback_route(ifa, ifa->ifa_addr);
1384 rt_addrmsg(RTM_ADD, ifa, ifa->ifa_ifp->if_fib);
1388 error = ifa_add_loopback_route(ifa, ifa->ifa_addr);
1389 ifa_free(ifa);
1593 * It is possible that ifa prefix does not cover our address.