[systemd-devel] when/where was support for assigning "ethX" names removed?

Greg KH gregkh at linuxfoundation.org
Fri May 27 16:08:23 UTC 2016


On Fri, May 27, 2016 at 09:14:51AM -0600, Chris Friesen wrote:
> On 05/27/2016 08:36 AM, Lennart Poettering wrote:
> > On Thu, 26.05.16 12:28, Chris Friesen (cbf123 at mail.usask.ca) wrote:
> > 
> > > So I've been playing with this a bit, but I've run into another snag.  It
> > > seems that on initial boot even with "net.ifnames=0" the ethernet interface
> > > ordering isn't consistent.
> > > 
> > > This means that two systems with identical hardware can end up mapping
> > > "eth1000" to different physical slots.  This makes it very difficult to set
> > > up multiple machines.
> > 
> > Yupp, thta's what we have been saying all along: enumerating and
> > probing devices is not stable, that's why the predictable interface
> > names have been introduced after all, so that the same name refers to
> > the same device all the time.
> > 
> > > I assume this is due to parallel network device initialization from
> > > udev?
> > 
> > Well, udev just modprobes the driver. The driver then probes all
> > devices and that happens in any order it likes.
> 
> Looking at the kernel code, the probing order for pci NICs for a given
> driver is pretty well deterministic.

That is, if your BIOS doesn't decide to renumber the devices between
boots.  And yes, this can, and will, happen at times.  Usually if you
add/remove a device, or update the BIOS, but we have reports of machines
that the BIOS reorders things when it feels like, and I had one that
would do it every 2nd _or_ 3rd boot.

So again, you are playing with fire here, and will get burned when you
least expect it, good luck!

greg k-h


More information about the systemd-devel mailing list