Lines Matching refs:ro_rt
323 if (ro != NULL && ro->ro_rt != NULL && in in6_selectsrc_core()
324 (ro->ro_rt->rt_flags & RTF_GATEWAY) && in in6_selectsrc_core()
325 ro->ro_rt->rt_gateway != NULL) { in in6_selectsrc_core()
326 struct rtentry *__single rt = ro->ro_rt; in in6_selectsrc_core()
1083 if (ro->ro_rt->rt_ifp->if_flags & IFF_LOOPBACK) { in selectroute()
1098 if (ifscope != IFSCOPE_NONE || (ro != NULL && ro->ro_rt != NULL)) { in selectroute()
1102 rt_ifp = (ro->ro_rt != NULL) ? ro->ro_rt->rt_ifp : NULL; in selectroute()
1140 if (ro->ro_rt != NULL) { in selectroute()
1214 if (ron->ro_rt != NULL) { in selectroute()
1215 RT_LOCK(ron->ro_rt); in selectroute()
1217 if (ROUTE_UNUSABLE(ron) || (ron->ro_rt != NULL && in selectroute()
1218 (!(ron->ro_rt->rt_flags & RTF_LLINFO) || in selectroute()
1220 (ifa->ifa_ifp != ron->ro_rt->rt_ifp && !proxied_ifa))))) || in selectroute()
1222 &sin6_next->sin6_addr, ron->ro_rt->rt_ifp->if_index, sin6_next->sin6_scope_id)) { in selectroute()
1223 if (ron->ro_rt != NULL) { in selectroute()
1224 RT_UNLOCK(ron->ro_rt); in selectroute()
1230 if (ron->ro_rt == NULL) { in selectroute()
1232 if (ron->ro_rt != NULL) { in selectroute()
1233 RT_LOCK(ron->ro_rt); in selectroute()
1236 !(ron->ro_rt->rt_flags & RTF_LLINFO) || in selectroute()
1237 !in6_are_addr_equal_scoped(&satosin6(rt_key(ron->ro_rt))-> in selectroute()
1238 sin6_addr, &sin6_next->sin6_addr, ron->ro_rt->rt_ifp->if_index, sin6_next->sin6_scope_id)) { in selectroute()
1239 if (ron->ro_rt != NULL) { in selectroute()
1240 RT_UNLOCK(ron->ro_rt); in selectroute()
1249 ifp = ifp0 = ron->ro_rt->rt_ifp; in selectroute()
1261 RT_UNLOCK(ron->ro_rt); in selectroute()
1264 RT_UNLOCK(ron->ro_rt); in selectroute()
1275 if (ro->ro_rt != NULL) { in selectroute()
1276 RT_LOCK_SPIN(ro->ro_rt); in selectroute()
1278 if (ROUTE_UNUSABLE(ro) || (ro->ro_rt != NULL && in selectroute()
1280 …!in6_are_addr_equal_scoped(&satosin6(&ro->ro_dst)->sin6_addr, dst, ro->ro_rt->rt_ifp->if_index, ds… in selectroute()
1282 (ifa->ifa_ifp != ro->ro_rt->rt_ifp && !proxied_ifa)))))) { in selectroute()
1283 if (ro->ro_rt != NULL) { in selectroute()
1284 RT_UNLOCK(ro->ro_rt); in selectroute()
1289 if (ro->ro_rt == NULL) { in selectroute()
1299 ro->ro_rt = rtalloc1_scoped( in selectroute()
1304 if (ro->ro_rt != NULL) { in selectroute()
1305 RT_LOCK_SPIN(ro->ro_rt); in selectroute()
1314 if (ro->ro_rt != NULL) { in selectroute()
1315 RT_UNLOCK(ro->ro_rt); in selectroute()
1320 if (ro->ro_rt != NULL) { in selectroute()
1321 RT_LOCK_ASSERT_HELD(ro->ro_rt); in selectroute()
1322 ifp = ifp0 = ro->ro_rt->rt_ifp; in selectroute()
1330 boolean_t has_route = (route != NULL && route->ro_rt != NULL); in selectroute()
1334 RT_LOCK_ASSERT_HELD(route->ro_rt); in selectroute()
1344 !(route->ro_rt->rt_flags & RTF_UP))) { in selectroute()
1352 (route->ro_rt->rt_flags & (RTF_UP | RTF_PROXY)) == in selectroute()
1373 RT_UNLOCK(route->ro_rt); in selectroute()
1389 RT_CONVERT_LOCK(route->ro_rt); in selectroute()
1398 RT_GENID_SYNC(route->ro_rt); in selectroute()
1400 RT_UNLOCK(route->ro_rt); in selectroute()
1403 if (ro->ro_rt != NULL) { in selectroute()
1404 RT_UNLOCK(ro->ro_rt); in selectroute()
1446 (route && route->ro_rt && in selectroute()
1447 CHECK_RESTRICTIONS(ip6oa, route->ro_rt->rt_ifp)))) { in selectroute()
1448 if (route != NULL && route->ro_rt != NULL) { in selectroute()
1466 if (ifp == NULL && (route == NULL || route->ro_rt == NULL)) { in selectroute()
1499 *retrt = route->ro_rt; /* ro_rt may be NULL */ in selectroute()
1582 VERIFY(rt == NULL || rt == ro->ro_rt); in in6_selectif()