Lines Matching refs:ifa

213 	struct ifaddr *ifa;
228 TAILQ_FOREACH(ifa, &ifp->if_addrlist, ifa_list)
230 IFA_LOCK(ifa);
231 if (ifa->ifa_addr->sa_family != AF_INET6) {
232 IFA_UNLOCK(ifa);
236 in6_matchlen(&ipr->ipr_prefix.sin6_addr, IFA_IN6(ifa))) {
240 IFA_UNLOCK(ifa);
242 if (ifa == NULL) {
246 IFA_LOCK_ASSERT_HELD(ifa);
247 rpp = ifpr2rp(((struct in6_ifaddr *)ifa)->ia6_ifpr);
248 IFA_UNLOCK(ifa);
260 if (ifpr->ifpr_plen <= in6_matchlen(IFA_IN6(ifa),
267 "has no pointer to prefix %s\n", ip6_sprintf(IFA_IN6(ifa)),
281 struct ifaddr *ifa;
308 TAILQ_FOREACH(ifa, &ifp->if_addrlist, ifa_list)
312 IFA_LOCK(ifa);
313 if (ifa->ifa_addr->sa_family != AF_INET6) {
314 IFA_UNLOCK(ifa);
318 IFA_IN6(ifa));
321 IFA_UNLOCK(ifa);
324 rpp = ifpr2rp(((struct in6_ifaddr *)ifa)->ia6_ifpr);
334 ip6_sprintf(IFA_IN6(ifa)));
336 IFA_UNLOCK(ifa);
1197 struct ifaddr *ifa;
1201 for (ifa = rpp->rp_ifp->if_addrlist.tqh_first; ifa;
1202 ifa = ifa->ifa_list.tqe_next)
1208 IFA_LOCK(ifa);
1209 if (ifa->ifa_addr->sa_family != AF_INET6) {
1210 IFA_UNLOCK(ifa);
1213 if (rpp->rp_plen > in6_matchlen(RP_IN6(rpp), IFA_IN6(ifa))) {
1214 IFA_UNLOCK(ifa);
1217 orpp = ifpr2rp(((struct in6_ifaddr *)ifa)->ia6_ifpr);
1224 ip6_sprintf(IFA_IN6(ifa)), orpp->rp_plen,
1227 IFA_UNLOCK(ifa);
1230 IFA_UNLOCK(ifa);
1234 (struct in6_ifaddr *)ifa)) != 0)
1250 struct ifaddr *ifa;
1328 for (ifa = ifp->if_addrlist.tqh_first;
1329 ifa;
1330 ifa = ifa->ifa_list.tqe_next)
1332 IFA_LOCK(ifa);
1333 if (ifa->ifa_addr->sa_family != AF_INET6) {
1334 IFA_UNLOCK(ifa);
1337 if (IN6_IS_ADDR_LINKLOCAL(IFA_IN6(ifa)) == 0) {
1338 IFA_UNLOCK(ifa);
1342 IFA_UNLOCK(ifa);
1350 (caddr_t)IFA_IN6(ifa),
1351 sizeof(*IFA_IN6(ifa)) << 3,
1354 IFA_UNLOCK(ifa);