Lines Matching refs:ifa
116 sctp_gather_internal_ifa_flags(struct sctp_ifa *ifa) in sctp_gather_internal_ifa_flags() argument
120 ifa6 = (struct in6_ifaddr *)ifa->ifa; in sctp_gather_internal_ifa_flags()
121 ifa->flags = ifa6->ia6_flags; in sctp_gather_internal_ifa_flags()
123 if (ifa->flags & in sctp_gather_internal_ifa_flags()
125 ifa->localifa_flags |= SCTP_ADDR_IFA_UNUSEABLE; in sctp_gather_internal_ifa_flags()
127 ifa->localifa_flags &= ~SCTP_ADDR_IFA_UNUSEABLE; in sctp_gather_internal_ifa_flags()
130 ifa->localifa_flags &= ~SCTP_ADDR_IFA_UNUSEABLE; in sctp_gather_internal_ifa_flags()
132 if (ifa->flags & in sctp_gather_internal_ifa_flags()
136 ifa->localifa_flags |= SCTP_ADDR_IFA_UNUSEABLE; in sctp_gather_internal_ifa_flags()
138 ifa->localifa_flags &= ~SCTP_ADDR_IFA_UNUSEABLE; in sctp_gather_internal_ifa_flags()
195 struct ifaddr *ifa; in sctp_init_ifns_for_vrf() local
209 CK_STAILQ_FOREACH(ifa, &ifn->if_addrhead, ifa_link) { in sctp_init_ifns_for_vrf()
210 if (ifa->ifa_addr == NULL) { in sctp_init_ifns_for_vrf()
213 switch (ifa->ifa_addr->sa_family) { in sctp_init_ifns_for_vrf()
216 if (((struct sockaddr_in *)ifa->ifa_addr)->sin_addr.s_addr == 0) { in sctp_init_ifns_for_vrf()
223 if (IN6_IS_ADDR_UNSPECIFIED(&((struct sockaddr_in6 *)ifa->ifa_addr)->sin6_addr)) { in sctp_init_ifns_for_vrf()
232 switch (ifa->ifa_addr->sa_family) { in sctp_init_ifns_for_vrf()
240 ifa6 = (struct in6_ifaddr *)ifa; in sctp_init_ifns_for_vrf()
253 (void *)ifa, in sctp_init_ifns_for_vrf()
254 ifa->ifa_addr, in sctp_init_ifns_for_vrf()
284 sctp_addr_change(struct ifaddr *ifa, int cmd) in sctp_addr_change() argument
307 if (ifa->ifa_addr == NULL) { in sctp_addr_change()
310 if (sctp_is_desired_interface_type(ifa->ifa_ifp) == 0) { in sctp_addr_change()
314 switch (ifa->ifa_addr->sa_family) { in sctp_addr_change()
317 if (((struct sockaddr_in *)ifa->ifa_addr)->sin_addr.s_addr == 0) { in sctp_addr_change()
324 ifa_flags = ((struct in6_ifaddr *)ifa)->ia6_flags; in sctp_addr_change()
325 if (IN6_IS_ADDR_UNSPECIFIED(&((struct sockaddr_in6 *)ifa->ifa_addr)->sin6_addr)) { in sctp_addr_change()
336 (void)sctp_add_addr_to_vrf(SCTP_DEFAULT_VRFID, (void *)ifa->ifa_ifp, in sctp_addr_change()
337 ifa->ifa_ifp->if_index, ifa->ifa_ifp->if_type, ifa->ifa_ifp->if_xname, in sctp_addr_change()
338 (void *)ifa, ifa->ifa_addr, ifa_flags, 1); in sctp_addr_change()
340 sctp_del_addr_from_vrf(SCTP_DEFAULT_VRFID, ifa->ifa_addr, in sctp_addr_change()
341 (void *)ifa->ifa_ifp, in sctp_addr_change()
342 ifa->ifa_ifp->if_index); in sctp_addr_change()
352 sctp_addr_change_event_handler(void *arg __unused, struct ifaddr *ifa, int cmd) in sctp_addr_change_event_handler() argument
354 sctp_addr_change(ifa, cmd); in sctp_addr_change_event_handler()