lkml.org 
[lkml]   [2016]   [Aug]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.6 10/56] net: ipv6: Always leave anycast and multicast groups on link down
    Date
    4.6-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Mike Manning <mmanning@brocade.com>

    [ Upstream commit ea06f7176413e2538d13bb85b65387d0917943d9 ]

    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: f1705ec197e7 ("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>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    net/ipv6/addrconf.c | 4 ++++
    1 file changed, 4 insertions(+)

    --- a/net/ipv6/addrconf.c
    +++ b/net/ipv6/addrconf.c
    @@ -3563,6 +3563,10 @@ restart:
    if (state != INET6_IFADDR_STATE_DEAD) {
    __ipv6_ifa_notify(RTM_DELADDR, ifa);
    inet6addr_notifier_call_chain(NETDEV_DOWN, ifa);
    + } else {
    + if (idev->cnf.forwarding)
    + addrconf_leave_anycast(ifa);
    + addrconf_leave_solict(ifa->idev, &ifa->addr);
    }

    write_lock_bh(&idev->lock);

    \
     
     \ /
      Last update: 2016-09-17 09:56    [W:4.101 / U:0.040 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site