Lines Matching defs:rn

794 rn_match_ifscope(struct radix_node *rn, void *arg)
796 struct rtentry *rt = (struct rtentry *)rn;
1676 struct radix_node *rn;
1752 if ((rn = rnh->rnh_deladdr(dst, netmask, rnh)) == NULL)
1754 if (rn->rn_flags & (RNF_ACTIVE | RNF_ROOT)) {
1758 rt = (struct rtentry *)rn;
2035 rn = rnh->rnh_addaddr((caddr_t)ndst, (caddr_t)netmask,
2037 if (rn == 0) {
2062 rn = rnh->rnh_addaddr((caddr_t)ndst,
2074 if (rn == NULL) {
2219 rt_fixdelete(struct radix_node *rn, void *vp)
2221 struct rtentry *rt = (struct rtentry *)rn;
2256 rt_fixchange(struct radix_node *rn, void *vp)
2258 struct rtentry *rt = (struct rtentry *)rn;
2690 struct radix_node *rn;
2715 rn = rnh->rnh_lookup_args(dst, netmask, rnh, f, w);
2716 if (rn != NULL && (rn->rn_flags & RNF_ROOT))
2717 rn = NULL;
2719 return (rn);
2764 struct radix_node *rn0, *rn;
2793 rn = rnh->rnh_matchaddr(dst, rnh);
2800 if (rn != NULL && (rn->rn_flags & RNF_ROOT))
2801 rn = NULL;
2802 if (rn != NULL) {
2803 RT_LOCK_SPIN(RT(rn));
2804 if (!(RT(rn)->rt_flags & RTF_CONDEMNED)) {
2805 RT_ADDREF_LOCKED(RT(rn));
2806 RT_UNLOCK(RT(rn));
2808 RT_UNLOCK(RT(rn));
2809 rn = NULL;
2812 return (RT(rn));
2829 rn0 = rn = node_lookup(dst, netmask, IFSCOPE_NONE);
2853 if (rn != NULL) {
2854 struct rtentry *rt = RT(rn);
2864 rn = NULL;
2877 rn = NULL;
2887 if (rn == NULL)
2888 rn = node_lookup(dst, netmask, ifscope);
2902 if (rn == NULL || coarse || (rn0 != NULL &&
2903 ((SA_DEFAULT(rt_key(RT(rn))) && !SA_DEFAULT(rt_key(RT(rn0)))) ||
2904 (!RT_HOST(rn) && RT_HOST(rn0)))))
2905 rn = rn0;
2911 if (rn == NULL && (rn = node_lookup_default(af)) != NULL &&
2912 RT(rn)->rt_ifp->if_index != ifscope)
2913 rn = NULL;
2915 if (rn != NULL) {
2923 RT_LOCK_SPIN(RT(rn));
2924 if (rt_validate(RT(rn))) {
2925 RT_ADDREF_LOCKED(RT(rn));
2926 RT_UNLOCK(RT(rn));
2928 RT_UNLOCK(RT(rn));
2929 rn = NULL;
2933 return (RT(rn));