[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1063151: igb: unpredictable interface names for four port nic



Dear Valentin,

On Tue, Feb 06, 2024 at 03:58:45PM +0100, Valentin wrote:
> I suspect the issue might be somewhere in your udev configuration.
> 
> You can get the evaluated udev rules by running 'udevadm test <device path>'
> 
> So running 'udevadm test /sys/class/net/ens6f2' and 'udevadm test /sys/class/
> net/eth0' and comparing outputs should tell you/everyone else whats different 
> for those devices and why they use different naming schemes.

Output of both commands attached…

> The old ethX names depend on the order of initialization and is therefore 
> unstable.
> The new format (e.g. ens6f2) depends on pci device numbers and is stable.

Yes, unstable are old names, right

Some errors are reported for eth0 interface:

  eth0: Policy *slot* yields "ens6f0".
  eth0: Could not set AlternativeName= or apply AlternativeNamesPolicy=, ignoring: File exists
  eth0: /usr/lib/udev/rules.d/80-net-setup-link.rules:11 NAME 'ens6f0'
  eth0: /usr/lib/udev/rules.d/99-systemd.rules:68 RUN '/lib/systemd/systemd-sysctl --prefix=/net/ipv4/conf/$name --prefix=/net/ipv4/neigh/$name --prefix=/net/ipv6/conf/$name --prefix=/net/ipv6/neigh/$name'
  eth0: sd-device: Created db file '/run/udev/data/n69' for '/devices/pci0000:00/0000:00:1c.0/0000:01:00.0/net/eth0'
  ens6f0: Failed to rename network interface 69 from 'eth0' to 'ens6f0': File exists

The bug should be reassigned to udev.

Thank you very much for tip!
-- 
Zito
Trying to open "/etc/systemd/hwdb/hwdb.bin"...
Trying to open "/etc/udev/hwdb.bin"...
Trying to open "/usr/lib/systemd/hwdb/hwdb.bin"...
Trying to open "/lib/systemd/hwdb/hwdb.bin"...
Trying to open "/lib/udev/hwdb.bin"...
=== trie on-disk ===
tool version:          252
file size:        12210802 bytes
header size             80 bytes
strings            2564306 bytes
nodes              9646416 bytes
Loading kernel module index.
Found cgroup2 on /sys/fs/cgroup/, full unified hierarchy
Found container virtualization none.
Using default interface naming scheme 'v252'.
Parsed configuration file "/usr/lib/systemd/network/99-default.link"
Parsed configuration file "/usr/lib/systemd/network/73-usb-net-by-mac.link"
Created link configuration context.
Reading rules file: /usr/lib/udev/rules.d/50-firmware.rules
Reading rules file: /usr/lib/udev/rules.d/50-udev-default.rules
Reading rules file: /usr/lib/udev/rules.d/55-dm.rules
Reading rules file: /usr/lib/udev/rules.d/56-dm-parts.rules
Reading rules file: /usr/lib/udev/rules.d/56-lvm.rules
Reading rules file: /usr/lib/udev/rules.d/60-autosuspend.rules
Reading rules file: /usr/lib/udev/rules.d/60-block.rules
Reading rules file: /usr/lib/udev/rules.d/60-bridge-network-interface.rules
Reading rules file: /usr/lib/udev/rules.d/60-cdrom_id.rules
Reading rules file: /usr/lib/udev/rules.d/60-drm.rules
Reading rules file: /usr/lib/udev/rules.d/60-evdev.rules
Reading rules file: /usr/lib/udev/rules.d/60-fido-id.rules
Reading rules file: /usr/lib/udev/rules.d/60-infiniband.rules
Reading rules file: /usr/lib/udev/rules.d/60-input-id.rules
Reading rules file: /usr/lib/udev/rules.d/60-kpartx.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-alsa.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-input.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage-dm.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage-tape.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-v4l.rules
Reading rules file: /usr/lib/udev/rules.d/60-qemu-guest-agent.rules
Reading rules file: /usr/lib/udev/rules.d/60-sensor.rules
Reading rules file: /usr/lib/udev/rules.d/60-serial.rules
Reading rules file: /usr/lib/udev/rules.d/64-btrfs.rules
Reading rules file: /usr/lib/udev/rules.d/68-del-part-nodes.rules
Reading rules file: /usr/lib/udev/rules.d/69-lvm.rules
Reading rules file: /usr/lib/udev/rules.d/70-camera.rules
Reading rules file: /usr/lib/udev/rules.d/70-joystick.rules
Reading rules file: /usr/lib/udev/rules.d/70-memory.rules
Reading rules file: /usr/lib/udev/rules.d/70-mouse.rules
Reading rules file: /usr/lib/udev/rules.d/70-power-switch.rules
Reading rules file: /usr/lib/udev/rules.d/70-touchpad.rules
Reading rules file: /usr/lib/udev/rules.d/70-uaccess.rules
Reading rules file: /usr/lib/udev/rules.d/71-seat.rules
Reading rules file: /usr/lib/udev/rules.d/73-seat-late.rules
Reading rules file: /usr/lib/udev/rules.d/73-special-net-names.rules
Reading rules file: /usr/lib/udev/rules.d/75-net-description.rules
Reading rules file: /usr/lib/udev/rules.d/75-probe_mtd.rules
Reading rules file: /usr/lib/udev/rules.d/78-sound-card.rules
Reading rules file: /usr/lib/udev/rules.d/80-debian-compat.rules
Reading rules file: /usr/lib/udev/rules.d/80-drivers.rules
Reading rules file: /usr/lib/udev/rules.d/80-ifupdown.rules
Reading rules file: /usr/lib/udev/rules.d/80-net-setup-link.rules
Reading rules file: /usr/lib/udev/rules.d/81-net-dhcp.rules
Reading rules file: /usr/lib/udev/rules.d/85-hwclock.rules
Reading rules file: /usr/lib/udev/rules.d/90-console-setup.rules
Reading rules file: /usr/lib/udev/rules.d/95-dm-notify.rules
Reading rules file: /usr/lib/udev/rules.d/96-e2scrub.rules
Reading rules file: /usr/lib/udev/rules.d/99-systemd.rules
ens6f2: /usr/lib/udev/rules.d/60-bridge-network-interface.rules:1 RUN 'bridge-network-interface'
ens6f2: /usr/lib/udev/rules.d/75-net-description.rules:6 Importing properties from results of builtin command 'net_id'
ens6f2: MAC address identifier: hw_addr=b4:96:91:25:34:0e → xb4969125340e
sd-device: Failed to chase symlinks in "/sys/devices/pci0000:00/0000:00:1c.0/0000:01:00.2/of_node".
sd-device: Failed to chase symlinks in "/sys/devices/pci0000:00/0000:00:1c.0/0000:01:00.2/physfn".
ens6f2: Parsing slot information from PCI device sysname "0000:01:00.2": success
ens6f2: dev_port=0
ens6f2: PCI path identifier: domain=0 bus=1 slot=0 func=2 phys_port= dev_port=0 → p1s0f2
0000:00:1c.0: Device is a PCI bridge.
ens6f2: Slot identifier: domain=0 slot=6 func=2 phys_port= dev_port=0 → s6f2
ens6f2: /usr/lib/udev/rules.d/75-net-description.rules:12 Importing properties from results of builtin command 'hwdb --subsystem=pci'
ens6f2: hwdb modalias key: "pci:v00008086d00001521sv00008086sd00005001bc02sc00i00"
ens6f2: /usr/lib/udev/rules.d/80-ifupdown.rules:5 RUN 'ifupdown-hotplug'
ens6f2: /usr/lib/udev/rules.d/80-net-setup-link.rules:5 Importing properties from results of builtin command 'path_id'
ens6f2: /usr/lib/udev/rules.d/80-net-setup-link.rules:9 Importing properties from results of builtin command 'net_setup_link'
ens6f2: Device has name_assign_type=4
ens6f2: Device has addr_assign_type=0
ens6f2: Config file /usr/lib/systemd/network/99-default.link is applied
ens6f2: MAC address on the device already matches policy "persistent".
ens6f2: Policy *keep*: keeping existing userspace name
ens6f2: /usr/lib/udev/rules.d/80-net-setup-link.rules:11 NAME 'ens6f2'
ens6f2: /usr/lib/udev/rules.d/99-systemd.rules:68 RUN '/lib/systemd/systemd-sysctl --prefix=/net/ipv4/conf/$name --prefix=/net/ipv4/neigh/$name --prefix=/net/ipv6/conf/$name --prefix=/net/ipv6/neigh/$name'
ens6f2: sd-device: Created db file '/run/udev/data/n71' for '/devices/pci0000:00/0000:00:1c.0/0000:01:00.2/net/ens6f2'
Unload kernel module index.
Unloaded link configuration context.
This program is for debugging only, it does not run any program
specified by a RUN key. It may show incorrect results, because
some values may be different, or not available at a simulation run.

DEVPATH=/devices/pci0000:00/0000:00:1c.0/0000:01:00.2/net/ens6f2
INTERFACE=ens6f2
IFINDEX=71
ACTION=add
SUBSYSTEM=net
TAGS=:systemd:
ID_NET_NAMING_SCHEME=v252
ID_NET_NAME_MAC=enxb4969125340e
ID_OUI_FROM_DATABASE=Intel Corporate
ID_NET_NAME_PATH=enp1s0f2
ID_NET_NAME_SLOT=ens6f2
ID_BUS=pci
ID_VENDOR_ID=0x8086
ID_MODEL_ID=0x1521
ID_PCI_CLASS_FROM_DATABASE=Network controller
ID_PCI_SUBCLASS_FROM_DATABASE=Ethernet controller
ID_VENDOR_FROM_DATABASE=Intel Corporation
ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet Server Adapter I350-T4)
ID_PATH=pci-0000:01:00.2
ID_PATH_TAG=pci-0000_01_00_2
ID_NET_DRIVER=igb
ID_NET_LINK_FILE=/usr/lib/systemd/network/99-default.link
ID_NET_NAME=ens6f2
CURRENT_TAGS=:systemd:
SYSTEMD_ALIAS=/sys/subsystem/net/devices/ens6f2
USEC_INITIALIZED=331680260201
run: 'bridge-network-interface'
run: 'ifupdown-hotplug'
run: '/lib/systemd/systemd-sysctl --prefix=/net/ipv4/conf/ens6f2 --prefix=/net/ipv4/neigh/ens6f2 --prefix=/net/ipv6/conf/ens6f2 --prefix=/net/ipv6/neigh/ens6f2'
Trying to open "/etc/systemd/hwdb/hwdb.bin"...
Trying to open "/etc/udev/hwdb.bin"...
Trying to open "/usr/lib/systemd/hwdb/hwdb.bin"...
Trying to open "/lib/systemd/hwdb/hwdb.bin"...
Trying to open "/lib/udev/hwdb.bin"...
=== trie on-disk ===
tool version:          252
file size:        12210802 bytes
header size             80 bytes
strings            2564306 bytes
nodes              9646416 bytes
Loading kernel module index.
Found cgroup2 on /sys/fs/cgroup/, full unified hierarchy
Found container virtualization none.
Using default interface naming scheme 'v252'.
Parsed configuration file "/usr/lib/systemd/network/99-default.link"
Parsed configuration file "/usr/lib/systemd/network/73-usb-net-by-mac.link"
Created link configuration context.
Reading rules file: /usr/lib/udev/rules.d/50-firmware.rules
Reading rules file: /usr/lib/udev/rules.d/50-udev-default.rules
Reading rules file: /usr/lib/udev/rules.d/55-dm.rules
Reading rules file: /usr/lib/udev/rules.d/56-dm-parts.rules
Reading rules file: /usr/lib/udev/rules.d/56-lvm.rules
Reading rules file: /usr/lib/udev/rules.d/60-autosuspend.rules
Reading rules file: /usr/lib/udev/rules.d/60-block.rules
Reading rules file: /usr/lib/udev/rules.d/60-bridge-network-interface.rules
Reading rules file: /usr/lib/udev/rules.d/60-cdrom_id.rules
Reading rules file: /usr/lib/udev/rules.d/60-drm.rules
Reading rules file: /usr/lib/udev/rules.d/60-evdev.rules
Reading rules file: /usr/lib/udev/rules.d/60-fido-id.rules
Reading rules file: /usr/lib/udev/rules.d/60-infiniband.rules
Reading rules file: /usr/lib/udev/rules.d/60-input-id.rules
Reading rules file: /usr/lib/udev/rules.d/60-kpartx.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-alsa.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-input.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage-dm.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage-tape.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-v4l.rules
Reading rules file: /usr/lib/udev/rules.d/60-qemu-guest-agent.rules
Reading rules file: /usr/lib/udev/rules.d/60-sensor.rules
Reading rules file: /usr/lib/udev/rules.d/60-serial.rules
Reading rules file: /usr/lib/udev/rules.d/64-btrfs.rules
Reading rules file: /usr/lib/udev/rules.d/68-del-part-nodes.rules
Reading rules file: /usr/lib/udev/rules.d/69-lvm.rules
Reading rules file: /usr/lib/udev/rules.d/70-camera.rules
Reading rules file: /usr/lib/udev/rules.d/70-joystick.rules
Reading rules file: /usr/lib/udev/rules.d/70-memory.rules
Reading rules file: /usr/lib/udev/rules.d/70-mouse.rules
Reading rules file: /usr/lib/udev/rules.d/70-power-switch.rules
Reading rules file: /usr/lib/udev/rules.d/70-touchpad.rules
Reading rules file: /usr/lib/udev/rules.d/70-uaccess.rules
Reading rules file: /usr/lib/udev/rules.d/71-seat.rules
Reading rules file: /usr/lib/udev/rules.d/73-seat-late.rules
Reading rules file: /usr/lib/udev/rules.d/73-special-net-names.rules
Reading rules file: /usr/lib/udev/rules.d/75-net-description.rules
Reading rules file: /usr/lib/udev/rules.d/75-probe_mtd.rules
Reading rules file: /usr/lib/udev/rules.d/78-sound-card.rules
Reading rules file: /usr/lib/udev/rules.d/80-debian-compat.rules
Reading rules file: /usr/lib/udev/rules.d/80-drivers.rules
Reading rules file: /usr/lib/udev/rules.d/80-ifupdown.rules
Reading rules file: /usr/lib/udev/rules.d/80-net-setup-link.rules
Reading rules file: /usr/lib/udev/rules.d/81-net-dhcp.rules
Reading rules file: /usr/lib/udev/rules.d/85-hwclock.rules
Reading rules file: /usr/lib/udev/rules.d/90-console-setup.rules
Reading rules file: /usr/lib/udev/rules.d/95-dm-notify.rules
Reading rules file: /usr/lib/udev/rules.d/96-e2scrub.rules
Reading rules file: /usr/lib/udev/rules.d/99-systemd.rules
eth0: /usr/lib/udev/rules.d/60-bridge-network-interface.rules:1 RUN 'bridge-network-interface'
eth0: /usr/lib/udev/rules.d/75-net-description.rules:6 Importing properties from results of builtin command 'net_id'
eth0: MAC address identifier: hw_addr=b4:96:91:25:34:0c → xb4969125340c
sd-device: Failed to chase symlinks in "/sys/devices/pci0000:00/0000:00:1c.0/0000:01:00.0/of_node".
sd-device: Failed to chase symlinks in "/sys/devices/pci0000:00/0000:00:1c.0/0000:01:00.0/physfn".
eth0: Parsing slot information from PCI device sysname "0000:01:00.0": success
eth0: dev_port=0
eth0: PCI path identifier: domain=0 bus=1 slot=0 func=0 phys_port= dev_port=0 → p1s0f0
0000:00:1c.0: Device is a PCI bridge.
eth0: Slot identifier: domain=0 slot=6 func=0 phys_port= dev_port=0 → s6f0
eth0: /usr/lib/udev/rules.d/75-net-description.rules:12 Importing properties from results of builtin command 'hwdb --subsystem=pci'
eth0: hwdb modalias key: "pci:v00008086d00001521sv00008086sd00005001bc02sc00i00"
eth0: /usr/lib/udev/rules.d/80-ifupdown.rules:5 RUN 'ifupdown-hotplug'
eth0: /usr/lib/udev/rules.d/80-net-setup-link.rules:5 Importing properties from results of builtin command 'path_id'
eth0: /usr/lib/udev/rules.d/80-net-setup-link.rules:9 Importing properties from results of builtin command 'net_setup_link'
eth0: Device has name_assign_type=1
eth0: Device has addr_assign_type=0
eth0: Config file /usr/lib/systemd/network/99-default.link is applied
eth0: MAC address on the device already matches policy "persistent".
eth0: Policy *slot* yields "ens6f0".
eth0: Could not set AlternativeName= or apply AlternativeNamesPolicy=, ignoring: File exists
eth0: /usr/lib/udev/rules.d/80-net-setup-link.rules:11 NAME 'ens6f0'
eth0: /usr/lib/udev/rules.d/99-systemd.rules:68 RUN '/lib/systemd/systemd-sysctl --prefix=/net/ipv4/conf/$name --prefix=/net/ipv4/neigh/$name --prefix=/net/ipv6/conf/$name --prefix=/net/ipv6/neigh/$name'
eth0: sd-device: Created db file '/run/udev/data/n69' for '/devices/pci0000:00/0000:00:1c.0/0000:01:00.0/net/eth0'
ens6f0: Failed to rename network interface 69 from 'eth0' to 'ens6f0': File exists
Unload kernel module index.
Unloaded link configuration context.
This program is for debugging only, it does not run any program
specified by a RUN key. It may show incorrect results, because
some values may be different, or not available at a simulation run.

DEVPATH=/devices/pci0000:00/0000:00:1c.0/0000:01:00.0/net/ens6f0
INTERFACE=ens6f0
IFINDEX=69
ACTION=add
SUBSYSTEM=net
ID_NET_NAMING_SCHEME=v252
ID_NET_NAME_MAC=enxb4969125340c
ID_OUI_FROM_DATABASE=Intel Corporate
ID_NET_NAME_PATH=enp1s0f0
ID_NET_NAME_SLOT=ens6f0
ID_BUS=pci
ID_VENDOR_ID=0x8086
ID_MODEL_ID=0x1521
ID_PCI_CLASS_FROM_DATABASE=Network controller
ID_PCI_SUBCLASS_FROM_DATABASE=Ethernet controller
ID_VENDOR_FROM_DATABASE=Intel Corporation
ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Ethernet Server Adapter I350-T4)
ID_PATH=pci-0000:01:00.0
ID_PATH_TAG=pci-0000_01_00_0
ID_NET_DRIVER=igb
ID_NET_LINK_FILE=/usr/lib/systemd/network/99-default.link
ID_NET_NAME=ens6f0
TAGS=:systemd:
CURRENT_TAGS=:systemd:
SYSTEMD_ALIAS=/sys/subsystem/net/devices/ens6f0
ID_RENAMING=1
INTERFACE_OLD=eth0
run: 'bridge-network-interface'
run: 'ifupdown-hotplug'
run: '/lib/systemd/systemd-sysctl --prefix=/net/ipv4/conf/ens6f0 --prefix=/net/ipv4/neigh/ens6f0 --prefix=/net/ipv6/conf/ens6f0 --prefix=/net/ipv6/neigh/ens6f0'

Reply to: