Re: 2.6.6: IPv6 initialisation bug

From: YOSHIFUJI Hideaki / 吉藤英明
Date: Mon Jun 28 2004 - 20:01:46 EST


In article <20040628184758.C9214@xxxxxxxxxxxxxxxxxxxxxx> (at Mon, 28 Jun 2004 18:47:58 +0100), Russell King <rmk+lkml@xxxxxxxxxxxxxxxx> says:

> On Tue, Jun 29, 2004 at 02:06:27AM +0900, YOSHIFUJI Hideaki / ?$B5HF#1QL@?(B wrote:
> > In article <20040628010200.A15067@xxxxxxxxxxxxxxxxxxxxxx> (at Mon, 28 Jun 2004 01:02:01 +0100), Russell King <rmk+lkml@xxxxxxxxxxxxxxxx> says:
> >
> > > Ok, I've just tried 2.6.7 out on my root-NFS'd firewall with IPv6 built
> > > in, and it doesn't work because of the problem I described below.
> > :
> > > What's the solution?
> >
> > Bring lo up before bring others up.
> > What does prevent you from doing this?
> > (Do we need some bits to do this automatically?)
>
> When you use root-NFS, the kernel itself brings up the interfaces,
> and IPv6 immediately comes in and tries to configure itself to them,
> trying to create the routes.
>
> Unfortunately, the kernel doesn't bring up lo first because it
> doesn't know to do that.

Okay, would you try the following patch, please?


D: Bring loopback device up first

Signed-Off-By: Hideaki YOSHIFUJI <yoshfuji@xxxxxxxxxxxxxx>

===== net/ipv4/ipconfig.c 1.38 vs edited =====
--- 1.38/net/ipv4/ipconfig.c 2004-06-23 09:06:18 +09:00
+++ edited/net/ipv4/ipconfig.c 2004-06-29 09:53:36 +09:00
@@ -183,7 +183,14 @@

last = &ic_first_dev;
rtnl_shlock();
+
+ /* bring loopback device up first */
+ if (dev_change_flags(&loopback_dev, loopback_dev.flags | IFF_UP) < 0)
+ printk(KERN_ERR "IP-Config: Failed to open %s\n", loopback_dev.name);
+
for (dev = dev_base; dev; dev = dev->next) {
+ if (dev == &loopback_dev)
+ continue;
if (user_dev_name[0] ? !strcmp(dev->name, user_dev_name) :
(!(dev->flags & IFF_LOOPBACK) &&
(dev->flags & (IFF_POINTOPOINT|IFF_BROADCAST)) &&

--
Hideaki YOSHIFUJI @ USAGI Project <yoshfuji@xxxxxxxxxxxxxx>
GPG FP: 9022 65EB 1ECF 3AD1 0BDF 80D8 4807 F894 E062 0EEA
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/