Lines Matching refs:ifa
252 struct ifaddr *ifa = NULL;
263 ifa = ifp->if_lladdr;
264 sdl = (struct sockaddr_dl *)(void *)ifa->ifa_addr;
269 IFA_ADDREF(ifa); /* for this routine */
272 IFA_LOCK(ifa);
378 if (IFA_REMREF_LOCKED(ifa) == NULL) {
379 panic("%s: unexpected (missing) refcnt ifa=%p", __func__, ifa);
382 IFA_UNLOCK(ifa);
965 struct ifaddr *ifa;
1002 ifa = TAILQ_FIRST(&ifp->if_addrlist);
1003 while (ifa != NULL) {
1004 IFA_LOCK(ifa);
1005 if (ifa->ifa_addr->sa_family != AF_INET6 ||
1006 !IN6_IS_ADDR_LINKLOCAL(&satosin6(&ifa->ifa_addr)->
1008 IFA_UNLOCK(ifa);
1009 ifa = TAILQ_NEXT(ifa, ifa_list);
1013 ia = (struct in6_ifaddr *)ifa;
1016 IFA_ADDREF_LOCKED(ifa);
1018 if_detach_ifa(ifp, ifa);
1019 IFA_UNLOCK(ifa);
1026 * The ifa won't go away since we held a refcnt above.
1038 IFA_LOCK(ifa);
1041 IFA_UNLOCK(ifa);
1043 IFA_LOCK(ifa);
1048 IFA_UNLOCK(ifa);
1059 IFA_UNLOCK(ifa);
1082 ifa = &oia->ia_ifa;
1090 IFA_REMREF(ifa);
1092 IFA_REMREF(ifa);
1100 ifa = TAILQ_FIRST(&ifp->if_addrlist);