Ethernet interface naming problem in kernel 2.6.12.6

From: Antonio A Hilario
Date: Tue Sep 13 2005 - 04:44:13 EST


Hello all,

There seems to be a problem retrieving network interface names from devices
which drivers are built as loadable modules, so that the interface name gets
shown as "null", as below.

I'm running a 2.6.12.6 kernel on a Toshiba Satellite 2410 notebook (Intel P4
machine, NVidia graphics, 256MB RAM), LILO bootloader for a Linux From
Scratch workplace machine. The output of "ip link" shows up my physical
interfaces just fine after I rebuilt my kernel so that the Intel EtherExpress
Pro/100 Ethernet adapter driver is built in, but with the irda kernel left as
module:

1: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000
link/ether 00:08:0d:a9:e3:18 brd ff:ff:ff:ff:ff:ff
2: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
3: teql0: <NOARP> mtu 1500 qdisc noop qlen 100
link/void
4: tunl0: <NOARP> mtu 1480 qdisc noop
link/ipip 0.0.0.0 brd 0.0.0.0
5: gre0: <NOARP> mtu 1476 qdisc noop
link/gre 0.0.0.0 brd 0.0.0.0
6: sit0: <NOARP> mtu 1480 qdisc noop
link/sit 0.0.0.0 brd 0.0.0.0
7: ip6tnl0: <NOARP> mtu 1460 qdisc noop
link/tunnel6 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 brd
00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
11: wlan0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:0c:76:71:00:8c brd ff:ff:ff:ff:ff:ff
12: null: <NOARP> mtu 2048 qdisc noop qlen 8
link/irda


Before recompiling the kernel I got this instead:

1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: teql0: <NOARP> mtu 1500 qdisc noop qlen 100
link/void
3: tunl0: <NOARP> mtu 1480 qdisc noop
link/ipip 0.0.0.0 brd 0.0.0.0
4: gre0: <NOARP> mtu 1476 qdisc noop
link/gre 0.0.0.0 brd 0.0.0.0
5: sit0: <NOARP> mtu 1480 qdisc noop
link/sit 0.0.0.0 brd 0.0.0.0
6: ip6tnl0: <NOARP> mtu 1460 qdisc noop
link/tunnel6 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 brd
00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
9: null: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000
link/ether 00:08:0d:a9:e3:18 brd ff:ff:ff:ff:ff:ff
11: wlan0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:0c:76:71:00:8c brd ff:ff:ff:ff:ff:ff
12: irda0: <NOARP> mtu 2048 qdisc noop qlen 8
link/irda

Note that both the e100 and irda drivers are modules in this case.

Renaming the interface "null" to any other name works fine, as does just using
"ip link set null up"; thereafter I can run "dhclient null" and am assigned
IPs, link transfer works just fine. It works to put the interface renaming
command into the rcsysinit.d/network script, but seems cause for a bit of
worry since I didn't encounter this in 2.6.12.2.

I'm wondering where my glitch lies. Probably will read the e100.c source file
and see where the funkiness lies.


AVAHilario
-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html