2007-06-07 18:25:38

by Miles Lane

[permalink] [raw]
Subject: 2.6.22-rc4-mm2 -- ipw2200 -- SIOCSIFADDR: No buffer space available

Hi Andrew,

This might be some problem with my kernel configuration.
I added:
CONFIG_BONDING=y

# dhclient eth1
There is already a pid file /var/run/dhclient.pid with pid 134993416
Internet Systems Consortium DHCP Client V3.0.4
Copyright 2004-2006 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/
SIOCSIFADDR: No buffer space available
Listening on LPF/eth1/00:12:f0:5e:db:2f
Sending on LPF/eth1/00:12:f0:5e:db:2f
Sending on Socket/fallback
DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 6
DHCPOFFER from 192.168.1.1
DHCPREQUEST on eth1 to 255.255.255.255 port 67
DHCPACK from 192.168.1.1
SIOCSIFADDR: No buffer space available
SIOCSIFNETMASK: Cannot assign requested address
SIOCSIFBRDADDR: Cannot assign requested address
SIOCADDRT: Network is unreachable
bound to 192.168.1.2 -- renewal in 2993 seconds.

# ping http://www.yahoo.com
ping: unknown host http://www.yahoo.com

Any suggestions what to try now? I'll go ahead and turn off the
bonding option and see if that helps.

Miles


2007-06-07 20:17:12

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.22-rc4-mm2 -- ipw2200 -- SIOCSIFADDR: No buffer space available

On Thu, 7 Jun 2007 11:25:30 -0700
"Miles Lane" <[email protected]> wrote:

> Hi Andrew,
>
> This might be some problem with my kernel configuration.
> I added:
> CONFIG_BONDING=y
>
> # dhclient eth1
> There is already a pid file /var/run/dhclient.pid with pid 134993416
> Internet Systems Consortium DHCP Client V3.0.4
> Copyright 2004-2006 Internet Systems Consortium.
> All rights reserved.
> For info, please visit http://www.isc.org/sw/dhcp/
> SIOCSIFADDR: No buffer space available
> Listening on LPF/eth1/00:12:f0:5e:db:2f
> Sending on LPF/eth1/00:12:f0:5e:db:2f
> Sending on Socket/fallback
> DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 6
> DHCPOFFER from 192.168.1.1
> DHCPREQUEST on eth1 to 255.255.255.255 port 67
> DHCPACK from 192.168.1.1
> SIOCSIFADDR: No buffer space available
> SIOCSIFNETMASK: Cannot assign requested address
> SIOCSIFBRDADDR: Cannot assign requested address
> SIOCADDRT: Network is unreachable
> bound to 192.168.1.2 -- renewal in 2993 seconds.
>
> # ping http://www.yahoo.com
> ping: unknown host http://www.yahoo.com
>
> Any suggestions what to try now? I'll go ahead and turn off the
> bonding option and see if that helps.
>

It won't be related to bonding.

It has a high probability of being very related to Herbert's changes
to inet_set_ifa().

2007-06-07 22:21:19

by Björn Steinbrink

[permalink] [raw]
Subject: Re: 2.6.22-rc4-mm2 -- ipw2200 -- SIOCSIFADDR: No buffer space available

On 2007.06.07 13:15:59 -0700, Andrew Morton wrote:
> On Thu, 7 Jun 2007 11:25:30 -0700
> "Miles Lane" <[email protected]> wrote:
>
> > Hi Andrew,
> >
> > This might be some problem with my kernel configuration.
> > I added:
> > CONFIG_BONDING=y
> >
> > # dhclient eth1
> > There is already a pid file /var/run/dhclient.pid with pid 134993416
> > Internet Systems Consortium DHCP Client V3.0.4
> > Copyright 2004-2006 Internet Systems Consortium.
> > All rights reserved.
> > For info, please visit http://www.isc.org/sw/dhcp/
> > SIOCSIFADDR: No buffer space available
> > Listening on LPF/eth1/00:12:f0:5e:db:2f
> > Sending on LPF/eth1/00:12:f0:5e:db:2f
> > Sending on Socket/fallback
> > DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 6
> > DHCPOFFER from 192.168.1.1
> > DHCPREQUEST on eth1 to 255.255.255.255 port 67
> > DHCPACK from 192.168.1.1
> > SIOCSIFADDR: No buffer space available
> > SIOCSIFNETMASK: Cannot assign requested address
> > SIOCSIFBRDADDR: Cannot assign requested address
> > SIOCADDRT: Network is unreachable
> > bound to 192.168.1.2 -- renewal in 2993 seconds.
> >
> > # ping http://www.yahoo.com
> > ping: unknown host http://www.yahoo.com
> >
> > Any suggestions what to try now? I'll go ahead and turn off the
> > bonding option and see if that helps.
> >
>
> It won't be related to bonding.
>
> It has a high probability of being very related to Herbert's changes
> to inet_set_ifa().

Hm, as inetdev_init() is now only called at the time the device is
registered, it seems wrong that inetdev_destroy() is also called in
__inet_del_ifa() when all addresses got deleted.

Miles, could you try if this patch helps?

Bj?rn


Stop destroying devices when all of their ifas are gone, as we no longer
recreate them when ifas are added.

Signed-off-by: Bj?rn Steinbrink <[email protected]>
--
diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c
index fa97b96..abf6352 100644
--- a/net/ipv4/devinet.c
+++ b/net/ipv4/devinet.c
@@ -327,12 +327,8 @@ static void __inet_del_ifa(struct in_device *in_dev, struct in_ifaddr **ifap,
}

}
- if (destroy) {
+ if (destroy)
inet_free_ifa(ifa1);
-
- if (!in_dev->ifa_list)
- inetdev_destroy(in_dev);
- }
}

static void inet_del_ifa(struct in_device *in_dev, struct in_ifaddr **ifap,

2007-06-07 22:22:19

by Kevin Winchester

[permalink] [raw]
Subject: Re: 2.6.22-rc4-mm2 -- ipw2200 -- SIOCSIFADDR: No buffer space available

On 07/06/07, Miles Lane <[email protected]> wrote:
> Hi Andrew,
>
> This might be some problem with my kernel configuration.
> I added:
> CONFIG_BONDING=y
>
> # dhclient eth1
> There is already a pid file /var/run/dhclient.pid with pid 134993416
> Internet Systems Consortium DHCP Client V3.0.4
> Copyright 2004-2006 Internet Systems Consortium.
> All rights reserved.
> For info, please visit http://www.isc.org/sw/dhcp/
> SIOCSIFADDR: No buffer space available
> Listening on LPF/eth1/00:12:f0:5e:db:2f
> Sending on LPF/eth1/00:12:f0:5e:db:2f
> Sending on Socket/fallback
> DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 6
> DHCPOFFER from 192.168.1.1
> DHCPREQUEST on eth1 to 255.255.255.255 port 67
> DHCPACK from 192.168.1.1
> SIOCSIFADDR: No buffer space available
> SIOCSIFNETMASK: Cannot assign requested address
> SIOCSIFBRDADDR: Cannot assign requested address
> SIOCADDRT: Network is unreachable
> bound to 192.168.1.2 -- renewal in 2993 seconds.
>
> # ping http://www.yahoo.com
> ping: unknown host http://www.yahoo.com
>
> Any suggestions what to try now? I'll go ahead and turn off the
> bonding option and see if that helps.
>

I was seeing this same error last night on my via-velocity based
ethernet interface. I chalked it up to some config mistake on my
part, but I guess there might be more to it. Whatever it is, it
doesn't seem to be specific to the ipw2200 driver.

--
Kevin Winchester

2007-06-08 06:35:30

by Miles Lane

[permalink] [raw]
Subject: Re: 2.6.22-rc4-mm2 -- ipw2200 -- SIOCSIFADDR: No buffer space available

On 6/7/07, Bj?rn Steinbrink <[email protected]> wrote:
[...]
> Miles, could you try if this patch helps?
>
> Bj?rn
>
>
> Stop destroying devices when all of their ifas are gone, as we no longer
> recreate them when ifas are added.
>
> Signed-off-by: Bj?rn Steinbrink <[email protected]>
> --
> diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c
> index fa97b96..abf6352 100644
> --- a/net/ipv4/devinet.c
> +++ b/net/ipv4/devinet.c
> @@ -327,12 +327,8 @@ static void __inet_del_ifa(struct in_device *in_dev, struct in_ifaddr **ifap,
> }
>
> }
> - if (destroy) {
> + if (destroy)
> inet_free_ifa(ifa1);
> -
> - if (!in_dev->ifa_list)
> - inetdev_destroy(in_dev);
> - }
> }
>
> static void inet_del_ifa(struct in_device *in_dev, struct in_ifaddr **ifap,
>

Bj?rn,

Thanks. You patch worked for me.

Miles