Proposal: enable stateless persistant network interface names

Thomas Goirand zigo at debian.org
Fri Jun 26 10:01:59 BST 2015


On 05/11/2015 05:53 AM, Marco d'Itri wrote:
> On May 08, Martin Pitt <mpitt at debian.org> wrote:
> 
>> I propose to retire [mac], i. e. drop
>> /lib/udev/rules.d/75-persistent-net-generator.rules and enable
>> [ifnames] by default.
> I see a large enough consensus about switching by default to ifnames,

FWIW: I don't. In this very thread, I have read many counter-arguments.

> and I believe that the few people who want MAC-based names for USB 
> interfaces can easily set NamePolicy=mac or write a custom rule.

As always (and as it was for systemd), what counts here is the default.

>> So we can only let time and replacing/reinstalling machines take care
>> of this. /etc/udev/rules.d/70-persistent-net.rules requires zero
>> maintenance from us (it's just like the admin had manually set their
>> own rules).
> Actually it requires us to keep maintaining the 
> Revert-udev-network-device-renaming patch as long as there will be 
> systems with a 70-persistent-net.rules file renaming eth* to eth*.

The other solution would be to upstream that patch (maybe as a kernel
option if that is relevant).

> I believe that firmware-based device names work well enough in practice 
> since RHEL 7 uses them by default: I tend to trust a market-based 
> approach to maintenability more than anecdote from a very selected 
> population like the debian-devel@ subscribers.

Oh, how nice is that... So our opinions don't count, and Red Hat is just
always right!

FYI, I had non-anecdotal very bad experience to report, with the ifnames
from udev causing not-so-easy to fix issues deploying OpenStack on a
variety of hardware. I'm talking about large deployments here (in my
mind, large means more than 200 machines...).

> This is the relevant documentation, which I strongly recommend everybody 
> interested in this issue to read:
> 
> https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Networking_Guide/ch-Consistent_Network_Device_Naming.html
> https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Networking_Guide/sec-Understanding_the_Device_Renaming_Procedure.html
> https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Networking_Guide/sec-Understanding_the_Predictable_Network_Interface_Device_Names.html
> https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Networking_Guide/sec-Consistent_Network_Device_Naming_Using_biosdevname.html

All from redhat. /me not surprised...

> Maybe biosdevname would be nice to have, but:
> - somebody needs to actually maintain it in Debian
> - by default it only works on Dell systems
> - it is not loved by the udev/systemd upstream maintainers
> - it does not seem to me to provide any benefit over the firmware-based 
>   names since in practice both would use by default an interface index 
>   in the common case
> 
> So I do not think that we need to care about it.
> 
> An obvious downside is longer names for devices which do not provide 
> ID_NET_NAME_ONBOARD: e.g. the WiFi card in my Dell laptop does 
> not (wlp2s0), but the Ethernet port does (eno1).
> It will be even worse when not even ID_NET_NAME_PATH is defined (e.g. on 
> my Allwinner-based ARM computer), which means that interfaces will get 
> a mac-based name like enx028909xxxxxx.

Which is so convenient to type on the shell, right? :)

> But if somebody cares about the aesthetic value of network interface 
> names then they can probably write a custom udev rule to rename them,
> or keep using 75-persistent-net-generator if we can keep it around.

So your proposal is: if the default is unusable (like above), then the
poor user has to find a way to fix that... I'm not convince that this is
what we want. I'd very much prefer a usable default.

Cheers,

Thomas Goirand (zigo)





More information about the Pkg-systemd-maintainers mailing list