| From foo@baz Thu Mar 22 14:57:32 CET 2018 |
| From: David Ahern <dsa@cumulusnetworks.com> |
| Date: Wed, 12 Apr 2017 11:49:04 -0700 |
| Subject: net: ipv6: send unsolicited NA on admin up |
| |
| From: David Ahern <dsa@cumulusnetworks.com> |
| |
| |
| [ Upstream commit 4a6e3c5def13c91adf2acc613837001f09af3baa ] |
| |
| 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> |
| Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| net/ipv6/ndisc.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| --- a/net/ipv6/ndisc.c |
| +++ b/net/ipv6/ndisc.c |
| @@ -1686,6 +1686,8 @@ static int ndisc_netdev_event(struct not |
| 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; |