[systemd-devel] network interface renaming via PCI ID w/ systemd-udevd

Matthew Hall mhall at mhcomputing.net
Wed Nov 11 21:12:55 PST 2015

Hello all,

I am tearing my hair out trying to follow the directions in this page to get the 
correct interface names on Ubuntu Wily w/ systemd-udevd.


I am just trying to get my eth0 - eth3 into the desired order. The order in 
lspci is correct:

00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (2) I219-V (rev 31)
08:00.0 Ethernet controller: Intel Corporation I211 Gigabit Network Connection (rev 03)
0a:00.0 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
0a:00.1 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)

Here is what I have tried. I am trying to understand what I missed. It really 
shouldn't have to be this difficult. So I must be missing something.

1) First I tried making an override file:

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", SUBSYSTEM=="pci", KERNELS=="0000:00:1f.6", NAME="eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", SUBSYSTEM=="pci", KERNELS=="0000:08:00.0", NAME="eth1"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", SUBSYSTEM=="pci", KERNELS=="0000:0a:00.0", NAME="eth2"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", SUBSYSTEM=="pci", KERNELS=="0000:0a:00.1", NAME="eth3"

2) Then I tried masking off the PCI-based renamer file as well.

ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules

3) After that I tried net.ifnames=0 to see if that was getting in the way.

This produced a different wrong order, which did not match the lspci order, 
did not match the default PCI naming order (obviously enough) and did not 
match the udev rules.

During all of these I also kept checking journalctl -u systemd-udevd and 
/var/log, but I did not get any useful output there either.

What do I need to do to get this right?


More information about the systemd-devel mailing list