Re: origin of __tmp1930643048 network device name: kernel-space or user-space

From: davide rossetti
Date: Thu Sep 06 2007 - 11:02:58 EST


On 9/6/07, Bill Nottingham <notting@xxxxxxxxxx> wrote:
> Jan Engelhardt (jengelh@xxxxxxxxxxxxxxx) said:
> > >dear all,
> > >I'm trying to track down a problem on a Sun V40Z server with 4 network
> > >devices grabbing random ethX device names. now, trying to force the
> > >device names to what I want, I got a __tmpXXXXX form of device name,
> > >which I think is a half-configured device... but which piece of
> > >software is to blame ??? kernel, udev, hotplug
> >
> > Look into dmesg. If the device was once known as ethX or similar,
> > then it is userspace to blame.
>
> It's userspace.

while we are at it.... could you briefly help me describe the 'code
sequence' involved in the naming of an interface ? with it we could
write a small doc...

for instance I'm tracking tg3.c code as:
alloc_etherdev()
--> sets net_device->name="eth%d"

register_netdev()
--> register_netdevice()
--> netdev_register_sysfs(struct net_device *net)
struct device *dev = &(net->dev)
dev->class = &net_class
--> device_add(dev)

here I stopped... but I guess that device_add builds and event for udev.

anyway, on my system it produces such a sysfs device:

$> udevinfo -p /sys/class/net/__tmp1930643048 -a
looking at device '/class/net/__tmp1930643048':
KERNEL=="__tmp1930643048"
SUBSYSTEM=="net"
SYSFS{weight}=="64"
SYSFS{tx_queue_len}=="1000"
SYSFS{flags}=="0x1002"
SYSFS{mtu}=="1500"
SYSFS{operstate}=="down"
SYSFS{broadcast}=="ff:ff:ff:ff:ff:ff"
SYSFS{address}=="00:04:23:ca:bc:cb"
SYSFS{link_mode}=="0"
SYSFS{type}=="1"
SYSFS{features}=="0x113a9"
SYSFS{ifindex}=="5"
SYSFS{iflink}=="5"
SYSFS{addr_len}=="6"

> <off-topic for l-k, but while I'm here...>
>
> I'm assuming you're running some sort of Fedora/RHEL/
> derivative; this is what you get when you have a device that starts
> out named ethX, but which needed to be renamed so that an already
> configured ethX could be changed to that name.

yes, it's FC6.

> For the new device, either add a HWADDR in a ifcfg-ethX file for
> that interface, add something to /etc/mactab, or add a udev rule.

seems like HWADDR is incompatible with bonding.... there is some
message using HWADDR as well as MASTER=bond0 and SLAVE=yes.

davide

--
davide.rossetti@xxxxxxxxx ICQ:290677265 SKYPE:d.rossetti
-
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/