Subject: [PATCH updated] IPV6: Call inet6addr_chain notifiers on link down

From: Vlad Yasevich <[email-masked]>
Date: Fri, 06 Jul 2007 09:32:09 -0400

Dave

Ok... This one was taken off the the system actually running the patch
so I know this one is correct.  I just retested, turning on temporary
addresses as well, and the notification happen correctly.

I was expecting an ACK from Yoshifuji-san before you applied it so feel
free to wait for it.

-vlad
--

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 <[email-masked]>
---
 net/ipv6/addrconf.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index f96ed76..2cc3728 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -2472,6 +2472,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);
-- 
1.5.0.3.438.gc49b2