IPv6: only notify protocols if address is compeletely gone

The notifier for address down should only be called if address is completely
gone, not just being marked as tentative on link transistion. The code
in net-next would case bonding/sctp/s390 to see address disappear on link
down, but they would never see it reappear on link up.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
stephen hemminger 2010-04-12 05:41:34 +00:00 committed by David S. Miller
parent d1f84c63a4
commit 8595805aaf

View File

@ -2715,7 +2715,9 @@ static int addrconf_ifdown(struct net_device *dev, int how)
} }
__ipv6_ifa_notify(RTM_DELADDR, ifa); __ipv6_ifa_notify(RTM_DELADDR, ifa);
atomic_notifier_call_chain(&inet6addr_chain, NETDEV_DOWN, ifa); if (ifa->dead)
atomic_notifier_call_chain(&inet6addr_chain,
NETDEV_DOWN, ifa);
in6_ifa_put(ifa); in6_ifa_put(ifa);
write_lock_bh(&idev->lock); write_lock_bh(&idev->lock);