Skip to content

Instantly share code, notes, and snippets.

@nh2
Last active April 10, 2020 17:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nh2/71854c40a1a1a7c15bc8a8105e854f88 to your computer and use it in GitHub Desktop.
Save nh2/71854c40a1a1a7c15bc8a8105e854f88 to your computer and use it in GitHub Desktop.
LeaseWeb DL120 G7 NixOS systemd network interface naming
# udevadm info /sys/class/net/eno1
P: /devices/pci0000:00/0000:00:1c.5/0000:03:00.0/net/eno1
E: DEVPATH=/devices/pci0000:00/0000:00:1c.5/0000:03:00.0/net/eno1
E: ID_BUS=pci
E: ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (NC112i 1-port Ethernet Server Adapter)
E: ID_MODEL_ID=0x10d3
E: ID_NET_LABEL_ONBOARD=enNIC Port 2
E: ID_NET_NAME_MAC=enxe83935edad4b
E: ID_NET_NAME_ONBOARD=eno1
E: ID_NET_NAME_PATH=enp3s0
E: ID_OUI_FROM_DATABASE=Hewlett Packard
E: ID_PCI_CLASS_FROM_DATABASE=Network controller
E: ID_PCI_SUBCLASS_FROM_DATABASE=Ethernet controller
E: ID_VENDOR_FROM_DATABASE=Intel Corporation
E: ID_VENDOR_ID=0x8086
E: IFINDEX=3
E: INTERFACE=eno1
E: PATH=/nix/store/n67bza7f1j6q43w01lsl1kmxppqyb641-udev-path/bin:/nix/store/n67bza7f1j6q43w01lsl1kmxppqyb641-udev-path/sbin
E: SUBSYSTEM=net
E: SYSTEMD_ALIAS=/sys/subsystem/net/devices/eno1 /sys/subsystem/net/devices/eno1
E: TAGS=:systemd:
E: USEC_INITIALIZED=13828199
# udevadm info /sys/class/net/enp2s0
P: /devices/pci0000:00/0000:00:1c.4/0000:02:00.0/net/enp2s0
E: DEVPATH=/devices/pci0000:00/0000:00:1c.4/0000:02:00.0/net/enp2s0
E: ID_BUS=pci
E: ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (NC112i 1-port Ethernet Server Adapter)
E: ID_MODEL_ID=0x10d3
E: ID_NET_NAME_MAC=enxe83935edad4a
E: ID_NET_NAME_PATH=enp2s0
E: ID_OUI_FROM_DATABASE=Hewlett Packard
E: ID_PCI_CLASS_FROM_DATABASE=Network controller
E: ID_PCI_SUBCLASS_FROM_DATABASE=Ethernet controller
E: ID_VENDOR_FROM_DATABASE=Intel Corporation
E: ID_VENDOR_ID=0x8086
E: IFINDEX=2
E: INTERFACE=enp2s0
E: PATH=/nix/store/n67bza7f1j6q43w01lsl1kmxppqyb641-udev-path/bin:/nix/store/n67bza7f1j6q43w01lsl1kmxppqyb641-udev-path/sbin
E: SUBSYSTEM=net
E: SYSTEMD_ALIAS=/sys/subsystem/net/devices/enp2s0 /sys/subsystem/net/devices/enp2s0
E: TAGS=:systemd:
E: USEC_INITIALIZED=13820267
# Perhaps relevant, linked by @flokli:
# https://github.com/flokli/systemd/commit/04b67d49254d956d31bcfe80340fb9df7ed332d3
# It reads `name_assign_type`:
# cat /sys/class/net/eno1/name_assign_type
4
# cat /sys/class/net/enp2s0/name_assign_type
4
# udevadm info /sys/class/net/eno0
P: /devices/pci0000:00/0000:00:1c.4/0000:02:00.0/net/eno0
L: 0
E: DEVPATH=/devices/pci0000:00/0000:00:1c.4/0000:02:00.0/net/eno0
E: INTERFACE=eno0
E: IFINDEX=2
E: SUBSYSTEM=net
E: USEC_INITIALIZED=16012713
E: PATH=/nix/store/cc7x9b7ih0m6z0ypa1qc9gwlh9pl1c1y-udev-path/bin:/nix/store/cc7x9b7ih0m6z0ypa1qc9gwlh9pl1c1y-udev-path/sbin
E: ID_NET_NAMING_SCHEME=v243
E: ID_NET_NAME_MAC=enxe83935edad4a
E: ID_OUI_FROM_DATABASE=Hewlett Packard
E: ID_NET_NAME_ONBOARD=eno0
E: ID_NET_LABEL_ONBOARD=NIC Port 1
E: ID_NET_NAME_PATH=enp2s0
E: ID_BUS=pci
E: ID_VENDOR_ID=0x8086
E: ID_MODEL_ID=0x10d3
E: ID_PCI_CLASS_FROM_DATABASE=Network controller
E: ID_PCI_SUBCLASS_FROM_DATABASE=Ethernet controller
E: ID_VENDOR_FROM_DATABASE=Intel Corporation
E: ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (NC112i 1-port Ethernet Server Adapter)
E: ID_PATH=pci-0000:02:00.0
E: ID_PATH_TAG=pci-0000_02_00_0
E: ID_NET_DRIVER=e1000e
E: ID_NET_LINK_FILE=/nix/store/xw26cpshps6lapgfpnyn2qfzrrlp4mby-systemd-243.7/lib/systemd/network/99-default.link
E: ID_NET_NAME=eno0
E: SYSTEMD_ALIAS=/sys/subsystem/net/devices/eno0 /sys/subsystem/net/devices/eno0
E: TAGS=:systemd:
# udevadm info /sys/class/net/eno1
P: /devices/pci0000:00/0000:00:1c.5/0000:03:00.0/net/eno1
L: 0
E: DEVPATH=/devices/pci0000:00/0000:00:1c.5/0000:03:00.0/net/eno1
E: INTERFACE=eno1
E: IFINDEX=3
E: SUBSYSTEM=net
E: USEC_INITIALIZED=16024671
E: PATH=/nix/store/cc7x9b7ih0m6z0ypa1qc9gwlh9pl1c1y-udev-path/bin:/nix/store/cc7x9b7ih0m6z0ypa1qc9gwlh9pl1c1y-udev-path/sbin
E: ID_NET_NAMING_SCHEME=v243
E: ID_NET_NAME_MAC=enxe83935edad4b
E: ID_OUI_FROM_DATABASE=Hewlett Packard
E: ID_NET_NAME_ONBOARD=eno1
E: ID_NET_LABEL_ONBOARD=NIC Port 2
E: ID_NET_NAME_PATH=enp3s0
E: ID_BUS=pci
E: ID_VENDOR_ID=0x8086
E: ID_MODEL_ID=0x10d3
E: ID_PCI_CLASS_FROM_DATABASE=Network controller
E: ID_PCI_SUBCLASS_FROM_DATABASE=Ethernet controller
E: ID_VENDOR_FROM_DATABASE=Intel Corporation
E: ID_MODEL_FROM_DATABASE=82574L Gigabit Network Connection (NC112i 1-port Ethernet Server Adapter)
E: ID_PATH=pci-0000:03:00.0
E: ID_PATH_TAG=pci-0000_03_00_0
E: ID_NET_DRIVER=e1000e
E: ID_NET_LINK_FILE=/nix/store/xw26cpshps6lapgfpnyn2qfzrrlp4mby-systemd-243.7/lib/systemd/network/99-default.link
E: ID_NET_NAME=eno1
E: SYSTEMD_ALIAS=/sys/subsystem/net/devices/eno1 /sys/subsystem/net/devices/eno1
E: TAGS=:systemd:
# cat /sys/class/net/eno0/name_assign_type
4
# cat /sys/class/net/eno1/name_assign_type
4

Analysis

On 18.03 the dmesg says:

enp2s0: renamed from eth0
eno1: renamed from eth1

On 20.03 the dmesg says:

eno0: renamed from eth0
eno1: renamed from eth1

Conclusion

With the 20.03 kernel, suddenly both interfaces are marked onboard (ID_NET_LABEL_ONBOARD), when before only one was.

That is why the interface name changed from enp2s0 to eno0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment