[systemd-devel] on the default for PredictableNetworkInterfaceNames

Martin Pitt martin.pitt at ubuntu.com
Sun Apr 10 08:17:49 UTC 2016


Hello,

Xen [2016-04-09 20:29 +0200]:
> 1. I believe most users do not like the "enp5s0" scheme
> 2. I do not think there are any good reasons for making it the default.

There are very good reasons for having a mechanism for stable names by
default. Most importantly, to keep your machine actually
booting/working .. when names suddenly move around and your server is
suddenly not online any more, or your firewall silently stops working,
this is a tad bad. :-)

> "Finally, many distributions support renaming interfaces to user-chosen
> names (think: "internet0", "dmz0", ...) keyed off their MAC addresses or
> physical locations as part of their networking scripts. This is a very
> good choice but does have the problem that it implies that the user is
> willing and capable of choosing and assigning these names."

This isn't true -- having the option of customizing the names doesn't
mean that you *have* to do it. That's precisely why we must provide
some schema for stable names by default -- because the majority of
users does not care and should not *have* to care.

> What is really the amount of systems or proportion thereof that have
> multiple NICs?

I actually think "most" (at least an ethernet and a wifi card), but
this question is also fairly irrelenvant -- even if it's just 5% we
still want those to function correctly.

> Any user running a system with multiple NICs should be willing and
> capable of choosing and assigning these names.

To be frank, this is the attitude of the 90's when you had to sit down
with a thick book and spend a week until your Linux system was up and
running.

If a user wants to customize the names, nothing stops them, and it's
well-documented how to do that. But that doesn't mean that we aren't
responsible for being correct and safe by default.

> The new biosdev scheme is so meaningless that mostly any user WILL want
> to change this scheme to become something meaningful, but the obstacles
> to it are too great currently for the regular user.

>From my POV of a desktop-oriented developer and distro engineer who
sees a lot of bug reports -- "most users" don't care. It's totally
irrelevant on a desktop where the network is usually configured
dynamically (NetworkManager) and it's mostly irrelevant for virtual
environments which most of the time only have one network card which
the OS installer sets up by default. It is highly relevant for
embedded setups (think RasPi board) and servers with multiple NICs,
and there a location-based naming matches people's intuition a lot
better than the old MAC-based enumeration from
persistent-net-generator.

> So we may have 5% or less of all systemd/linux networking users that
> actually requires this.
> The 5% or less that does require it is not the type of user that would
> not be able to adjust the naming scheme.

That's a rather strong assumption, and IMHO it's unnecessary to make.

> Now you are causing 95% of users that really need to turn it off.

This is not true, and a dangerous piece of advice to give to anybody.

> At the very least create a configuration file where this is a simple
> named option. And then, at the very least, don't turn it on by default.

All of this is very easy to configure.

In the end, the root cause of this is that Linux' handling of network
devices is so completely different than just about every other device.
For the latter (nodes in /dev) we can easily have aliases so that we
can provide suitable names for every use case (by-serial, by-uuid,
by-label, etc.), but this is impossible with network devices
unfortunately. So there simply is no naming schema that fits
everybody's needs, and every default that we pick will have to be
changed in some circumstance. But I believe that the current one is a
fairly safe, reasonable, and most importantly, *working* default, at
the price of having to adjust to slighly "odd" names.

Martin

-- 
Martin Pitt                        | http://www.piware.de
Ubuntu Developer (www.ubuntu.com)  | Debian Developer  (www.debian.org)


More information about the systemd-devel mailing list