[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#439462: potential solutions

Matt T, thanks for pointing this out.

The solution being employed by other distributions is based on udev,
and twofold.

1) include a udev rule to create persistent ethernet device naming.
   The first time a new MAC address is detected, add a rule to a udev
   rule file    (e.g. 70-persistent-net-devices.rules) with the new
   entry.  If such exist, then it renames devices based on their MAC
   address to the name specified in the rule.  Udev 013 and higher can
   rename ethernet devices themselves via such rules.

2) include a udev rule and new application I wrote, biosdevname
   (http://linux.dell.com/files/biosdevname) which is called after
   70-persistent-net-devices.rules (so existing persistent names
   remain), but before other net-device-naming rules.  biosdevname
   uses various explicit data from SMBIOS, or heuristics otherwise, to
   name net devices based on what BIOS expects them to be named.

Both are necessary to solve this properly.  For dist-upgrades, you
want to be sure your 70-persistent-net-devices.rules file exists, so
the kernel name given (correct or incorrect from your POV) doesn't
matter - the only thing that matters is what is in the rules file.
Absent the rules file, you want biosdevname invoked via udev rules.
Absent that, fall back to whatever your normal net naming rules would
be, either udev or kernel-provided.

I'm actively working with Fedora/RH and OpenSuSE/SLE to implement the
above strategy.  I would expect Debian and derivatives to do
likewise.  This is being actively discussed on the
linux-hotplug-devel@lists.sourceforge.net mailing list, the home of udev.


Matt Domsch
Linux Technology Strategist, Dell Office of the CTO
linux.dell.com & www.dell.com/linux

Reply to: