[systemd-devel] network interface renaming via PCI ID w/ systemd-udevd
Matthew Hall
mhall at mhcomputing.net
Thu Nov 12 00:52:40 PST 2015
On Thu, Nov 12, 2015 at 09:56:28AM +0200, Mantas Mikul??nas wrote:
> You begin with saying that eth# is good because that's how it's been done
> for decades ??? but then you say the exact same thing is now *bad* and the
> kernel should start putting new interfaces under net#, completely
> contradicting your earlier "trying to change it would drive me crazy". What
> even?
>
> The kernel has been "dynamically populating the eth* namespace with random
> unexpected network interfaces" since day one. It's not a systemd thing.
> It's as you said "how UNIX has always worked".
Yes, of course at first it appears to be a contradiction.
Until you consider that for most of these decades, the software was populating
more or less the same set of static devices once at boot, albeit in a
potentially weird order. It was not randomly adding or removing things
on-the-fly as some new driver comes up or down.
So, we took was was an admittedly semi-random process that was working pretty
well, and starting doing thinsg in a new way. Except this new way comes with
some unpleasant side effects.
This new way steals the old eth* namespace everybody was comfortable with,
despite its issues, and makes it a lot more random and full of weird dynamic
stuff. The need for weird dynamic stuff was unavoidable, but it seems
unhelpful to complicate the problems with eth* by pouring more gasoline on it.
Putting weird stuff in there by itself would not be a big deal. Except now
you're saying that we are prohibited from giving meaning and lofical back to
that namespace, merely because the software wants to reserve the right to
randomly insert weird stuff into the middle of that namespace at any point for
no really reason in terms of features or usability as far as I could determine.
So I'm sending a contradictory email not because I am crazy but actually in
response to a contradictory policy from upstream! :) What we are seeing here
is a butterfly effect. A small change in the initial conditions, i.e. of the
level of dynamism expected of eth* compared to the past, has caused an
unexpectedly large disturbance in the usability of the environment.
It can be overcome, of course, with an override file that would more clearly
allocate the devices... except we're being told the one classic namespace
we're used to using for decades, is now *precisely* the one we're not supposed
to use. And nobody provided a working example of the override file in the
documentation... so then no new users experiencing the changes will have any
good idea what to do to fix things.
Matthew.
More information about the systemd-devel
mailing list