On Wed, Nov 21, 2018 at 01:24:25PM +0100, Pablo Neira Ayuso wrote: > 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. Or I can append it here, but I need your consent, 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 > >