Lines Matching refs:ro_rt
502 if (ro->ro_rt != NULL) { in ip_output_list()
503 RT_LOCK_SPIN(ro->ro_rt); in ip_output_list()
504 ia = (struct in_ifaddr *)ro->ro_rt->rt_ifa; in ip_output_list()
507 RT_CONVERT_LOCK(ro->ro_rt); in ip_output_list()
510 RT_UNLOCK(ro->ro_rt); in ip_output_list()
600 if (ro->ro_rt != NULL) { in ip_output_list()
627 if (!ipobf.select_srcif && ro->ro_rt != NULL && in ip_output_list()
628 RT_GENID_OUTOFSYNC(ro->ro_rt)) { in ip_output_list()
629 RT_GENID_SYNC(ro->ro_rt); in ip_output_list()
632 if (ro->ro_rt == NULL) { in ip_output_list()
761 if (ro->ro_rt == NULL) { in ip_output_list()
805 if (ro->ro_rt != NULL) { in ip_output_list()
806 RT_LOCK_SPIN(ro->ro_rt); in ip_output_list()
807 if (IP_CHECK_RESTRICTIONS(ro->ro_rt->rt_ifp, in ip_output_list()
809 RT_UNLOCK(ro->ro_rt); in ip_output_list()
816 RT_UNLOCK(ro->ro_rt); in ip_output_list()
821 if (ro->ro_rt == NULL) { in ip_output_list()
834 RT_LOCK_SPIN(ro->ro_rt); in ip_output_list()
835 ia = ifatoia(ro->ro_rt->rt_ifa); in ip_output_list()
838 RT_CONVERT_LOCK(ro->ro_rt); in ip_output_list()
845 ifp = ro->ro_rt->rt_ifp; in ip_output_list()
846 ro->ro_rt->rt_use++; in ip_output_list()
847 if (ro->ro_rt->rt_flags & RTF_GATEWAY) { in ip_output_list()
848 dst = SIN(ro->ro_rt->rt_gateway); in ip_output_list()
850 if (ro->ro_rt->rt_flags & RTF_HOST) { in ip_output_list()
853 !!(ro->ro_rt->rt_flags & RTF_BROADCAST); in ip_output_list()
856 RT_CONVERT_LOCK(ro->ro_rt); in ip_output_list()
886 RT_UNLOCK(ro->ro_rt); in ip_output_list()
1194 …flags, (flags & IP_OUTARGS) ? ipoa : NULL, ro ? ro->ro_rt : NULL, &necp_result, &necp_result_param… in ip_output_list()
1453 if (ro->ro_rt == NULL) { in ip_output_list()
1466 RT_LOCK_SPIN(ro->ro_rt); in ip_output_list()
1467 ia = ifatoia(ro->ro_rt->rt_ifa); in ip_output_list()
1470 RT_CONVERT_LOCK(ro->ro_rt); in ip_output_list()
1473 ifp = ro->ro_rt->rt_ifp; in ip_output_list()
1474 RT_UNLOCK(ro->ro_rt); in ip_output_list()
1607 if (ro->ro_rt != NULL && nstat_collect) { in ip_output_list()
1608 nstat_route_tx(ro->ro_rt, scnt, in ip_output_list()
1612 error = dlil_output(ifp, PF_INET, m, ro->ro_rt, in ip_output_list()
1635 if (ro->ro_rt != NULL && nstat_collect) { in ip_output_list()
1636 nstat_route_tx(ro->ro_rt, scnt, in ip_output_list()
1641 ro->ro_rt, SA(dst), 0, adv); in ip_output_list()
1673 if (ro->ro_rt) { in ip_output_list()
1674 RT_LOCK_SPIN(ro->ro_rt); in ip_output_list()
1675 if ((ro->ro_rt->rt_flags & (RTF_UP | RTF_HOST)) && in ip_output_list()
1676 !(ro->ro_rt->rt_rmx.rmx_locks & RTV_MTU) && in ip_output_list()
1677 (ro->ro_rt->rt_rmx.rmx_mtu > interface_mtu)) { in ip_output_list()
1678 ro->ro_rt->rt_rmx.rmx_mtu = interface_mtu; in ip_output_list()
1680 RT_UNLOCK(ro->ro_rt); in ip_output_list()
1753 if (ro->ro_rt != NULL && nstat_collect) { in ip_output_list()
1754 nstat_route_tx(ro->ro_rt, 1, in ip_output_list()
1757 error = dlil_output(ifp, PF_INET, m, ro->ro_rt, in ip_output_list()
3046 if (ro->ro_rt != NULL) { in in_selectsrcif()
3047 RT_LOCK(ro->ro_rt); in in_selectsrcif()
3050 rt_ifp = (ro->ro_rt != NULL) ? ro->ro_rt->rt_ifp : NULL; in in_selectsrcif()
3059 if (ifscope != IFSCOPE_NONE || ro->ro_rt != NULL) { in in_selectsrcif()
3098 if (ro->ro_rt != NULL) { in in_selectsrcif()
3130 if (ifa != NULL && ro->ro_rt == NULL) { in in_selectsrcif()
3207 } else if (ifa != NULL && ro->ro_rt != NULL && in in_selectsrcif()
3208 !(ro->ro_rt->rt_flags & RTF_GATEWAY) && in in_selectsrcif()
3209 ifa->ifa_ifp != ro->ro_rt->rt_ifp && ipforwarding) { in in_selectsrcif()
3217 ifa = ro->ro_rt->rt_ifa; in in_selectsrcif()
3227 if (ro->ro_rt != NULL) { in in_selectsrcif()
3228 RT_LOCK_ASSERT_HELD(ro->ro_rt); in in_selectsrcif()
3236 if (ro->ro_rt != NULL && in in_selectsrcif()
3238 !(ro->ro_rt->rt_flags & RTF_UP))) { in in_selectsrcif()
3252 RT_UNLOCK(ro->ro_rt); in in_selectsrcif()
3285 if (ro->ro_rt != NULL && (!IN_LINKLOCAL(ntohl(dst.s_addr)) || in in_selectsrcif()
3286 (ro->ro_rt->rt_gateway->sa_family == AF_LINK && in in_selectsrcif()
3287 SDL(ro->ro_rt->rt_gateway)->sdl_alen != 0))) { in in_selectsrcif()
3296 RT_GENID_SYNC(ro->ro_rt); in in_selectsrcif()
3299 if (ro->ro_rt != NULL) { in in_selectsrcif()
3300 RT_UNLOCK(ro->ro_rt); in in_selectsrcif()