reassign 414287 udev 0.125-7+lenny3 tags 414287 + patch thanks On Thu, May 21, 2009 at 10:50:51PM +0100, Daniel Pocock wrote: > My box had lenny (installed in December, before the official > release), I just did: > > apt-get dist-upgrade > > It upgraded the box from 2.6.26-1 to 2.6.26-2 > > I did a reboot to get the new kernel > > On booting, eth0 became eth0_rename_ren > > I looked at: > > /etc/udev/rules.d/70-persistent-net.rules > > and found each MAC listed multiple times, with variations of > eth0_rename and eth0, etc > > I deleted the file completely, rebooted again, and found the > interfaces eth1, eth0_rename, eth2_rename and eth3_rename on my > system, and each of these describe once in > /etc/udev/rules.d/70-persistent-net.rules > > I edited the file by hand, remove _rename from each of the names, > rebooted again and now I have eth0, eth1, eth2, eth3 > > Now for another reboot - and I still have eth0, eth1, eth2, eth3 now. > > My biggest concern is that booting without any > /etc/udev/rules.d/70-persistent-net.rules gave me three interfaces > with _rename appended to their names. > > One other comment, not sure if it could be related to the issue in any > way, but this is a Xen dom0 box, and Xen does it's usual tricks > renaming interfaces, but not until after the udev setup.
I have seen this issue before, and the culprit was having a stale 70-persistent-net.rules file in the initrd. It happened to us when we added a network interface and didn't re-build the initrd, but the symptoms look the same. The attached patch fixed the issue for us. -- +----------------------------------------------------------+ | John Wright <john.wri...@hp.com> | | HP Mission Critical OS Enablement & Solution Test (MOST) | +----------------------------------------------------------+
Cleanly handle when new network interfaces are added to the system * Don't put the persistent-net rules in the initrd. - Users can easily modify persistent-net.rules on the system without running update-initramfs, and there's no point in setting up interfaces twice anyway. - More importantly, suppose we have set up rules for eth0 and eth1 in our persistent-net.rules. Then, we add another interface, which the kernel happens to see as eth0. Without persistent-net-generator.rules (or rather, without write_net_rules, which isn't included in the initrd), the new interface will never be renamed away from eth0. So the process that tries to rename our previously configured interface to eth0 will sit for 30 seconds waiting for this to happen before finally giving up (and leaving an ethN_rename interface behind). Index: udev/extra/initramfs.hook =================================================================== --- udev.orig/extra/initramfs.hook 2009-06-15 18:33:30.000000000 -0600 +++ udev/extra/initramfs.hook 2009-06-15 18:33:50.000000000 -0600 @@ -18,6 +18,8 @@ cp -a /etc/udev/ $DESTDIR/etc/ rm -f $DESTDIR/etc/udev/rules.d/75-cd-aliases-generator.rules +rm -f $DESTDIR/etc/udev/rules.d/75-persistent-net-generator.rules +rm -f $DESTDIR/etc/udev/rules.d/70-persistent-net.rules if [ -e /etc/scsi_id.config ]; then cp /etc/scsi_id.config $DESTDIR/etc/ fi