Package: udev Version: 0.091-1 Severity: important
Hi, on one of my boxes, I use bridge-utils and (previously) nameif to enslave an ethernet device named "lan" (and some tap devices named "vpn") to a bridge interface "br0". There's also a not-enslaved ethernet device named "modem" The rules that were initially generated in z25_persistent-net.rules were: ACTION=="add", SUBSYSTEM=="net", SYSFS{address}=="00:11:22:33:44:55", NAME="eth0" ACTION=="add", SUBSYSTEM=="net", SYSFS{address}=="ff:11:22:33:44:55", NAME="eth1" (it would've been nice to know, that the naming functionality would conflict with nameif before I rebooted this headless box; Me using nameif gave me a false sense of security) I quickly changed eth0 and eth1 to "lan" and "modem" resp. - no problem there. However, the problem is that the bridge "br0" has the same MAC address as "lan", so the first persistent rule matched "br0" too. It tried to rename "br0" to "lan" too, but as the name "lan" was already taken, it left it at "br0_temp". udevinfo -a -p /sys/class/net/br0 gives me: looking at device '/class/net/br0': KERNEL=="br0" SUBSYSTEM=="net" SYSFS{weight}=="0" SYSFS{tx_queue_len}=="0" SYSFS{flags}=="0x1003" SYSFS{mtu}=="1500" SYSFS{carrier}=="1" SYSFS{broadcast}=="ff:ff:ff:ff:ff:ff" SYSFS{address}=="00:11:22:33:44:55" SYSFS{type}=="1" SYSFS{features}=="0x1000" SYSFS{ifindex}=="6" SYSFS{iflink}=="6" SYSFS{addr_len}=="6" Not exactly a lot to work with... udevinfo -a -p /sys/class/net/lan gives me: looking at device '/class/net/lan': KERNEL=="lan" SUBSYSTEM=="net" SYSFS{weight}=="64" SYSFS{tx_queue_len}=="1000" SYSFS{flags}=="0x1103" SYSFS{mtu}=="1500" SYSFS{carrier}=="1" SYSFS{broadcast}=="ff:ff:ff:ff:ff:ff" SYSFS{address}=="00:11:22:33:44:55" SYSFS{type}=="1" SYSFS{features}=="0x1003" SYSFS{ifindex}=="2" SYSFS{iflink}=="2" SYSFS{addr_len}=="6" looking at device '/devices/pci0000:00/0000:00:09.0': ID=="0000:00:09.0" BUS=="pci" DRIVER=="skge" SYSFS{modalias}=="pci:v000011ABd00004320sv000010B8sd0000B452bc02sc00i00" SYSFS{local_cpus}=="1" SYSFS{irq}=="177" SYSFS{class}=="0x020000" SYSFS{subsystem_device}=="0xb452" SYSFS{subsystem_vendor}=="0x10b8" SYSFS{device}=="0x4320" SYSFS{vendor}=="0x11ab" looking at device '/devices/pci0000:00': ID=="pci0000:00" BUS=="" DRIVER=="" I ended up changing the generated rules into the following: ACTION=="add", SUBSYSTEM=="net", SYSFS{address}=="00:11:22:33:44:55", DRIVER=="skge", NAME="lan" ACTION=="add", SUBSYSTEM=="net", SYSFS{address}=="ff:11:22:33:44:55", DRIVER=="via-rhine", NAME="modem" This isn't ideal because the driver may change names with successive kernel upgrades ("sk98lin" -> "skge") but it works for now. It would be nice if the rules were specific enough to avoid this conflict with bridges. btw: I marked this as important, because it locked me out of my (remote, headless) box, twice ;-). In any case, thanks, -- Mourad -- Package-specific info: -- /etc/udev/rules.d/: /etc/udev/rules.d/: total 4 lrwxrwxrwx 1 root root 20 Apr 13 2005 020_permissions.rules -> ../permissions.rules lrwxrwxrwx 1 root root 19 Dec 5 2004 cd-aliases.rules -> ../cd-aliases.rules lrwxrwxrwx 1 root root 13 Apr 1 2004 udev.rules -> ../udev.rules lrwxrwxrwx 1 root root 25 Mar 31 17:49 z20_persistent-input.rules -> ../persistent-input.rules lrwxrwxrwx 1 root root 19 Aug 19 2005 z20_persistent.rules -> ../persistent.rules -rw-r--r-- 1 root root 486 Apr 28 19:45 z25_persistent-net.rules lrwxrwxrwx 1 root root 33 Apr 21 22:32 z45_persistent-net-generator.rules -> ../persistent-net-generator.rules lrwxrwxrwx 1 root root 12 Jul 29 2005 z50_run.rules -> ../run.rules lrwxrwxrwx 1 root root 16 Oct 18 2005 z55_hotplug.rules -> ../hotplug.rules lrwxrwxrwx 1 root root 19 Nov 26 19:52 z60_alsa-utils.rules -> ../alsa-utils.rules lrwxrwxrwx 1 root root 15 Sep 26 2005 z60_hdparm.rules -> ../hdparm.rules lrwxrwxrwx 1 root root 17 Jul 29 2005 z70_hotplugd.rules -> ../hotplugd.rules -- /sys/: /sys/block/md0/dev /sys/block/ram0/dev /sys/block/ram1/dev /sys/block/ram10/dev /sys/block/ram11/dev /sys/block/ram12/dev /sys/block/ram13/dev /sys/block/ram14/dev /sys/block/ram15/dev /sys/block/ram2/dev /sys/block/ram3/dev /sys/block/ram4/dev /sys/block/ram5/dev /sys/block/ram6/dev /sys/block/ram7/dev /sys/block/ram8/dev /sys/block/ram9/dev /sys/block/sda/dev /sys/block/sda/sda1/dev /sys/block/sda/sda2/dev /sys/block/sdb/dev /sys/block/sdb/sdb1/dev /sys/block/sdb/sdb2/dev /sys/class/input/input0/event0/dev /sys/class/input/mice/dev /sys/class/misc/agpgart/dev /sys/class/misc/device-mapper/dev /sys/class/misc/hpet/dev /sys/class/misc/psaux/dev /sys/class/misc/rtc/dev /sys/class/misc/tun/dev /sys/class/ppp/ppp/dev /sys/class/sound/adsp/dev /sys/class/sound/audio/dev /sys/class/sound/controlC0/dev /sys/class/sound/dsp/dev /sys/class/sound/mixer/dev /sys/class/sound/pcmC0D0c/dev /sys/class/sound/pcmC0D0p/dev /sys/class/sound/pcmC0D1c/dev /sys/class/sound/pcmC0D1p/dev /sys/class/sound/seq/dev /sys/class/sound/sequencer/dev /sys/class/sound/sequencer2/dev /sys/class/sound/timer/dev /sys/class/usb_device/usbdev1.1/dev /sys/class/usb_device/usbdev2.1/dev /sys/class/usb_device/usbdev3.1/dev /sys/class/usb_device/usbdev4.1/dev -- Kernel configuration: -- System Information: Debian Release: testing/unstable APT prefers unstable APT policy: (500, 'unstable'), (1, 'experimental') Architecture: i386 (i686) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.16-1-k7 Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) Versions of packages udev depends on: ii initscripts 2.86.ds1-14 Scripts for initializing and shutt ii libc6 2.3.6-7 GNU C Library: Shared libraries ii libselinux1 1.30-1 SELinux shared libraries ii libvolume-id0 0.091-1 libvolume_id shared library ii lsb-base 3.1-4 Linux Standard Base 3.1 init scrip ii makedev 2.3.1-81 creates device files in /dev ii sed 4.1.4-7 The GNU sed stream editor udev recommends no packages. -- debconf information excluded -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]