Lines Matching refs:ro

211     const struct sockaddr *gw, struct route *ro, bool stamp_tag)  in ip_output_send()  argument
274 error = (*ifp->if_output)(ifp, m, gw, ro); in ip_output_send()
294 rt_update_ro_flags(struct route *ro, const struct nhop_object *nh) in rt_update_ro_flags() argument
298 ro->ro_flags &= ~ (RT_REJECT|RT_BLACKHOLE|RT_HAS_GW); in rt_update_ro_flags()
300 ro->ro_flags |= (nh_flags & NHF_REJECT) ? RT_REJECT : 0; in rt_update_ro_flags()
301 ro->ro_flags |= (nh_flags & NHF_BLACKHOLE) ? RT_BLACKHOLE : 0; in rt_update_ro_flags()
302 ro->ro_flags |= (nh_flags & NHF_GATEWAY) ? RT_HAS_GW : 0; in rt_update_ro_flags()
318 ip_output(struct mbuf *m, struct mbuf *opt, struct route *ro, int flags, in ip_output() argument
386 if (ro == NULL) { in ip_output()
387 ro = &iproute; in ip_output()
388 bzero(ro, sizeof (*ro)); in ip_output()
390 dst = (struct sockaddr_in *)&ro->ro_dst; in ip_output()
391 if (ro->ro_nh == NULL) { in ip_output()
402 if (inp != NULL && ro->ro_nh != NULL) in ip_output()
403 NH_VALIDATE(ro, &inp->inp_rt_cookie, fibnum); in ip_output()
412 if (ro->ro_nh != NULL && in ip_output()
413 ((!NH_IS_VALID(ro->ro_nh)) || dst->sin_family != AF_INET || in ip_output()
415 RO_INVALIDATE_CACHE(ro); in ip_output()
470 } else if (ro != &iproute) { in ip_output()
471 if (ro->ro_nh == NULL) { in ip_output()
479 ro->ro_nh = fib4_lookup(fibnum, dst->sin_addr, 0, in ip_output()
482 if (ro->ro_nh == NULL || (!NH_IS_VALID(ro->ro_nh))) { in ip_output()
496 struct nhop_object *nh = ro->ro_nh; in ip_output()
501 rt_update_ro_flags(ro, nh); in ip_output()
535 rt_update_ro_flags(ro, nh); in ip_output()
550 __func__, mtu, ro, in ip_output()
551 (ro != NULL && ro->ro_nh != NULL) ? ro->ro_nh->nh_flags : 0, ifp)); in ip_output()
718 if (ro != NULL) { in ip_output()
719 RO_NHFREE(ro); in ip_output()
720 ro->ro_prepend = NULL; in ip_output()
814 error = ip_output_send(inp, ifp, m, gw, ro, in ip_output()
852 error = ip_output_send(inp, ifp, m, gw, ro, true); in ip_output()