[systemd-devel] network interface renaming via PCI ID w/ systemd-udevd

Mantas Mikulėnas grawity at gmail.com
Thu Nov 12 00:58:06 PST 2015

On Thu, Nov 12, 2015 at 10:52 AM, Matthew Hall <mhall at mhcomputing.net>

> 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.

I am _still_ not sure what you're talking about. The kernel's eth*
assignment policy hasn't changed for _many years_ – first device detected
gets eth0, second gets eth1, and so on. It has always been so.

The "new way" of systemd _does not_ use the eth* namespace for anything.
Just as you said, it uses alternative prefixes such as en* for the
"persistent" names.

Mantas Mikulėnas <grawity at gmail.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/systemd-devel/attachments/20151112/4c063de3/attachment-0001.html>

More information about the systemd-devel mailing list