Lines Matching refs:rt
87 struct rtentry *rt = uma_zalloc(V_rtzone, M_NOWAIT | M_ZERO); in rt_alloc() local
88 if (rt == NULL) in rt_alloc()
90 rt->rte_flags = RTF_UP | (netmask == NULL ? RTF_HOST : 0); in rt_alloc()
94 rt_maskedcopy(dst, &rt->rt_dst, netmask); in rt_alloc()
96 bcopy(dst, &rt->rt_dst, dst->sa_len); in rt_alloc()
97 rt_key(rt) = &rt->rt_dst; in rt_alloc()
99 rt_mask(rt) = netmask; in rt_alloc()
101 return (rt); in rt_alloc()
105 destroy_rtentry(struct rtentry *rt) in destroy_rtentry() argument
108 struct nhop_object *nh = rt->rt_nhop; in destroy_rtentry()
127 nhop_free_any(rt->rt_nhop); in destroy_rtentry()
129 rt_free_immediate(rt); in destroy_rtentry()
140 struct rtentry *rt; in destroy_rtentry_epoch() local
142 rt = __containerof(ctx, struct rtentry, rt_epoch_ctx); in destroy_rtentry_epoch()
144 destroy_rtentry(rt); in destroy_rtentry_epoch()
151 rt_free(struct rtentry *rt) in rt_free() argument
154 KASSERT(rt != NULL, ("%s: NULL rt", __func__)); in rt_free()
156 NET_EPOCH_CALL(destroy_rtentry_epoch, &rt->rt_epoch_ctx); in rt_free()
160 rt_free_immediate(struct rtentry *rt) in rt_free_immediate() argument
162 uma_zfree(V_rtzone, rt); in rt_free_immediate()
166 rt_is_host(const struct rtentry *rt) in rt_is_host() argument
169 return (rt->rte_flags & RTF_HOST); in rt_is_host()
173 rt_get_family(const struct rtentry *rt) in rt_get_family() argument
177 dst = (const struct sockaddr *)rt_key_const(rt); in rt_get_family()
187 rt_get_raw_nhop(const struct rtentry *rt) in rt_get_raw_nhop() argument
190 return (rt->rt_nhop); in rt_get_raw_nhop()
194 rt_get_rnd(const struct rtentry *rt, struct route_nhop_data *rnd) in rt_get_rnd() argument
196 rnd->rnd_nhop = rt->rt_nhop; in rt_get_rnd()
197 rnd->rnd_weight = rt->rt_weight; in rt_get_rnd()
206 rt_is_exportable(const struct rtentry *rt, struct ucred *cred) in rt_is_exportable() argument
208 if (!rt_is_host(rt)) { in rt_is_exportable()
216 if (prison_if(cred, rt_key_const(rt)) != 0) in rt_is_exportable()
230 rt_get_inet_prefix_plen(const struct rtentry *rt, struct in_addr *paddr, in rt_get_inet_prefix_plen() argument
235 dst = (const struct sockaddr_in *)rt_key_const(rt); in rt_get_inet_prefix_plen()
239 dst = (const struct sockaddr_in *)rt_mask_const(rt); in rt_get_inet_prefix_plen()
253 rt_get_inet_prefix_pmask(const struct rtentry *rt, struct in_addr *paddr, in rt_get_inet_prefix_pmask() argument
258 dst = (const struct sockaddr_in *)rt_key_const(rt); in rt_get_inet_prefix_pmask()
262 dst = (const struct sockaddr_in *)rt_mask_const(rt); in rt_get_inet_prefix_pmask()
286 rt_get_inet6_prefix_plen(const struct rtentry *rt, struct in6_addr *paddr, in rt_get_inet6_prefix_plen() argument
291 dst = (const struct sockaddr_in6 *)rt_key_const(rt); in rt_get_inet6_prefix_plen()
298 dst = (const struct sockaddr_in6 *)rt_mask_const(rt); in rt_get_inet6_prefix_plen()
311 rt_get_inet6_prefix_pmask(const struct rtentry *rt, struct in6_addr *paddr, in rt_get_inet6_prefix_pmask() argument
316 dst = (const struct sockaddr_in6 *)rt_key_const(rt); in rt_get_inet6_prefix_pmask()
323 dst = (const struct sockaddr_in6 *)rt_mask_const(rt); in rt_get_inet6_prefix_pmask()