Bugzilla (bugzilla.redhat.com) will be under maintenance for infrastructure upgrades and will not be unavailable on July 31st between 12:30 AM - 05:30 AM UTC. We appreciate your understanding and patience. You can follow status.redhat.com for details.
Bug 1048399 - udev is not naming interfaces according to rule file [NEEDINFO]
Summary: udev is not naming interfaces according to rule file
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: systemd
Version: 7.0
Hardware: x86_64
OS: Linux
Target Milestone: rc
: ---
Assignee: systemd-maint
QA Contact: qe-baseos-daemons
Depends On:
TreeView+ depends on / blocked
Reported: 2014-01-03 23:00 UTC by aminasyan
Modified: 2016-10-10 14:49 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2014-02-10 15:41:51 UTC
Target Upstream Version:
syangsao: needinfo? (harald)

Attachments (Terms of Use)

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

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.

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