Lines Matching refs:ro_rt
492 if (ro->ro_rt != NULL) { in ip_output_list()
493 RT_LOCK_SPIN(ro->ro_rt); in ip_output_list()
494 ia = (struct in_ifaddr *)ro->ro_rt->rt_ifa; in ip_output_list()
497 RT_CONVERT_LOCK(ro->ro_rt); in ip_output_list()
500 RT_UNLOCK(ro->ro_rt); in ip_output_list()
586 if (ro->ro_rt != NULL) { in ip_output_list()
613 if (!ipobf.select_srcif && ro->ro_rt != NULL && in ip_output_list()
614 RT_GENID_OUTOFSYNC(ro->ro_rt)) { in ip_output_list()
615 RT_GENID_SYNC(ro->ro_rt); in ip_output_list()
618 if (ro->ro_rt == NULL) { in ip_output_list()
747 if (ro->ro_rt == NULL) { in ip_output_list()
791 if (ro->ro_rt != NULL) { in ip_output_list()
792 RT_LOCK_SPIN(ro->ro_rt); in ip_output_list()
793 if (IP_CHECK_RESTRICTIONS(ro->ro_rt->rt_ifp, in ip_output_list()
795 RT_UNLOCK(ro->ro_rt); in ip_output_list()
802 RT_UNLOCK(ro->ro_rt); in ip_output_list()
807 if (ro->ro_rt == NULL) { in ip_output_list()
820 RT_LOCK_SPIN(ro->ro_rt); in ip_output_list()
821 ia = ifatoia(ro->ro_rt->rt_ifa); in ip_output_list()
824 RT_CONVERT_LOCK(ro->ro_rt); in ip_output_list()
831 ifp = ro->ro_rt->rt_ifp; in ip_output_list()
832 ro->ro_rt->rt_use++; in ip_output_list()
833 if (ro->ro_rt->rt_flags & RTF_GATEWAY) { in ip_output_list()
834 dst = SIN(ro->ro_rt->rt_gateway); in ip_output_list()
836 if (ro->ro_rt->rt_flags & RTF_HOST) { in ip_output_list()
839 !!(ro->ro_rt->rt_flags & RTF_BROADCAST); in ip_output_list()
842 RT_CONVERT_LOCK(ro->ro_rt); in ip_output_list()
872 RT_UNLOCK(ro->ro_rt); in ip_output_list()
1180 …flags, (flags & IP_OUTARGS) ? ipoa : NULL, ro ? ro->ro_rt : NULL, &necp_result, &necp_result_param… in ip_output_list()
1439 if (ro->ro_rt == NULL) { in ip_output_list()
1452 RT_LOCK_SPIN(ro->ro_rt); in ip_output_list()
1453 ia = ifatoia(ro->ro_rt->rt_ifa); in ip_output_list()
1456 RT_CONVERT_LOCK(ro->ro_rt); in ip_output_list()
1459 ifp = ro->ro_rt->rt_ifp; in ip_output_list()
1460 RT_UNLOCK(ro->ro_rt); in ip_output_list()
1593 if (ro->ro_rt != NULL && nstat_collect) { in ip_output_list()
1594 nstat_route_tx(ro->ro_rt, scnt, in ip_output_list()
1598 error = dlil_output(ifp, PF_INET, m, ro->ro_rt, in ip_output_list()
1621 if (ro->ro_rt != NULL && nstat_collect) { in ip_output_list()
1622 nstat_route_tx(ro->ro_rt, scnt, in ip_output_list()
1627 ro->ro_rt, SA(dst), 0, adv); in ip_output_list()
1659 if (ro->ro_rt) { in ip_output_list()
1660 RT_LOCK_SPIN(ro->ro_rt); in ip_output_list()
1661 if ((ro->ro_rt->rt_flags & (RTF_UP | RTF_HOST)) && in ip_output_list()
1662 !(ro->ro_rt->rt_rmx.rmx_locks & RTV_MTU) && in ip_output_list()
1663 (ro->ro_rt->rt_rmx.rmx_mtu > interface_mtu)) { in ip_output_list()
1664 ro->ro_rt->rt_rmx.rmx_mtu = interface_mtu; in ip_output_list()
1666 RT_UNLOCK(ro->ro_rt); in ip_output_list()
1739 if (ro->ro_rt != NULL && nstat_collect) { in ip_output_list()
1740 nstat_route_tx(ro->ro_rt, 1, in ip_output_list()
1743 error = dlil_output(ifp, PF_INET, m, ro->ro_rt, in ip_output_list()
3056 if (ro->ro_rt != NULL) { in in_selectsrcif()
3057 RT_LOCK(ro->ro_rt); in in_selectsrcif()
3060 rt_ifp = (ro->ro_rt != NULL) ? ro->ro_rt->rt_ifp : NULL; in in_selectsrcif()
3069 if (ifscope != IFSCOPE_NONE || ro->ro_rt != NULL) { in in_selectsrcif()
3108 if (ro->ro_rt != NULL) { in in_selectsrcif()
3140 if (ifa != NULL && ro->ro_rt == NULL) { in in_selectsrcif()
3217 } else if (ifa != NULL && ro->ro_rt != NULL && in in_selectsrcif()
3218 !(ro->ro_rt->rt_flags & RTF_GATEWAY) && in in_selectsrcif()
3219 ifa->ifa_ifp != ro->ro_rt->rt_ifp && ipforwarding) { in in_selectsrcif()
3227 ifa = ro->ro_rt->rt_ifa; in in_selectsrcif()
3237 if (ro->ro_rt != NULL) { in in_selectsrcif()
3238 RT_LOCK_ASSERT_HELD(ro->ro_rt); in in_selectsrcif()
3246 if (ro->ro_rt != NULL && in in_selectsrcif()
3248 !(ro->ro_rt->rt_flags & RTF_UP))) { in in_selectsrcif()
3262 RT_UNLOCK(ro->ro_rt); in in_selectsrcif()
3295 if (ro->ro_rt != NULL && (!IN_LINKLOCAL(ntohl(dst.s_addr)) || in in_selectsrcif()
3296 (ro->ro_rt->rt_gateway->sa_family == AF_LINK && in in_selectsrcif()
3297 SDL(ro->ro_rt->rt_gateway)->sdl_alen != 0))) { in in_selectsrcif()
3306 RT_GENID_SYNC(ro->ro_rt); in in_selectsrcif()
3309 if (ro->ro_rt != NULL) { in in_selectsrcif()
3310 RT_UNLOCK(ro->ro_rt); in in_selectsrcif()