Re: [PATCH v2] ipv6: Preserve link scope traffic original oif

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Nov 21, 2018 at 12:17:50PM +0100, Alin Nastac wrote:
> When ip6_route_me_harder is invoked, it resets outgoing interface of:
>   - link-local scoped packets sent by neighbor discovery
>   - multicast packets sent by MLD host
>   - multicast packets send by MLD proxy daemon that sets outgoing
>     interface through IPV6_PKTINFO ipi6_ifindex
> 
> Link-local and multicast packets must keep their original oif after
> ip6_route_me_harder is called.

Please, resubmit including your Signed-off-by tag.

Thanks!

> ---
>  net/ipv6/netfilter.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/net/ipv6/netfilter.c b/net/ipv6/netfilter.c
> index 5ae8e1c..8b075f0 100644
> --- a/net/ipv6/netfilter.c
> +++ b/net/ipv6/netfilter.c
> @@ -24,7 +24,8 @@ int ip6_route_me_harder(struct net *net, struct sk_buff *skb)
>  	unsigned int hh_len;
>  	struct dst_entry *dst;
>  	struct flowi6 fl6 = {
> -		.flowi6_oif = sk ? sk->sk_bound_dev_if : 0,
> +		.flowi6_oif = sk && sk->sk_bound_dev_if ? sk->sk_bound_dev_if :
> +			rt6_need_strict(&iph->daddr) ? skb_dst(skb)->dev->ifindex : 0,
>  		.flowi6_mark = skb->mark,
>  		.flowi6_uid = sock_net_uid(net, sk),
>  		.daddr = iph->daddr,
> -- 
> 2.7.4
> 



[Index of Archives]     [Netfitler Users]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux