On reboot, my ifcfg-eth0 didn't have HWADDR, so the ethernet device wasn't named
I hate sysfs. A lot.
*** Bug 224662 has been marked as a duplicate of this bug. ***
One more reason to use /etc/mactab always.
One more reason to not randomly change public interfaces. Ah well, sysfs beaten
Network interfaces named ___tmpxxxx when HWADDR is not specified
Article ID: 36572 - Created on: Nov 18, 2009 2:46 PM - Last Modified: Dec
15, 2010 9:55 AM
Ethernet interface keeps changing into '__tmpxxxx'.
When server is rebooted, interfaces are named as '__tmp' instead of ethx.
Invalid network interface name after reboot
Red Hat Enterprise Linux 5.3
To prevent this from occurring, the "HWADDR=" parameter should be used in
/etc/sysconfig/network-scripts/ifcfg-ethx as follows:
What happens is:
1. initrd loads modules. Generally not network ones, unless you've
specifically configured it to do so.
2. udev loads modules. It loads them in parallel. This means that
if you have multiple network drivers in the machine, they will race
against each other for device assignment.
3. when a network device is created, /lib/udev/rename_device is run
to attempt to coerce the device name into whatever device name is mapped
to that MAC address in the ifcfg files. Otherwise, you just get the order
they happen to initialize in (which can change from boot to boot)
4. rest of boot runs (during which you can do other things)
Due to the fact udev does not load modules sequentially (#2), you will get
non-deterministic ethernet device ordering if you have multiple network
drivers in the machine. It's inevitable. So, it is required to use HWADDR=
in the ifcfg files to accomplish that mapping. You could also use udev
rules directly (with NAME=).