This service will be undergoing maintenance at 00:00 UTC, 2017-10-23 It is expected to last about 30 minutes
Bug 224669 - Does not write HWADDR to ifcfg file
Does not write HWADDR to ifcfg file
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: kernel (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Kernel Maintainer List
Brian Brock
:
: 224662 (view as bug list)
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2007-01-26 17:31 EST by Bill Nottingham
Modified: 2014-03-16 23:05 EDT (History)
4 users (show)

See Also:
Fixed In Version: kernel-2.6.19-1.2914.fc7
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2007-01-26 21:20:44 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Bill Nottingham 2007-01-26 17:31:21 EST
On reboot, my ifcfg-eth0 didn't have HWADDR, so the ethernet device wasn't named
correctly.

rawhide-20070126
Comment 1 Bill Nottingham 2007-01-26 17:36:55 EST
I hate sysfs. A lot.
Comment 2 Bill Nottingham 2007-01-26 17:38:26 EST
*** Bug 224662 has been marked as a duplicate of this bug. ***
Comment 3 Pete Zaitcev 2007-01-26 19:57:39 EST
One more reason to use /etc/mactab always.
Comment 4 Bill Nottingham 2007-01-26 21:20:44 EST
One more reason to not randomly change public interfaces. Ah well, sysfs beaten
in   kernel-2.6.19-1.2914.fc7.
Comment 5 michael.steele 2011-01-11 10:45:14 EST
 
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=).

Note You need to log in before you can comment on or make changes to this bug.