ipv6: flush nd cache on IFF_NOARP change
authorEric Dumazet <edumazet@google.com>
Wed, 29 Jul 2015 10:01:41 +0000 (12:01 +0200)
committerDavid S. Miller <davem@davemloft.net>
Thu, 30 Jul 2015 06:01:39 +0000 (23:01 -0700)
commitc8507fb235bea3314a02a67ddda0d4e6cf01fa78
tree72614a517252c75efc1b8e3b1803cb6cc395c92c
parentb2428f94f4f79cc6045e538ed3e8329b16711712
ipv6: flush nd cache on IFF_NOARP change

This patch is the IPv6 equivalent of commit
6c8b4e3ff81b ("arp: flush arp cache on IFF_NOARP change")

Without it, we keep buggy neighbours in the cache, with destination
MAC address equal to our own MAC address.

Tested:
 tcpdump -i eth0 -s 0 ip6 -n -e &
 ip link set dev eth0 arp off
 ping6 remote   // sends buggy frames
 ip link set dev eth0 arp on
 ping6 remote   // should work once kernel is patched

Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: Mario Fanelli <mariofanelli@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/ndisc.c