Lines Matching refs:ifa
2099 extern uint32_t tcp_find_anypcb_byaddr(struct ifaddr *ifa);
2100 extern uint32_t udp_find_anypcb_byaddr(struct ifaddr *ifa);
2146 struct ifaddr *ifa; in ifnet_get_address_list_family_internal() local
2147 TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) { in ifnet_get_address_list_family_internal()
2148 IFA_LOCK(ifa); in ifnet_get_address_list_family_internal()
2150 ifa->ifa_addr->sa_family != family) { in ifnet_get_address_list_family_internal()
2151 IFA_UNLOCK(ifa); in ifnet_get_address_list_family_internal()
2156 IFA_UNLOCK(ifa); in ifnet_get_address_list_family_internal()
2164 ifal->ifal_ifa = ifa; in ifnet_get_address_list_family_internal()
2165 ifa_addref(ifa); in ifnet_get_address_list_family_internal()
2167 IFA_UNLOCK(ifa); in ifnet_get_address_list_family_internal()
2271 struct ifaddr *ifa; in ifnet_lladdr() local
2283 ifa = interface->if_lladdr; in ifnet_lladdr()
2284 IFA_LOCK_SPIN(ifa); in ifnet_lladdr()
2285 struct sockaddr_dl *sdl = SDL(ifa->ifa_addr); in ifnet_lladdr()
2287 IFA_UNLOCK(ifa); in ifnet_lladdr()
2322 struct ifaddr *ifa; in ifnet_lladdr_copy_bytes_internal() local
2336 ifa = interface->if_lladdr; in ifnet_lladdr_copy_bytes_internal()
2337 IFA_LOCK_SPIN(ifa); in ifnet_lladdr_copy_bytes_internal()
2339 SOCKADDR_COPY(ifa->ifa_addr, sdl, SA(ifa->ifa_addr)->sa_len); in ifnet_lladdr_copy_bytes_internal()
2340 IFA_UNLOCK(ifa); in ifnet_lladdr_copy_bytes_internal()
2392 struct ifaddr *ifa; in ifnet_set_lladdr_internal() local
2414 ifa = ifnet_addrs[interface->if_index - 1]; in ifnet_set_lladdr_internal()
2415 if (ifa != NULL) { in ifnet_set_lladdr_internal()
2418 IFA_LOCK_SPIN(ifa); in ifnet_set_lladdr_internal()
2419 sdl = (struct sockaddr_dl *)(void *)ifa->ifa_addr; in ifnet_set_lladdr_internal()
2431 IFA_UNLOCK(ifa); in ifnet_set_lladdr_internal()
2585 struct ifaddr *ifa; in ifnet_find_by_name() local
2588 ifa = ifnet_addrs[ifp->if_index - 1]; in ifnet_find_by_name()
2589 if (ifa == NULL) { in ifnet_find_by_name()
2593 IFA_LOCK(ifa); in ifnet_find_by_name()
2594 ll_addr = SDL(ifa->ifa_addr); in ifnet_find_by_name()
2598 IFA_UNLOCK(ifa); in ifnet_find_by_name()
2603 IFA_UNLOCK(ifa); in ifnet_find_by_name()
2737 ifaddr_reference(ifaddr_t ifa) in ifaddr_reference() argument
2739 if (ifa == NULL) { in ifaddr_reference()
2743 ifa_addref(ifa); in ifaddr_reference()
2748 ifaddr_release(ifaddr_t ifa) in ifaddr_release() argument
2750 if (ifa == NULL) { in ifaddr_release()
2754 ifa_remref(ifa); in ifaddr_release()
2759 ifaddr_address_family(ifaddr_t ifa) in ifaddr_address_family() argument
2763 if (ifa != NULL) { in ifaddr_address_family()
2764 IFA_LOCK_SPIN(ifa); in ifaddr_address_family()
2765 if (ifa->ifa_addr != NULL) { in ifaddr_address_family()
2766 family = ifa->ifa_addr->sa_family; in ifaddr_address_family()
2768 IFA_UNLOCK(ifa); in ifaddr_address_family()
2774 ifaddr_address(ifaddr_t ifa, struct sockaddr *out_addr, u_int32_t addr_size) in ifaddr_address() argument
2778 if (ifa == NULL || out_addr == NULL) { in ifaddr_address()
2782 IFA_LOCK_SPIN(ifa); in ifaddr_address()
2783 if (ifa->ifa_addr == NULL) { in ifaddr_address()
2784 IFA_UNLOCK(ifa); in ifaddr_address()
2788 copylen = (addr_size >= ifa->ifa_addr->sa_len) ? in ifaddr_address()
2789 ifa->ifa_addr->sa_len : addr_size; in ifaddr_address()
2790 SOCKADDR_COPY(ifa->ifa_addr, out_addr, copylen); in ifaddr_address()
2792 if (ifa->ifa_addr->sa_len > addr_size) { in ifaddr_address()
2793 IFA_UNLOCK(ifa); in ifaddr_address()
2797 IFA_UNLOCK(ifa); in ifaddr_address()
2802 ifaddr_dstaddress(ifaddr_t ifa, struct sockaddr *out_addr, u_int32_t addr_size) in ifaddr_dstaddress() argument
2806 if (ifa == NULL || out_addr == NULL) { in ifaddr_dstaddress()
2810 IFA_LOCK_SPIN(ifa); in ifaddr_dstaddress()
2811 if (ifa->ifa_dstaddr == NULL) { in ifaddr_dstaddress()
2812 IFA_UNLOCK(ifa); in ifaddr_dstaddress()
2816 copylen = (addr_size >= ifa->ifa_dstaddr->sa_len) ? in ifaddr_dstaddress()
2817 ifa->ifa_dstaddr->sa_len : addr_size; in ifaddr_dstaddress()
2818 SOCKADDR_COPY(ifa->ifa_dstaddr, out_addr, copylen); in ifaddr_dstaddress()
2820 if (ifa->ifa_dstaddr->sa_len > addr_size) { in ifaddr_dstaddress()
2821 IFA_UNLOCK(ifa); in ifaddr_dstaddress()
2825 IFA_UNLOCK(ifa); in ifaddr_dstaddress()
2830 ifaddr_netmask(ifaddr_t ifa, struct sockaddr *out_addr, u_int32_t addr_size) in ifaddr_netmask() argument
2834 if (ifa == NULL || out_addr == NULL) { in ifaddr_netmask()
2838 IFA_LOCK_SPIN(ifa); in ifaddr_netmask()
2839 if (ifa->ifa_netmask == NULL) { in ifaddr_netmask()
2840 IFA_UNLOCK(ifa); in ifaddr_netmask()
2844 copylen = addr_size >= ifa->ifa_netmask->sa_len ? in ifaddr_netmask()
2845 ifa->ifa_netmask->sa_len : addr_size; in ifaddr_netmask()
2846 SOCKADDR_COPY(ifa->ifa_netmask, out_addr, copylen); in ifaddr_netmask()
2848 if (ifa->ifa_netmask->sa_len > addr_size) { in ifaddr_netmask()
2849 IFA_UNLOCK(ifa); in ifaddr_netmask()
2853 IFA_UNLOCK(ifa); in ifaddr_netmask()
2858 ifaddr_ifnet(ifaddr_t ifa) in ifaddr_ifnet() argument
2862 if (ifa == NULL) { in ifaddr_ifnet()
2867 ifp = ifa->ifa_ifp; in ifaddr_ifnet()
2924 ifaddr_get_ia6_flags(ifaddr_t ifa, u_int32_t *out_flags) in ifaddr_get_ia6_flags() argument
2928 if (ifa == NULL || out_flags == NULL) { in ifaddr_get_ia6_flags()
2932 IFA_LOCK_SPIN(ifa); in ifaddr_get_ia6_flags()
2933 if (ifa->ifa_addr != NULL) { in ifaddr_get_ia6_flags()
2934 family = ifa->ifa_addr->sa_family; in ifaddr_get_ia6_flags()
2936 IFA_UNLOCK(ifa); in ifaddr_get_ia6_flags()
2942 *out_flags = ifatoia6(ifa)->ia6_flags; in ifaddr_get_ia6_flags()