Lines Matching refs:ro_rt
326 if (ro != NULL && ro->ro_rt != NULL && in in6_selectsrc_core()
327 (ro->ro_rt->rt_flags & RTF_GATEWAY) && in in6_selectsrc_core()
328 ro->ro_rt->rt_gateway != NULL) { in in6_selectsrc_core()
329 struct rtentry *rt = ro->ro_rt; in in6_selectsrc_core()
1082 if (ro->ro_rt->rt_ifp->if_flags & IFF_LOOPBACK) { in selectroute()
1097 if (ifscope != IFSCOPE_NONE || (ro != NULL && ro->ro_rt != NULL)) { in selectroute()
1101 rt_ifp = (ro->ro_rt != NULL) ? ro->ro_rt->rt_ifp : NULL; in selectroute()
1139 if (ro->ro_rt != NULL) { in selectroute()
1213 if (ron->ro_rt != NULL) { in selectroute()
1214 RT_LOCK(ron->ro_rt); in selectroute()
1216 if (ROUTE_UNUSABLE(ron) || (ron->ro_rt != NULL && in selectroute()
1217 (!(ron->ro_rt->rt_flags & RTF_LLINFO) || in selectroute()
1219 (ifa->ifa_ifp != ron->ro_rt->rt_ifp && !proxied_ifa))))) || in selectroute()
1221 &sin6_next->sin6_addr, ron->ro_rt->rt_ifp->if_index, sin6_next->sin6_scope_id)) { in selectroute()
1222 if (ron->ro_rt != NULL) { in selectroute()
1223 RT_UNLOCK(ron->ro_rt); in selectroute()
1229 if (ron->ro_rt == NULL) { in selectroute()
1231 if (ron->ro_rt != NULL) { in selectroute()
1232 RT_LOCK(ron->ro_rt); in selectroute()
1235 !(ron->ro_rt->rt_flags & RTF_LLINFO) || in selectroute()
1236 !in6_are_addr_equal_scoped(&satosin6(rt_key(ron->ro_rt))-> in selectroute()
1237 sin6_addr, &sin6_next->sin6_addr, ron->ro_rt->rt_ifp->if_index, sin6_next->sin6_scope_id)) { in selectroute()
1238 if (ron->ro_rt != NULL) { in selectroute()
1239 RT_UNLOCK(ron->ro_rt); in selectroute()
1248 ifp = ifp0 = ron->ro_rt->rt_ifp; in selectroute()
1260 RT_UNLOCK(ron->ro_rt); in selectroute()
1263 RT_UNLOCK(ron->ro_rt); in selectroute()
1274 if (ro->ro_rt != NULL) { in selectroute()
1275 RT_LOCK_SPIN(ro->ro_rt); in selectroute()
1277 if (ROUTE_UNUSABLE(ro) || (ro->ro_rt != NULL && in selectroute()
1279 …!in6_are_addr_equal_scoped(&satosin6(&ro->ro_dst)->sin6_addr, dst, ro->ro_rt->rt_ifp->if_index, ds… in selectroute()
1281 (ifa->ifa_ifp != ro->ro_rt->rt_ifp && !proxied_ifa)))))) { in selectroute()
1282 if (ro->ro_rt != NULL) { in selectroute()
1283 RT_UNLOCK(ro->ro_rt); in selectroute()
1288 if (ro->ro_rt == NULL) { in selectroute()
1298 ro->ro_rt = rtalloc1_scoped( in selectroute()
1303 if (ro->ro_rt != NULL) { in selectroute()
1304 RT_LOCK_SPIN(ro->ro_rt); in selectroute()
1313 if (ro->ro_rt != NULL) { in selectroute()
1314 RT_UNLOCK(ro->ro_rt); in selectroute()
1319 if (ro->ro_rt != NULL) { in selectroute()
1320 RT_LOCK_ASSERT_HELD(ro->ro_rt); in selectroute()
1321 ifp = ifp0 = ro->ro_rt->rt_ifp; in selectroute()
1329 boolean_t has_route = (route != NULL && route->ro_rt != NULL); in selectroute()
1333 RT_LOCK_ASSERT_HELD(route->ro_rt); in selectroute()
1343 !(route->ro_rt->rt_flags & RTF_UP))) { in selectroute()
1351 (route->ro_rt->rt_flags & (RTF_UP | RTF_PROXY)) == in selectroute()
1372 RT_UNLOCK(route->ro_rt); in selectroute()
1388 RT_CONVERT_LOCK(route->ro_rt); in selectroute()
1397 RT_GENID_SYNC(route->ro_rt); in selectroute()
1399 RT_UNLOCK(route->ro_rt); in selectroute()
1402 if (ro->ro_rt != NULL) { in selectroute()
1403 RT_UNLOCK(ro->ro_rt); in selectroute()
1443 (route && route->ro_rt && in selectroute()
1444 CHECK_RESTRICTIONS(ip6oa, route->ro_rt->rt_ifp)))) { in selectroute()
1445 if (route != NULL && route->ro_rt != NULL) { in selectroute()
1463 if (ifp == NULL && (route == NULL || route->ro_rt == NULL)) { in selectroute()
1496 *retrt = route->ro_rt; /* ro_rt may be NULL */ in selectroute()
1579 VERIFY(rt == NULL || rt == ro->ro_rt); in in6_selectif()