From: Chris Wright Date: Wed, 15 Feb 2006 23:07:41 +0000 (-0800) Subject: IPV6 autoconfiguration fix, fwd from Brix, ack from DaveM X-Git-Tag: v2.6.15.5~33 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=fcbbf0ca7e063bf13971b2423dfd8023544b5dc8;p=thirdparty%2Fkernel%2Fstable-queue.git IPV6 autoconfiguration fix, fwd from Brix, ack from DaveM --- diff --git a/queue/address-autoconfiguration-does-not-work-after-device-down-up-cycle.patch b/queue/address-autoconfiguration-does-not-work-after-device-down-up-cycle.patch new file mode 100644 index 00000000000..fe032a02eaa --- /dev/null +++ b/queue/address-autoconfiguration-does-not-work-after-device-down-up-cycle.patch @@ -0,0 +1,40 @@ +From stable-bounces@linux.kernel.org Wed Feb 15 14:45:50 2006 +Date: Wed, 15 Feb 2006 23:42:14 +0100 +From: Henrik Brix Andersen +To: stable@kernel.org +Cc: YOSHIFUJI Hideaki , dsd@gentoo.org, Juha-Matti Tapio , "David S. Miller" +Subject: [IPV6]: Address autoconfiguration does not work after device down/up cycle + +From: Kristian Slavov + +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 +Signed-off-by: Chris Wright +--- + + net/ipv6/addrconf.c | 3 +++ + 1 files changed, 3 insertions(+) + +--- linux-2.6.15.4.orig/net/ipv6/addrconf.c ++++ linux-2.6.15.4/net/ipv6/addrconf.c +@@ -2164,6 +2164,9 @@ static int addrconf_notify(struct notifi + dev->name); + break; + } ++ ++ if (idev) ++ idev->if_flags |= IF_READY; + } else { + if (!netif_carrier_ok(dev)) { + /* device is still not ready. */ diff --git a/queue/series b/queue/series index 9f4e8a59c2d..a4a48e5add4 100644 --- a/queue/series +++ b/queue/series @@ -6,3 +6,4 @@ i386-move-phys_proc_id-early-intel-workaround-to-correct-function.patch hugetlbfs-mmap-enomem-failure.patch reiserfs-disable-automatic-enabling-of-reiserfs-inode-attributes.patch revert-skb_copy_datagram_iovec-recursion-elimination.patch +address-autoconfiguration-does-not-work-after-device-down-up-cycle.patch