Comment 3 for bug 1235162

Revision history for this message
TJ (tj) wrote : Re: Persistent net names via /etc/udev/rules.d/70-persistent-net.rules are ignored

Added to the kernel command-line: "udev.log-priority=7 udev.rdlog-priority=7"

/var/log/dmesg was flooded and lost some of the early messages since I didn't increase the log-buffer size but it did catch the systemd-udevd logging especially related to the 'net' subsystem:

$ grep -B 2 -A 2 eth /var/log/dmesg
[ 18.491927] EXT4-fs (dm-0): re-mounted. Opts: errors=remount-ro
[ 19.011059] EXT4-fs (dm-2): mounted filesystem with ordered data mode. Opts: (null)
[ 19.251979] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 19.251985] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
[ 19.251990] IPv6: ADDRCONF(NETDEV_UP): eth2: link is not ready
[ 19.251995] IPv6: ADDRCONF(NETDEV_UP): eth3: link is not ready
[ 19.251999] IPv6: ADDRCONF(NETDEV_UP): eth4: link is not ready
[ 19.823143] EXT4-fs (dm-3): mounted filesystem with ordered data mode. Opts: (null)
[ 19.868611] systemd-udevd[1283]: starting version 204
--
[ 21.828403] systemd-udevd[1348]: device 0x18d0530 filled with db file data
[ 21.828823] systemd-udevd[1348]: device 0x1812440 has devpath '/devices/pci0000:00/0000:00:09.0/0000:02:00.0/0000:03:00.0/0000:04:00.1'
[ 21.828884] systemd-udevd[1348]: NAME 'eth1' /etc/udev/rules.d/70-persistent-net.rules:11
[ 21.828980] systemd-udevd[1348]: device 0x1812440 filled with db file data
[ 21.828985] systemd-udevd[1348]: IMPORT builtin 'net_id' /lib/udev/rules.d/75-net-description.rules:6
--
[ 22.028940] systemd-udevd[1348]: device 0x18096a0 has devpath '/devices/pci0000:00'
[ 22.028980] systemd-udevd[1348]: IMPORT builtin 'hwdb' /lib/udev/rules.d/75-net-description.rules:12
[ 22.029065] systemd-udevd[1348]: changing net interface name from 'eth2' to 'eth1'
[ 22.029079] systemd-udevd[1348]: error changing net interface name eth2 to eth1: File exists
[ 22.029294] systemd-udevd[1348]: created db file '/run/udev/data/n4' for '/devices/pci0000:00/0000:00:09.0/0000:02:00.0/0000:03:00.0/0000:04:00.1/net/eth2'
[ 22.029316] systemd-udevd[1348]: passed -1 bytes to netlink monitor 0x18d1420
[ 22.029321] systemd-udevd[1348]: seq 2011 processed with -17

And this time, for the first time, the original 'eth2' that is supposed to become 'eth0' is actually 'eth1'. I attribute it to the udevd logging causing timing differences affecting kernel uevent arrival order.

$ ifconfig -a | grep '^eth'
eth0 Link encap:Ethernet HWaddr 00:15:17:8f:99:c1
eth1 Link encap:Ethernet HWaddr 00:25:22:75:e6:9e
eth2 Link encap:Ethernet HWaddr 00:15:17:8f:99:c0
eth3 Link encap:Ethernet HWaddr 00:15:17:8f:99:c3
eth4 Link encap:Ethernet HWaddr 00:15:17:8f:99:c2