From: Kristian Slavov Date: Thu, 9 Feb 2006 00:10:53 +0000 (-0800) Subject: [IPV6]: Address autoconfiguration does not work after device down/up cycle X-Git-Tag: v2.6.16-rc3~52 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=9908104935325bd6beba67d637b6f5396d47075c;p=linux-2.6-omap-h63xx.git [IPV6]: Address autoconfiguration does not work after device down/up cycle If you set network interface down and up again, the IPv6 address autoconfiguration does not work. 'ip addr' shows that the link-local address is in tentative state. We don't even react to periodical router advertisements. During NETDEV_DOWN we clear IF_READY, and we don't set it back in NETDEV_UP. While starting to perform DAD on the link-local address, we notice that the device is not in IF_READY, and we abort autoconfiguration process (which would eventually send router solicitations). Acked-by: Juha-Matti Tapio Acked-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller --- diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index 1db50487916..b7d8822c1be 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c @@ -2165,6 +2165,9 @@ static int addrconf_notify(struct notifier_block *this, unsigned long event, dev->name); break; } + + if (idev) + idev->if_flags |= IF_READY; } else { if (!netif_carrier_ok(dev)) { /* device is still not ready. */