Update 2020-12-29: by now we believe this was caused by an override for the systemd
[Link]
configuration, which we wrote into /etc/systemd/network/99-default.link
.
That ended up to completely replace the default configuration in
/lib/systemd/network/99-default.link
and caused this issue. Now we write our config
to /etc/systemd/network/80-virtual.link
, and made it more narrow.
Update 2019-09-06: we experienced the name issue on Debian/stretch hosts using the latest stretch-backports kernel based on the same buster kernel release. Still no idea what's going on. Created https://bugs.debian.org/939328 for further tracking.
For yet unknown reasons some recently installed HPE DL360G10 running buster changed
back the interface names from the expected "onboard" based names eno5
and eno6
to ethX
after a reboot.
My current workaround is a link file which kind of enforces the onboard
scheme.
$ cat /etc/systemd/network/101-onboard-rd.link
[Link]
NamePolicy=onboard kernel database slot path
MACAddressPolicy=none
The hosts are running the latest buster kernel
Linux foobar 4.19.0-5-amd64 #1 SMP Debian 4.19.37-5+deb10u2 (2019-08-08) x86_64 GNU/Linu
A downgrade of the kernel did not change anything. So I currently like to believe this is not related a kernel change.
I tried to collect a few information on one of the broken systems while in a broken state:
root@foobar:~# SYSTEMD_LOG_LEVEL=debug udevadm test-builtin net_setup_link /sys/class/net/eth0
=== trie on-disk ===
tool version: 241
file size: 9492053 bytes
header size 80 bytes
strings 2069269 bytes
nodes 7422704 bytes
Load module index
Found container virtualization none.
timestamp of '/etc/systemd/network' changed
Skipping overridden file '/usr/lib/systemd/network/99-default.link'.
Parsed configuration file /etc/systemd/network/99-default.link
Created link configuration context.
ID_NET_DRIVER=i40e
eth0: No matching link configuration found.
Builtin command 'net_setup_link' fails: No such file or directory
Unload module index
Unloaded link configuration context.
root@foobar:~# udevadm test-builtin net_id /sys/class/net/eth0 2>/dev/null
ID_NET_NAMING_SCHEME=v240
ID_NET_NAME_MAC=enx48df37944ab0
ID_OUI_FROM_DATABASE=Hewlett Packard Enterprise
ID_NET_NAME_ONBOARD=eno5
ID_NET_NAME_PATH=enp93s0f0
Most interesting hint right now seems to be that /sys/class/net/eth0/name_assign_type
is invalid
While on sytems before the reboot that breaks it, and after setting the .link file fix, contains a 4
.
Since those hosts were intially installed with buster there are no remains on any ethX
related
configuration present. If someone has an idea what is going on write a mail (sven at stormbind dot net),
or blog on planet.d.o.
I found a vaguely similar bug report for a Dell PE server in
#929622, though that was a change
from 4.9 (stretch) to the 4.19 stretch-bpo kernel and the device names were not changed back to the ethX
scheme, and Ben found a reason for it inside the kernel. Also the hardware is different using bnxt_en
, while
I've tg3
and i40e
in use.