Lines Matching refs:ifa
265 struct ifaddr *ifa = NULL;
276 ifa = ifp->if_lladdr;
277 sdl = (struct sockaddr_dl *)(void *)ifa->ifa_addr;
282 IFA_ADDREF(ifa); /* for this routine */
285 IFA_LOCK(ifa);
391 if (IFA_REMREF_LOCKED(ifa) == NULL) {
392 panic("%s: unexpected (missing) refcnt ifa=%p", __func__, ifa);
395 IFA_UNLOCK(ifa);
927 struct ifaddr *ifa;
964 ifa = TAILQ_FIRST(&ifp->if_addrlist);
965 while (ifa != NULL) {
966 IFA_LOCK(ifa);
967 if (ifa->ifa_addr->sa_family != AF_INET6 ||
968 !IN6_IS_ADDR_LINKLOCAL(&satosin6(&ifa->ifa_addr)->
970 IFA_UNLOCK(ifa);
971 ifa = TAILQ_NEXT(ifa, ifa_list);
975 ia = (struct in6_ifaddr *)ifa;
978 IFA_ADDREF_LOCKED(ifa);
980 if_detach_ifa(ifp, ifa);
981 IFA_UNLOCK(ifa);
988 * The ifa won't go away since we held a refcnt above.
1000 IFA_LOCK(ifa);
1003 IFA_UNLOCK(ifa);
1005 IFA_LOCK(ifa);
1010 IFA_UNLOCK(ifa);
1021 IFA_UNLOCK(ifa);
1044 ifa = &oia->ia_ifa;
1052 IFA_REMREF(ifa);
1054 IFA_REMREF(ifa);
1062 ifa = TAILQ_FIRST(&ifp->if_addrlist);