Similar to IPv4, flush non-permanent neighbor entries on carrier down
to improve path selection for multipath routes.

Signed-off-by: Satish Ashok <sas...@cmulusnetworks.com>
Signed-off-by: David Ahern <dsah...@gmail.com>
---
 net/ipv6/addrconf.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index 5a8a10229a07..85bddff5eac6 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -3432,6 +3432,9 @@ static int addrconf_notify(struct notifier_block *this, 
unsigned long event,
                                run_pending = 1;
                        }
                } else if (event == NETDEV_CHANGE) {
+                       if (idev && idev->cnf.ignore_routes_with_linkdown)
+                               neigh_carrier_down(&nd_tbl, dev);
+
                        if (!addrconf_link_ready(dev)) {
                                /* device is still not ready. */
                                break;
-- 
2.1.4

Reply via email to