Lines Matching refs:nh
350 struct nhop_object *nh, union sockaddr_union *saun, struct ucred *cred) in rtm_get_jailed() argument
357 if (prison_if(cred, nh->nh_ifa->ifa_addr) == 0) { in rtm_get_jailed()
358 info->rti_info[RTAX_IFA] = nh->nh_ifa->ifa_addr; in rtm_get_jailed()
391 ia = ((struct sockaddr_in *)nh->nh_ifa->ifa_addr)-> in rtm_get_jailed()
433 ia6 = ((struct sockaddr_in6 *)nh->nh_ifa->ifa_addr)-> in rtm_get_jailed()
604 select_nhop(struct nhop_object *nh, const struct sockaddr *gw) in select_nhop() argument
606 if (!NH_IS_NHGRP(nh)) in select_nhop()
607 return (nh); in select_nhop()
611 wn = nhgrp_get_nhops((struct nhgrp_object *)nh, &num_nhops); in select_nhop()
613 return (wn[0].nh); in select_nhop()
615 if (match_nhop_gw(wn[i].nh, gw)) in select_nhop()
616 return (wn[i].nh); in select_nhop()
635 struct nhop_object *nh; in handle_rtm_get() local
671 nh = select_nhop(rt_get_raw_nhop(rc->rc_rt), info->rti_info[RTAX_GATEWAY]); in handle_rtm_get()
672 if (nh == NULL) { in handle_rtm_get()
686 if (nh->nh_ifp != NULL && in handle_rtm_get()
687 nh->nh_ifp->if_type == IFT_PROPVIRTUAL) { in handle_rtm_get()
697 rt_maskedcopy(nh->nh_ifa->ifa_addr, in handle_rtm_get()
699 nh->nh_ifa->ifa_netmask); in handle_rtm_get()
709 nh = select_nhop(rt_get_raw_nhop(rc->rc_rt), info->rti_info[RTAX_GATEWAY]); in handle_rtm_get()
710 if (nh == NULL) { in handle_rtm_get()
715 rc->rc_nh_new = nh; in handle_rtm_get()
865 rt_getmetrics(const struct rtentry *rt, const struct nhop_object *nh, in rt_getmetrics() argument
870 out->rmx_mtu = nh->nh_mtu; in rt_getmetrics()
872 out->rmx_nhidx = nhop_get_idx(nh); in rt_getmetrics()
936 int alloc_len, struct rib_cmd_info *rc, struct nhop_object *nh, unsigned maxlen) in update_rtm_from_rc() argument
952 info->rti_info[RTAX_GATEWAY] = &nh->gw_sa; in update_rtm_from_rc()
954 ifp = nh->nh_ifp; in update_rtm_from_rc()
959 error = rtm_get_jailed(info, ifp, nh, in update_rtm_from_rc()
965 nh->nh_ifa->ifa_dstaddr; in update_rtm_from_rc()
1001 rtm->rtm_flags = rc->rc_rt->rte_flags | nhop_get_rtflags(nh); in update_rtm_from_rc()
1005 rt_getmetrics(rc->rc_rt, nh, &rtm->rtm_rmx); in update_rtm_from_rc()
1047 struct nhop_object *nh; in ff_rtioctl() local
1068 nh = NULL; in ff_rtioctl()
1132 nh = rc.rc_nh_new; in ff_rtioctl()
1133 rtm->rtm_index = nh->nh_ifp->if_index; in ff_rtioctl()
1134 rtm->rtm_flags = rc.rc_rt->rte_flags | nhop_get_rtflags(nh); in ff_rtioctl()
1150 nh = rc.rc_nh_old; in ff_rtioctl()
1163 nh = rc.rc_nh_new; in ff_rtioctl()
1172 error = update_rtm_from_rc(&info, &rtm, alloc_len, &rc, nh, maxlen); in ff_rtioctl()