net: ipv6: send unsolicited NA on admin up
authorDavid Ahern <dsa@cumulusnetworks.com>
Wed, 12 Apr 2017 18:49:04 +0000 (11:49 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 17 Apr 2017 16:44:55 +0000 (12:44 -0400)
ndisc_notify is the ipv6 equivalent to arp_notify. When arp_notify is
set to 1, gratuitous arp requests are sent when the device is brought up.
The same is expected when ndisc_notify is set to 1 (per ndisc_notify in
Documentation/networking/ip-sysctl.txt). The NA is not sent on NETDEV_UP
event; add it.

Fixes: 5cb04436eef6 ("ipv6: add knob to send unsolicited ND on link-layer address change")
Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
Acked-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/ndisc.c

index b5812b3..b23822e 100644 (file)
@@ -1748,6 +1748,8 @@ static int ndisc_netdev_event(struct notifier_block *this, unsigned long event,
        case NETDEV_CHANGEADDR:
                neigh_changeaddr(&nd_tbl, dev);
                fib6_run_gc(0, net, false);
+               /* fallthrough */
+       case NETDEV_UP:
                idev = in6_dev_get(dev);
                if (!idev)
                        break;