Lines Matching refs:rn

713 rn_match_ifscope(struct radix_node *rn, void *arg)
715 struct rtentry *rt = (struct rtentry *)rn;
1603 struct radix_node *rn;
1679 if ((rn = rnh->rnh_deladdr(dst, netmask, rnh)) == NULL)
1681 if (rn->rn_flags & (RNF_ACTIVE | RNF_ROOT))
1683 rt = (struct rtentry *)rn;
1915 rn = rnh->rnh_addaddr((caddr_t)ndst, (caddr_t)netmask,
1917 if (rn == 0) {
1942 rn = rnh->rnh_addaddr((caddr_t)ndst,
1955 if (rn == NULL) {
2099 rt_fixdelete(struct radix_node *rn, void *vp)
2101 struct rtentry *rt = (struct rtentry *)rn;
2136 rt_fixchange(struct radix_node *rn, void *vp)
2138 struct rtentry *rt = (struct rtentry *)rn;
2564 struct radix_node *rn;
2589 rn = rnh->rnh_lookup_args(dst, netmask, rnh, f, w);
2590 if (rn != NULL && (rn->rn_flags & RNF_ROOT))
2591 rn = NULL;
2593 return (rn);
2638 struct radix_node *rn0, *rn;
2658 rn = rnh->rnh_matchaddr(dst, rnh);
2665 if (rn != NULL && (rn->rn_flags & RNF_ROOT))
2666 rn = NULL;
2667 if (rn != NULL) {
2668 RT_LOCK_SPIN(RT(rn));
2669 if (!(RT(rn)->rt_flags & RTF_CONDEMNED)) {
2670 RT_ADDREF_LOCKED(RT(rn));
2671 RT_UNLOCK(RT(rn));
2673 RT_UNLOCK(RT(rn));
2674 rn = NULL;
2677 return (RT(rn));
2694 rn0 = rn = node_lookup(dst, netmask, IFSCOPE_NONE);
2718 if (rn != NULL) {
2719 struct rtentry *rt = RT(rn);
2729 rn = NULL;
2742 rn = NULL;
2752 if (rn == NULL)
2753 rn = node_lookup(dst, netmask, ifscope);
2766 if (rn == NULL || (rn0 != NULL &&
2767 ((SA_DEFAULT(rt_key(RT(rn))) && !SA_DEFAULT(rt_key(RT(rn0)))) ||
2768 (!RT_HOST(rn) && RT_HOST(rn0)))))
2769 rn = rn0;
2775 if (rn == NULL && (rn = node_lookup_default(af)) != NULL &&
2776 RT(rn)->rt_ifp->if_index != ifscope)
2777 rn = NULL;
2779 if (rn != NULL) {
2787 RT_LOCK_SPIN(RT(rn));
2788 if (rt_validate(RT(rn))) {
2789 RT_ADDREF_LOCKED(RT(rn));
2790 RT_UNLOCK(RT(rn));
2792 RT_UNLOCK(RT(rn));
2793 rn = NULL;
2797 return (RT(rn));