[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 <jmtapio@verkkotelakka.net> Acked-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
4b88f09364
commit
9908104935
|
@ -2165,6 +2165,9 @@ static int addrconf_notify(struct notifier_block *this, unsigned long event,
|
||||||
dev->name);
|
dev->name);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (idev)
|
||||||
|
idev->if_flags |= IF_READY;
|
||||||
} else {
|
} else {
|
||||||
if (!netif_carrier_ok(dev)) {
|
if (!netif_carrier_ok(dev)) {
|
||||||
/* device is still not ready. */
|
/* device is still not ready. */
|
||||||
|
|
Loading…
Reference in New Issue