Description of problem: System is an HP rx2600 with 1 tg3 and 1 e100 device. After a normal install of rawhide-20070125 the e100 device has a __tmp name: # ifconfig -a __tmp440647619 Link encap:Ethernet HWaddr 00:30:6E:F3:AE:D8 BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) eth0 Link encap:Ethernet HWaddr 00:30:6E:F3:1E:C5 BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) Interrupt:58 Version-Release number of selected component (if applicable): rawhide-20070125 kernel-2.6.19-1.2913.fc7
Make sure that all ifcfg-* files have HWADDR in them.
*** This bug has been marked as a duplicate of 224669 ***
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 Issue Ethernet interface keeps changing into '__tmpxxxx'. When server is rebooted, interfaces are named as '__tmp' instead of ethx. Invalid network interface name after reboot Environment Red Hat Enterprise Linux 5.3 initscripts-8.45.25-1.el5-x86_64 Resolution To prevent this from occurring, the "HWADDR=" parameter should be used in /etc/sysconfig/network-scripts/ifcfg-ethx as follows: Ethernet Device DEVICE=ethx BOOTPROTO=static HWADDR=xx:xx:xx:xx ONBOOT=yes Root Cause 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=).
I have the problem in RHEL 5.4 only when trying to use the interfaces of different adapters for bonding. Based on http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5/html/Deployment_Guide/s2-networkscripts-interfaces-chan.html you may then not use HWADDR. I configured bonding exactly as in link above. After "service network restart" everything was fine. After first reboot, still everything OK. After secong reboot, problem occured. Strange, isn't it? Will really appriciate any help!
Roland, Our documentation doesn't say you may not use HWADDR when setting up your slave devices. These are just examples being shown. Maybe we should update this page to include the HWADDR= but your slave devices should be fine having them. Having HWADDR= in your bond is a different story. You would want to, normally, leave this out as the bond will inherit one of the active slave mac addresses. From the link you provided: "For example, if two Ethernet interfaces are being channel bonded, both eth0 and eth1 _may_ look like the following example: " I would put the HWADDR= into your slave configurations and try again. Any problems, contact RH support or update this BZ. ~rp