[systemd-devel] About stable network interface names

Cesare Leonardi celeonar at gmail.com
Mon May 29 00:35:12 UTC 2017


Hello, I've some dubts related to predictable network interface names.

If I understand correctly the reference document about this topic is:
https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/

Take this paragraph from that document:
-----
We believe it is a good default choice to generalize the scheme 
pioneered by "biosdevname". Assigning fixed names based on 
firmware/topology/location information has the big advantage that the 
names are fully automatic, fully predictable, that they stay fixed even 
if hardware is added or removed (i.e. no reenumeration takes place) and 
that broken hardware can be replaced seamlessly.
-----

And this one:
-----
Stable interface names even when hardware is added or removed, i.e. no 
re-enumeration takes place (to the level the firmware permits this).
-----

They say that no re-enumeration take place if hardware is added or 
removed, with the last quote that puts a depends on firmware.

I ask because I've done several tests, with different motherboards, 
adding and removing PCI-express cards and that expectation was not 
satisfied in many cases.

For example, in one of those tests I initially had this setup:
Integrated NIC: enp9s0
PCIE1 (x1): dual port ethernet card [enp3s0, enp4s0]
PCIE2 (x16): empty
PCIE3 (x1): dual port ethernet card [enp7s0, enp8s0]

Then i inserted a SATA controller in the PCIE2 slot and three NICs got 
renamed:
Integrated NIC: enp10s0
PCIE1 (x1): dual port ethernet card [enp3s0, enp4s0]
PCIE2 (x16): empty
PCIE3 (x1): dual port ethernet card [enp8s0, enp9s0]

Why?
Didn't this interface naming scheme supposed to avoid this kind of renaming?
 From what i've experimented network names are guaranteed to be stable 
across reboots *and* if you doesn't add or remove hardware.

Please, can you clarify on this?

Cesare.


More information about the systemd-devel mailing list