Lines Matching refs:ro

207     const struct sockaddr *gw, struct route *ro, bool stamp_tag)  in ip_output_send()  argument
270 error = (*ifp->if_output)(ifp, m, gw, ro); in ip_output_send()
290 rt_update_ro_flags(struct route *ro, const struct nhop_object *nh) in rt_update_ro_flags() argument
294 ro->ro_flags &= ~ (RT_REJECT|RT_BLACKHOLE|RT_HAS_GW); in rt_update_ro_flags()
296 ro->ro_flags |= (nh_flags & NHF_REJECT) ? RT_REJECT : 0; in rt_update_ro_flags()
297 ro->ro_flags |= (nh_flags & NHF_BLACKHOLE) ? RT_BLACKHOLE : 0; in rt_update_ro_flags()
298 ro->ro_flags |= (nh_flags & NHF_GATEWAY) ? RT_HAS_GW : 0; in rt_update_ro_flags()
314 ip_output(struct mbuf *m, struct mbuf *opt, struct route *ro, int flags, in ip_output() argument
382 if (ro == NULL) { in ip_output()
383 ro = &iproute; in ip_output()
384 bzero(ro, sizeof (*ro)); in ip_output()
386 dst = (struct sockaddr_in *)&ro->ro_dst; in ip_output()
387 if (ro->ro_nh == NULL) { in ip_output()
398 if (inp != NULL && ro->ro_nh != NULL) in ip_output()
399 NH_VALIDATE(ro, &inp->inp_rt_cookie, fibnum); in ip_output()
408 if (ro->ro_nh != NULL && in ip_output()
409 ((!NH_IS_VALID(ro->ro_nh)) || dst->sin_family != AF_INET || in ip_output()
411 RO_INVALIDATE_CACHE(ro); in ip_output()
465 } else if (ro != &iproute) { in ip_output()
466 if (ro->ro_nh == NULL) { in ip_output()
474 ro->ro_nh = fib4_lookup(fibnum, dst->sin_addr, 0, in ip_output()
477 if (ro->ro_nh == NULL || (!NH_IS_VALID(ro->ro_nh))) { in ip_output()
491 struct nhop_object *nh = ro->ro_nh; in ip_output()
496 rt_update_ro_flags(ro, nh); in ip_output()
527 rt_update_ro_flags(ro, nh); in ip_output()
541 __func__, mtu, ro, in ip_output()
542 (ro != NULL && ro->ro_nh != NULL) ? ro->ro_nh->nh_flags : 0, ifp)); in ip_output()
711 if (ro != NULL) { in ip_output()
712 RO_NHFREE(ro); in ip_output()
713 ro->ro_prepend = NULL; in ip_output()
798 error = ip_output_send(inp, ifp, m, gw, ro, in ip_output()
836 error = ip_output_send(inp, ifp, m, gw, ro, true); in ip_output()