Bug 1048399

Summary: udev is not naming interfaces according to rule file
Product: Red Hat Enterprise Linux 7 Reporter: aminasyan
Component: systemdAssignee: systemd-maint
Status: CLOSED CANTFIX QA Contact: qe-baseos-daemons
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.0CC: harald, robinlee.sysu, syangsao, systemd-maint-list, udev-maint-list, vpavlin
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-02-10 15:41:51 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description aminasyan 2014-01-03 23:00:48 UTC
Description of problem:

I have disabled "biosdevname" ("net.ifnames=0" install option) and have a udev rule file to name interfaces based on MAC address. after reboot interfaces are not named properly, it seems they are named in the order of module load, I have e1000e, igb and ixgbe modules/devices
The problem fixes itself after module unload/load operation

Version-Release number of selected component (if applicable):
Red Hat Enterprise Linux 7

How reproducible:
reproducable on every reboot

Steps to Reproduce:
1. reboot system
2. verify that the interface names don't correspond in the udev rules file
3.

Actual results:
ethX interfaces are not in udev rule order

Expected results:
ethX interfaces must be in the oder specified in udev rules file

Additional info:

# cat /etc/udev/rules.d/70-persistent-net.rules 

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:25:90:9b:2a:cc", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:25:90:9b:2a:cd", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:25:90:66:87:f8", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:25:90:66:87:f9", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth3"

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:25:90:66:87:fa", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth4"

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:25:90:66:87:fb", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth5"

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:25:90:6a:b5:1a", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth6"

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:25:90:6a:b5:1b", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth7"

Comment 2 Harald Hoyer 2014-02-10 15:41:51 UTC
udev does not rename interfaces in the eth* namespace anymore. It's racy and it does not work. We tried. We tried hard. Just get out of the eth* namespace and everything will be fine.

Comment 4 Red Hat Bugzilla 2023-09-14 01:56:23 UTC
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 1000 days