OSDN Git Service

vxlan: fix the issue that neigh proxy blocks all icmpv6 packets
authorXin Long <lucien.xin@gmail.com>
Sat, 11 Nov 2017 11:58:50 +0000 (19:58 +0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 14 Nov 2017 07:12:01 +0000 (16:12 +0900)
commit8bff3685a4bbf175a96bc6a528f13455d8d38244
tree63ccad8d4c269c5d68595925e5f4da54d59d8f2e
parentbaeb0dbbb56598a2ccd98b56e0da3e9d22869112
vxlan: fix the issue that neigh proxy blocks all icmpv6 packets

Commit f1fb08f6337c ("vxlan: fix ND proxy when skb doesn't have transport
header offset") removed icmp6_code and icmp6_type check before calling
neigh_reduce when doing neigh proxy.

It means all icmpv6 packets would be blocked by this, not only ns packet.
In Jianlin's env, even ping6 couldn't work through it.

This patch is to bring the icmp6_code and icmp6_type check back and also
removed the same check from neigh_reduce().

Fixes: f1fb08f6337c ("vxlan: fix ND proxy when skb doesn't have transport header offset")
Reported-by: Jianlin Shi <jishi@redhat.com>
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Reviewed-by: Vincent Bernat <vincent@bernat.im>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/vxlan.c