Lines Matching refs:strict

95 static int rt6_score_route(struct rt6_info *rt, int oif, int strict);
410 int strict) in rt6_multipath_select() argument
424 if (rt6_score_route(sibling, oif, strict) < 0) in rt6_multipath_select()
601 int strict) in rt6_score_route() argument
606 if (!m && (strict & RT6_LOOKUP_F_IFACE)) in rt6_score_route()
611 if (strict & RT6_LOOKUP_F_REACHABLE) { in rt6_score_route()
619 static struct rt6_info *find_match(struct rt6_info *rt, int oif, int strict, in find_match() argument
629 m = rt6_score_route(rt, oif, strict); in find_match()
637 if (strict & RT6_LOOKUP_F_REACHABLE) in find_match()
652 u32 metric, int oif, int strict, in find_rr_leaf() argument
661 match = find_match(rt, oif, strict, &mpri, match, do_rr); in find_rr_leaf()
664 match = find_match(rt, oif, strict, &mpri, match, do_rr); in find_rr_leaf()
669 static struct rt6_info *rt6_select(struct fib6_node *fn, int oif, int strict) in rt6_select() argument
679 match = find_rr_leaf(fn, rt0, rt0->rt6i_metric, oif, strict, in rt6_select()
823 const struct in6_addr *saddr, int oif, int strict) in rt6_lookup() argument
830 int flags = strict ? RT6_LOOKUP_F_IFACE : 0; in rt6_lookup()
920 int strict = 0; in ip6_pol_route() local
924 strict |= flags & RT6_LOOKUP_F_IFACE; in ip6_pol_route()
926 strict |= RT6_LOOKUP_F_REACHABLE; in ip6_pol_route()
935 rt = rt6_select(fn, oif, strict); in ip6_pol_route()
937 rt = rt6_multipath_select(rt, fl6, oif, strict); in ip6_pol_route()
942 else if (strict & RT6_LOOKUP_F_REACHABLE) { in ip6_pol_route()
944 strict &= ~RT6_LOOKUP_F_REACHABLE; in ip6_pol_route()