]> git.baikalelectronics.ru Git - kernel.git/commit
net: ipv6: Always leave anycast and multicast groups on link down
authorMike Manning <mmanning@brocade.com>
Fri, 22 Jul 2016 17:32:11 +0000 (18:32 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 25 Jul 2016 18:15:58 +0000 (11:15 -0700)
commit29a7f4c941e2e1b9a82ddd428616e3a20e8eff06
treef79c0cbc54e72a0e2a4b16211a6b53959b9c7fbf
parent2e682e7615b5f6acee261be75f3c7525e653b9da
net: ipv6: Always leave anycast and multicast groups on link down

Default kernel behavior is to delete IPv6 addresses on link
down, which entails deletion of the multicast and the
subnet-router anycast addresses. These deletions do not
happen with sysctl setting to keep global IPv6 addresses on
link down, so every link down/up causes an increment of the
anycast and multicast refcounts. These bogus refcounts may
stop these addrs from being removed on subsequent calls to
delete them. The solution is to leave the groups for the
multicast and subnet anycast on link down for the callflow
when global IPv6 addresses are kept.

Fixes: 101154d9fab9 ("net: ipv6: Make address flushing on ifdown optional")
Signed-off-by: Mike Manning <mmanning@brocade.com>
Acked-by: David Ahern <dsa@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/addrconf.c