aboutsummaryrefslogtreecommitdiffstats
path: root/patches/linux-2.6.16.29/ipv6-no-autoconf.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/linux-2.6.16.29/ipv6-no-autoconf.patch')
-rw-r--r--patches/linux-2.6.16.29/ipv6-no-autoconf.patch19
1 files changed, 19 insertions, 0 deletions
diff --git a/patches/linux-2.6.16.29/ipv6-no-autoconf.patch b/patches/linux-2.6.16.29/ipv6-no-autoconf.patch
new file mode 100644
index 0000000000..e0d1b8c681
--- /dev/null
+++ b/patches/linux-2.6.16.29/ipv6-no-autoconf.patch
@@ -0,0 +1,19 @@
+diff -pruN ../orig-linux-2.6.16.29/net/ipv6/addrconf.c ./net/ipv6/addrconf.c
+--- ../orig-linux-2.6.16.29/net/ipv6/addrconf.c 2006-09-12 19:02:10.000000000 +0100
++++ ./net/ipv6/addrconf.c 2006-09-19 13:59:11.000000000 +0100
+@@ -2471,6 +2471,7 @@ static void addrconf_dad_start(struct in
+ spin_lock_bh(&ifp->lock);
+
+ if (dev->flags&(IFF_NOARP|IFF_LOOPBACK) ||
++ !(dev->flags&IFF_MULTICAST) ||
+ !(ifp->flags&IFA_F_TENTATIVE)) {
+ ifp->flags &= ~IFA_F_TENTATIVE;
+ spin_unlock_bh(&ifp->lock);
+@@ -2555,6 +2556,7 @@ static void addrconf_dad_completed(struc
+ if (ifp->idev->cnf.forwarding == 0 &&
+ ifp->idev->cnf.rtr_solicits > 0 &&
+ (dev->flags&IFF_LOOPBACK) == 0 &&
++ (dev->flags & IFF_MULTICAST) &&
+ (ipv6_addr_type(&ifp->addr) & IPV6_ADDR_LINKLOCAL)) {
+ struct in6_addr all_routers;
+