On Sat, 6 Apr 2013 19:11:46 +0700
Pandu Poluan <pa...@poluan.info> wrote:

> On Apr 6, 2013 3:44 PM, "Neil Bothwick" <n...@digimed.co.uk> wrote:
> >
> > On Fri, 5 Apr 2013 21:14:39 -0400, Walter Dnes wrote:
> >
> > > * on a machine with multiple network cards *ALL USING DIFFERENT
> > > DRIVERS*
> > > * drivers are built as modules, not built-in into the kernel
> > > * is it possible to set things up so that the network driver
> > > modules do not load automatically at bootup?
> > > * have a script in /etc/local.d/ (or wherever) modprobe the
> > > drivers in the desired order
> > >
> > >   I can see complications involving services that depend on net
> > > (e.g. sshd), but in general, would it work reliably?
> >
> > What happens if one of the modules fails to load for any reason?
> >
> > If you need persistent device names, set up rules to give them, but
> > use names outside of the kernel namespace to avoid kk problems that
> > udev is trying to avoid with its new naming rules.ooh
> >
> 
> Ahhh... I think now I understand...
> 
> So. Here's my summarization of the situation:
> 
> * The ethX naming can change, i.e., the interfaces can get out of
> order
> * So, to fix this, udev decided to use the physical attachment points
> of the NIC in driving a persistent name, a name that will be
> identical across boots as long as there is no hardware change

There are also other ways such as using the mac address (disabled by
default).

> * In doing so, it also frees the 'traditional' ethX names to be used

No.  The eth[0-9]+ namespace is not free, it has always been used by
the linux kernel, and will stay so.

> * If one wants, one can still 'rename' the NICs to the 'traditional'
> names using the 70-*.rules script
> * Doing so (specifying the NICs' names using the 70-*r.rules script)
> will also disable the new 'persistent naming' system -- for the NICs
> specified in the 70-*r.rules file
> * Therefore, users that will be impacted are those that upgraded udev
> but doesn't have the 70-*r.rules, for udev will then assign new names
> for the NICs
> * For these users, specifying the net....something switch for the
> kernel (sorry, forgot the complete switch) will disable the new
> naming system
> 
> So, have I gotten everything correctly?

Almost, except you should not specify a name that is also eth[0-9]+
(what you called 'traditional' name), since it can cause a race
condition where the kernel and udev fight for the name.  While it used
to be the case (i.e. <udev-197) that udev tries to handle the race
condition, the devs has decided to remove those code.

Regards,

Kerwin.

Attachment: signature.asc
Description: PGP signature

Reply via email to