diff options
author | kfraser@localhost.localdomain <kfraser@localhost.localdomain> | 2007-01-12 15:23:07 +0000 |
---|---|---|
committer | kfraser@localhost.localdomain <kfraser@localhost.localdomain> | 2007-01-12 15:23:07 +0000 |
commit | 8c338f84ea1597806ead6fa70dbacca9c726cb3f (patch) | |
tree | f74c0ce5a4a60e2df369aaddab8d33b30b594d58 /patches | |
parent | 772d62af6ad8a58aad1d2db35ab4f2e78c3a0a4c (diff) | |
download | xen-8c338f84ea1597806ead6fa70dbacca9c726cb3f.tar.gz xen-8c338f84ea1597806ead6fa70dbacca9c726cb3f.tar.bz2 xen-8c338f84ea1597806ead6fa70dbacca9c726cb3f.zip |
[LINUX] ipv6: Disable addrconf on Xen bridge device
The ipv6-no-autoconf patch didn't disable IPv6 addrconf completely.
This means that the Xen bridge device still interfered with normal
IPv6 operation by engaging the IPv6 network with a bogus MAC address.
For details please refer to
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=200360
The following patch completely disables IPv6 on the Xen bridge device
by temporarily setting the MTU to a value less than the minimum
allowed for IPv6.
Upstream will provide a cleaner way to disable IPv6 addrconf in
future, possibly in the form of a proc sysctl. Of course if the Xen
loopback device is removed it would render this change unnecessary.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'patches')
-rw-r--r-- | patches/linux-2.6.16.33/ipv6-no-autoconf.patch | 19 | ||||
-rw-r--r-- | patches/linux-2.6.16.33/series | 1 |
2 files changed, 0 insertions, 20 deletions
diff --git a/patches/linux-2.6.16.33/ipv6-no-autoconf.patch b/patches/linux-2.6.16.33/ipv6-no-autoconf.patch deleted file mode 100644 index e0d1b8c681..0000000000 --- a/patches/linux-2.6.16.33/ipv6-no-autoconf.patch +++ /dev/null @@ -1,19 +0,0 @@ -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; - diff --git a/patches/linux-2.6.16.33/series b/patches/linux-2.6.16.33/series index 8410fb3bde..7200d2758e 100644 --- a/patches/linux-2.6.16.33/series +++ b/patches/linux-2.6.16.33/series @@ -9,7 +9,6 @@ device_bind.patch fix-hz-suspend.patch fix-ide-cd-pio-mode.patch i386-mach-io-check-nmi.patch -ipv6-no-autoconf.patch net-csum.patch net-gso-0-base.patch net-gso-1-check-dodgy.patch |