Lines Matching refs:ro4
3166 struct route *ro4; in ipsec4_output_internal() local
3225 ro4 = (struct route *)&sav->sah->sa_route; in ipsec4_output_internal()
3226 dst4 = SIN(&ro4->ro_dst); in ipsec4_output_internal()
3227 if (ro4->ro_rt != NULL) { in ipsec4_output_internal()
3228 RT_LOCK(ro4->ro_rt); in ipsec4_output_internal()
3230 if (ROUTE_UNUSABLE(ro4) || in ipsec4_output_internal()
3232 if (ro4->ro_rt != NULL) { in ipsec4_output_internal()
3233 RT_UNLOCK(ro4->ro_rt); in ipsec4_output_internal()
3235 ROUTE_RELEASE(ro4); in ipsec4_output_internal()
3237 if (ro4->ro_rt == 0) { in ipsec4_output_internal()
3241 rtalloc_scoped(ro4, sav->sah->outgoing_if); in ipsec4_output_internal()
3242 if (ro4->ro_rt == 0) { in ipsec4_output_internal()
3249 RT_LOCK(ro4->ro_rt); in ipsec4_output_internal()
3261 if (ro4->ro_rt->rt_flags & RTF_GATEWAY) { in ipsec4_output_internal()
3262 dst4 = SIN(ro4->ro_rt->rt_gateway); in ipsec4_output_internal()
3264 RT_UNLOCK(ro4->ro_rt); in ipsec4_output_internal()
3266 route_copyout((struct route *)&state->ro, ro4, sizeof(struct route)); in ipsec4_output_internal()
4073 struct route *ro4 = NULL; in ipsec6_output_tunnel_internal() local
4098 ro4 = (struct route *)&sav->sah->sa_route; in ipsec6_output_tunnel_internal()
4099 dst4 = SIN(&ro4->ro_dst); in ipsec6_output_tunnel_internal()
4100 if (ro4->ro_rt) { in ipsec6_output_tunnel_internal()
4101 RT_LOCK(ro4->ro_rt); in ipsec6_output_tunnel_internal()
4103 if (ROUTE_UNUSABLE(ro4) || in ipsec6_output_tunnel_internal()
4105 if (ro4->ro_rt != NULL) { in ipsec6_output_tunnel_internal()
4106 RT_UNLOCK(ro4->ro_rt); in ipsec6_output_tunnel_internal()
4108 ROUTE_RELEASE(ro4); in ipsec6_output_tunnel_internal()
4110 if (ro4->ro_rt == NULL) { in ipsec6_output_tunnel_internal()
4115 RT_UNLOCK(ro4->ro_rt); in ipsec6_output_tunnel_internal()
4117 route_copyout(&ro4_copy, ro4, sizeof(struct route)); in ipsec6_output_tunnel_internal()
4176 route_copyin(&ro4_copy, ro4, sizeof(struct route)); in ipsec6_output_tunnel_internal()