Lines Matching refs:oif

106 static int rt6_score_route(const struct fib6_nh *nh, u32 fib6_flags, int oif,
414 struct flowi6 *fl6, int oif, bool have_oif_match, in fib6_select_path() argument
449 if (rt6_score_route(nh, sibling->fib6_flags, oif, strict) < 0) in fib6_select_path()
465 const struct in6_addr *saddr, int oif, int flags) in __rt6_device_match() argument
473 if (oif) { in __rt6_device_match()
474 if (dev->ifindex == oif) in __rt6_device_match()
488 int oif; member
498 return __rt6_device_match(arg->net, nh, arg->saddr, arg->oif, in __rt6_nh_dev_match()
506 int oif, int flags) in rt6_nh_dev_match() argument
511 .oif = oif, in rt6_nh_dev_match()
525 const struct in6_addr *saddr, int oif, int flags) in rt6_device_match() argument
531 if (!oif && ipv6_addr_any(saddr)) { in rt6_device_match()
548 oif, flags); in rt6_device_match()
553 if (__rt6_device_match(net, nh, saddr, oif, flags)) in rt6_device_match()
562 if (oif && flags & RT6_LOOKUP_F_IFACE) { in rt6_device_match()
706 static int rt6_score_route(const struct fib6_nh *nh, u32 fib6_flags, int oif, in rt6_score_route() argument
711 if (!oif || nh->fib_nh_dev->ifindex == oif) in rt6_score_route()
729 int oif, int strict, int *mpri, bool *do_rr) in find_match() argument
743 m = rt6_score_route(nh, fib6_flags, oif, strict); in find_match()
766 int oif; member
778 return find_match(nh, arg->flags, arg->oif, arg->strict, in rt6_nh_find_match()
785 int oif, int strict, bool *do_rr, int *mpri) in __find_rr_leaf() argument
806 .oif = oif, in __find_rr_leaf()
826 if (find_match(nh, f6i->fib6_flags, oif, strict, in __find_rr_leaf()
840 struct fib6_info *rr_head, int oif, int strict, in find_rr_leaf() argument
848 oif, strict, do_rr, &mpri); in find_rr_leaf()
851 oif, strict, do_rr, &mpri); in find_rr_leaf()
857 oif, strict, do_rr, &mpri); in find_rr_leaf()
860 static void rt6_select(struct net *net, struct fib6_node *fn, int oif, in rt6_select() argument
891 find_rr_leaf(fn, leaf, rt0, oif, strict, &do_rr, res); in rt6_select()
1263 const struct in6_addr *saddr, int oif, in rt6_lookup() argument
1267 .flowi6_oif = oif, in rt6_lookup()
2173 int fib6_table_lookup(struct net *net, struct fib6_table *table, int oif, in fib6_table_lookup() argument
2182 oif = 0; in fib6_table_lookup()
2185 rt6_select(net, fn, oif, res, strict); in fib6_table_lookup()
2204 int oif, struct flowi6 *fl6, in ip6_pol_route() argument
2221 fib6_table_lookup(net, table, oif, fl6, &res, strict); in ip6_pol_route()
2225 fib6_select_path(net, &res, fl6, oif, false, skb, strict); in ip6_pol_route()
2931 int oif, u32 mark, kuid_t uid) in ip6_update_pmtu() argument
2936 .flowi6_oif = oif, in ip6_update_pmtu()
2953 int oif = sk->sk_bound_dev_if; in ip6_sk_update_pmtu() local
2956 if (!oif && skb->dev) in ip6_sk_update_pmtu()
2957 oif = l3mdev_master_ifindex(skb->dev); in ip6_sk_update_pmtu()
2959 ip6_update_pmtu(skb, sock_net(sk), mtu, oif, sk->sk_mark, sk->sk_uid); in ip6_sk_update_pmtu()
3145 void ip6_redirect(struct sk_buff *skb, struct net *net, int oif, u32 mark, in ip6_redirect() argument
3152 .flowi6_oif = oif, in ip6_redirect()
3166 void ip6_redirect_no_header(struct sk_buff *skb, struct net *net, int oif) in ip6_redirect_no_header() argument
3173 .flowi6_oif = oif, in ip6_redirect_no_header()
6029 int err, iif = 0, oif = 0; in inet6_rtm_getroute() local
6065 oif = nla_get_u32(tb[RTA_OIF]); in inet6_rtm_getroute()
6112 fl6.flowi6_oif = oif; in inet6_rtm_getroute()