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

Greg KH gregkh at linuxfoundation.org
Thu May 26 19:59:02 UTC 2016


On Thu, May 26, 2016 at 01:49:07PM -0600, Chris Friesen wrote:
> On 05/26/2016 12:41 PM, Martin Pitt wrote:
> > Chris Friesen [2016-05-26 12:28 -0600]:
> > > 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.
> > 
> > "even with" → "because of" :-)
> > 
> > However, the ordering isn't really influenced by udev/systemd/ifnames,
> > that's entirely dependent on the hardware and kernel drivers.
> > 
> > > I assume this is due to parallel network device initialization from udev?
> > 
> > udev (or userspace in general) has no business in detecting physical
> > network devices, that's exclusively the kernel.
> 
> I'm looking at the kernel code now. It appears that the ordering of the
> network device discovery is influenced by the order in which the kernel
> modules are loaded as well as the physical layout of the system.  I saw some
> online notes that said that udev had a hand in loading the modules, and that
> it might load multiple modules in parallel--is that correct?
> 
> The thing that makes this all confusing/annoying is that when I was using a
> homebrew distro with a 3.10 kernel and sysV init the interface ordering was
> completely repeatable on identical hardware, but when I went to CentOS 7
> with a 3.10 kernel and systemd the interface ordering became variable.

Try making your own kernel with the needed drivers built-in and the
ordering should start to get semi-predictable, but then it might not be
because the kernel, and userspace, and your hardware, do not make any
guarantees of this AT ALL.

So you really are on your own here, good luck!

greg k-h


More information about the systemd-devel mailing list