Lines Matching defs:ifa

70 MALLOC_DEFINE(SCTP_M_IFA, "sctp_ifa", "sctp ifa struct");
216 sctp_gather_internal_ifa_flags(struct sctp_ifa *ifa)
222 sctp_gather_internal_ifa_flags(struct sctp_ifa *ifa)
226 ifa6 = (struct in6_ifaddr *)ifa->ifa;
227 ifa->flags = ifa6->ia6_flags;
229 if (ifa->flags &
231 ifa->localifa_flags |= SCTP_ADDR_IFA_UNUSEABLE;
233 ifa->localifa_flags &= ~SCTP_ADDR_IFA_UNUSEABLE;
236 ifa->localifa_flags &= ~SCTP_ADDR_IFA_UNUSEABLE;
238 if (ifa->flags &
242 ifa->localifa_flags |= SCTP_ADDR_IFA_UNUSEABLE;
244 ifa->localifa_flags &= ~SCTP_ADDR_IFA_UNUSEABLE;
322 struct ifaddrs *ifa;
357 ifa = (struct ifaddrs*)malloc(sizeof(struct ifaddrs));
358 ifa->ifa_name = strdup(pAdapt->AdapterName);
359 ifa->ifa_flags = pAdapt->Flags;
360 ifa->ifa_addr = (struct sockaddr *)malloc(sizeof(struct sockaddr_in));
361 memcpy(ifa->ifa_addr, pUnicast->Address.lpSockaddr, sizeof(struct sockaddr_in));
364 ifa,
367 ifa->ifa_name,
368 (void *)ifa,
369 ifa->ifa_addr,
370 ifa->ifa_flags,
405 ifa = (struct ifaddrs*)malloc(sizeof(struct ifaddrs));
406 ifa->ifa_name = strdup(pAdapt->AdapterName);
407 ifa->ifa_flags = pAdapt->Flags;
408 ifa->ifa_addr = (struct sockaddr *)malloc(sizeof(struct sockaddr_in6));
409 memcpy(ifa->ifa_addr, pUnicast->Address.lpSockaddr, sizeof(struct sockaddr_in6));
411 ifa,
414 ifa->ifa_name,
415 (void *)ifa,
416 ifa->ifa_addr,
417 ifa->ifa_flags,
435 struct ifaddrs *ifa = NULL;
443 for (ifa = g_interfaces; ifa; ifa = ifa->ifa_next) {
444 if (ifa->ifa_addr == NULL) {
448 if (ifa->ifa_addr->sa_family != AF_INET6) {
453 if (ifa->ifa_addr->sa_family != AF_INET) {
458 if ((ifa->ifa_addr->sa_family != AF_INET) && (ifa->ifa_addr->sa_family != AF_INET6)) {
464 if ((ifa->ifa_addr->sa_family == AF_INET6) &&
465 IN6_IS_ADDR_UNSPECIFIED(&((struct sockaddr_in6 *)ifa->ifa_addr)->sin6_addr)) {
471 if (ifa->ifa_addr->sa_family == AF_INET &&
472 ((struct sockaddr_in *)ifa->ifa_addr)->sin_addr.s_addr == 0) {
478 ifa,
479 if_nametoindex(ifa->ifa_name),
481 ifa->ifa_name,
482 (void *)ifa,
483 ifa->ifa_addr,
508 struct ifaddr *ifa;
529 ifa = ifaddrlist[j];
530 if (ifa->ifa_addr == NULL) {
533 if ((ifa->ifa_addr->sa_family != AF_INET) && (ifa->ifa_addr->sa_family != AF_INET6)) {
537 if (ifa->ifa_addr->sa_family == AF_INET6) {
538 if (IN6_IS_ADDR_UNSPECIFIED(&((struct sockaddr_in6 *)ifa->ifa_addr)->sin6_addr)) {
543 if (((struct sockaddr_in *)ifa->ifa_addr)->sin_addr.s_addr == INADDR_ANY) {
547 if (ifa->ifa_addr->sa_family == AF_INET6) {
548 ifa6 = (struct in6_ifaddr *)ifa;
559 (void *)ifa,
560 ifa->ifa_addr,
583 struct ifaddr *ifa;
601 TAILQ_FOREACH(ifa, &ifn->if_addrlist, ifa_list) {
602 if (ifa->ifa_addr == NULL) {
605 switch (ifa->ifa_addr->sa_family) {
608 if (((struct sockaddr_in *)ifa->ifa_addr)->sin_addr.s_addr == 0) {
615 if (IN6_IS_ADDR_UNSPECIFIED(&((struct sockaddr_in6 *)ifa->ifa_addr)->sin6_addr)) {
624 switch (ifa->ifa_addr->sa_family) {
632 ifa6 = (struct in6_ifaddr *)ifa;
645 (void *)ifa,
646 ifa->ifa_addr,
680 sctp_addr_change(struct ifaddr *ifa, int cmd)
702 if (ifa->ifa_addr == NULL) {
705 if (sctp_is_desired_interface_type(ifa->ifa_ifp) == 0) {
709 switch (ifa->ifa_addr->sa_family) {
712 if (((struct sockaddr_in *)ifa->ifa_addr)->sin_addr.s_addr == 0) {
719 ifa_flags = ((struct in6_ifaddr *)ifa)->ia6_flags;
720 if (IN6_IS_ADDR_UNSPECIFIED(&((struct sockaddr_in6 *)ifa->ifa_addr)->sin6_addr)) {
731 (void)sctp_add_addr_to_vrf(SCTP_DEFAULT_VRFID, (void *)ifa->ifa_ifp,
733 ifnet_index(ifa->ifa_ifp), ifnet_type(ifa->ifa_ifp), ifnet_name(ifa->ifa_ifp),
735 ifa->ifa_ifp->if_index, ifa->ifa_ifp->if_type, ifa->ifa_ifp->if_xname,
737 (void *)ifa, ifa->ifa_addr, ifa_flags, 1);
740 sctp_del_addr_from_vrf(SCTP_DEFAULT_VRFID, ifa->ifa_addr,
742 ifnet_index(ifa->ifa_ifp),
743 ifnet_name(ifa->ifa_ifp));
745 ifa->ifa_ifp->if_index,
746 ifa->ifa_ifp->if_xname);
761 struct ifaddr *ifa;
768 TAILQ_FOREACH(ifa, &ifn->if_addrlist, ifa_list) {
769 sctp_addr_change(ifa, add ? RTM_ADD : RTM_DELETE);