[IPV6]: Call inet6addr_chain notifiers on link down
authorVlad Yasevich <vladislav.yasevich@hp.com>
Sun, 15 Jul 2007 07:16:35 +0000 (00:16 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sun, 15 Jul 2007 07:16:35 +0000 (00:16 -0700)
Currently if the link is brought down via ip link or ifconfig down,
the inet6addr_chain notifiers are not called even though all
the addresses are removed from the interface.  This caused SCTP
to add duplicate addresses to it's list.

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/addrconf.c

index 24424c3b7dc0e5918bb0b35295db8f73d0ee7591..06012920912a2f44e4f0b961e7c7108279a180de 100644 (file)
@@ -2475,6 +2475,7 @@ static int addrconf_ifdown(struct net_device *dev, int how)
                write_unlock_bh(&idev->lock);
 
                __ipv6_ifa_notify(RTM_DELADDR, ifa);
+               atomic_notifier_call_chain(&inet6addr_chain, NETDEV_DOWN, ifa);
                in6_ifa_put(ifa);
 
                write_lock_bh(&idev->lock);