Lines Matching refs:oif

99 static int rt6_score_route(struct rt6_info *rt, int oif, int strict);
437 struct flowi6 *fl6, int oif, in rt6_multipath_select() argument
452 if (rt6_score_route(sibling, oif, strict) < 0) in rt6_multipath_select()
468 int oif, in rt6_device_match() argument
474 if (!oif && ipv6_addr_any(saddr)) in rt6_device_match()
480 if (oif) { in rt6_device_match()
481 if (dev->ifindex == oif) in rt6_device_match()
485 sprt->rt6i_idev->dev->ifindex != oif) { in rt6_device_match()
489 local->rt6i_idev->dev->ifindex == oif) in rt6_device_match()
501 if (oif) { in rt6_device_match()
586 static inline int rt6_check_dev(struct rt6_info *rt, int oif) in rt6_check_dev() argument
589 if (!oif || dev->ifindex == oif) in rt6_check_dev()
592 rt->rt6i_idev && rt->rt6i_idev->dev->ifindex == oif) in rt6_check_dev()
628 static int rt6_score_route(struct rt6_info *rt, int oif, in rt6_score_route() argument
633 m = rt6_check_dev(rt, oif); in rt6_score_route()
647 static struct rt6_info *find_match(struct rt6_info *rt, int oif, int strict, in find_match() argument
663 m = rt6_score_route(rt, oif, strict); in find_match()
686 u32 metric, int oif, int strict, in find_rr_leaf() argument
700 match = find_match(rt, oif, strict, &mpri, match, do_rr); in find_rr_leaf()
709 match = find_match(rt, oif, strict, &mpri, match, do_rr); in find_rr_leaf()
716 match = find_match(rt, oif, strict, &mpri, match, do_rr); in find_rr_leaf()
721 static struct rt6_info *rt6_select(struct fib6_node *fn, int oif, int strict) in rt6_select() argument
731 match = find_rr_leaf(fn, rt0, rt0->rt6i_metric, oif, strict, in rt6_select()
880 const struct in6_addr *saddr, int oif, int strict) in rt6_lookup() argument
883 .flowi6_oif = oif, in rt6_lookup()
1040 static struct rt6_info *ip6_pol_route(struct net *net, struct fib6_table *table, int oif, in ip6_pol_route() argument
1057 oif = 0; in ip6_pol_route()
1060 rt = rt6_select(fn, oif, strict); in ip6_pol_route()
1062 rt = rt6_multipath_select(rt, fl6, oif, strict); in ip6_pol_route()
1389 int oif, u32 mark) in ip6_update_pmtu() argument
1396 fl6.flowi6_oif = oif; in ip6_update_pmtu()
1493 void ip6_redirect(struct sk_buff *skb, struct net *net, int oif, u32 mark) in ip6_redirect() argument
1501 fl6.flowi6_oif = oif; in ip6_redirect()
1513 void ip6_redirect_no_header(struct sk_buff *skb, struct net *net, int oif, in ip6_redirect_no_header() argument
1523 fl6.flowi6_oif = oif; in ip6_redirect_no_header()
3232 int err, iif = 0, oif = 0; in inet6_rtm_getroute() local
3259 oif = nla_get_u32(tb[RTA_OIF]); in inet6_rtm_getroute()
3282 fl6.flowi6_oif = oif; in inet6_rtm_getroute()
3284 if (netif_index_is_l3_master(net, oif)) { in inet6_rtm_getroute()