On Apr 6, 2013 7:32 PM, <kwk...@hkbn.net> wrote:
>
> 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.

Ah, thanks for the clarification! :-)

So, from now on, for safety I'm going to use a custom naming scheme, like
lan[0-9]+ or wan[0-9]+ or wifi[0-9]+, anything that won't collide with
kernel names of eth[0-9]+

Now I only had to figure out how to rename eth[0-9]+ to the custom naming
scheme when using mdev.

Rgds,
--

Reply via email to