• Home
  • Raw
  • Download

Lines Matching refs:fn

684 static struct rt6_info *find_rr_leaf(struct fib6_node *fn,  in find_rr_leaf()  argument
703 for (rt = fn->leaf; rt && rt != rr_head; rt = rt->dst.rt6_next) { in find_rr_leaf()
721 static struct rt6_info *rt6_select(struct fib6_node *fn, int oif, int strict) in rt6_select() argument
727 rt0 = fn->rr_ptr; in rt6_select()
729 fn->rr_ptr = rt0 = fn->leaf; in rt6_select()
731 match = find_rr_leaf(fn, rt0, rt0->rt6i_metric, oif, strict, in rt6_select()
739 next = fn->leaf; in rt6_select()
742 fn->rr_ptr = next; in rt6_select()
827 static struct fib6_node* fib6_backtrack(struct fib6_node *fn, in fib6_backtrack() argument
832 if (fn->fn_flags & RTN_TL_ROOT) in fib6_backtrack()
834 pn = fn->parent; in fib6_backtrack()
835 if (FIB6_SUBTREE(pn) && FIB6_SUBTREE(pn) != fn) in fib6_backtrack()
836 fn = fib6_lookup(FIB6_SUBTREE(pn), NULL, saddr); in fib6_backtrack()
838 fn = pn; in fib6_backtrack()
839 if (fn->fn_flags & RTN_RTINFO) in fib6_backtrack()
840 return fn; in fib6_backtrack()
848 struct fib6_node *fn; in ip6_pol_route_lookup() local
855 fn = fib6_lookup(&table->tb6_root, &fl6->daddr, &fl6->saddr); in ip6_pol_route_lookup()
857 rt = fn->leaf; in ip6_pol_route_lookup()
862 fn = fib6_backtrack(fn, &fl6->saddr); in ip6_pol_route_lookup()
863 if (fn) in ip6_pol_route_lookup()
1043 struct fib6_node *fn, *saved_fn; in ip6_pol_route() local
1053 fn = fib6_lookup(&table->tb6_root, &fl6->daddr, &fl6->saddr); in ip6_pol_route()
1054 saved_fn = fn; in ip6_pol_route()
1060 rt = rt6_select(fn, oif, strict); in ip6_pol_route()
1064 fn = fib6_backtrack(fn, &fl6->saddr); in ip6_pol_route()
1065 if (fn) in ip6_pol_route()
1070 fn = saved_fn; in ip6_pol_route()
1322 struct fib6_node *fn; in ip6_link_failure() local
1325 fn = rcu_dereference(rt->rt6i_node); in ip6_link_failure()
1326 if (fn && (rt->rt6i_flags & RTF_DEFAULT)) in ip6_link_failure()
1327 fn->fn_sernum = -1; in ip6_link_failure()
1443 struct fib6_node *fn; in __ip6_route_redirect() local
1456 fn = fib6_lookup(&table->tb6_root, &fl6->daddr, &fl6->saddr); in __ip6_route_redirect()
1458 for (rt = fn->leaf; rt; rt = rt->dst.rt6_next) { in __ip6_route_redirect()
1480 fn = fib6_backtrack(fn, &fl6->saddr); in __ip6_route_redirect()
1481 if (fn) in __ip6_route_redirect()
2118 struct fib6_node *fn; in ip6_route_del() local
2128 fn = fib6_locate(&table->tb6_root, in ip6_route_del()
2132 if (fn) { in ip6_route_del()
2133 for (rt = fn->leaf; rt; rt = rt->dst.rt6_next) { in ip6_route_del()
2316 struct fib6_node *fn; in rt6_get_route_info() local
2326 fn = fib6_locate(&table->tb6_root, prefix, prefixlen, NULL, 0); in rt6_get_route_info()
2327 if (!fn) in rt6_get_route_info()
2330 for (rt = fn->leaf; rt; rt = rt->dst.rt6_next) { in rt6_get_route_info()