From Fedora Project Wiki
(fix naming conventions)
Line 18: Line 18:
The proposal is as follows:
The proposal is as follows:
* update biosdevname to upstream release 0.3.1 (in upstream git http://linux.dell.com/cgi-bin/gitweb/gitweb.cgi?p=biosdevname.git;a=summary)
* update biosdevname to upstream release 0.3.1 (in upstream git http://linux.dell.com/cgi-bin/gitweb/gitweb.cgi?p=biosdevname.git;a=summary)
* ensure postinstall udev uses biosdevname in udev rules to name LAN-on-Motherboard network ports from ethX to lom[1234] (done in biosdevname package)
* ensure postinstall udev uses biosdevname in udev rules to name LAN-on-Motherboard network ports from ethX to em[1234] and PCI cards to pci<slot>#<port>_<vf> (done in biosdevname package)
* have kickstart / anaconda use the biosdevname-provided name lom[1234] (patch http://domsch.com/linux/biosdevname/0001-add-biosdevname-to-installer-environment.patch)
* have kickstart / anaconda use the biosdevname-provided name lom[1234] (patch http://domsch.com/linux/biosdevname/0001-add-biosdevname-to-installer-environment.patch)
* add biosdevname to @base (patch  http://domsch.com/linux/biosdevname/0001-add-biosdevname-to-base-as-a-default-package.patch)
* add biosdevname to @base (patch  http://domsch.com/linux/biosdevname/0001-add-biosdevname-to-base-as-a-default-package.patch)
Line 36: Line 36:
* reboot the system
* reboot the system
* Following reboot:
* Following reboot:
** /sbin/ifconfig -a must show LAN-on-Motherboard ports named lom[1234]
** /sbin/ifconfig -a must show LAN-on-Motherboard ports named em[1234]
** lom[1234] must correspond to the chassis labels.  Verify using ethtool -p lom[1234] and watch the lights blink.
** em[1234] must correspond to the chassis labels.  Verify using ethtool -p em[1234] and watch the lights blink.
** /lib/udev/rules.d/70-persistent-net.rules should now have rules for lom[1234] and should correspond to chassis labels.
* Installing using Anaconda:
* Testing within anaconda TBD
** anaconda should present network devices to use, having the new naming convention.


== User Experience ==
== User Experience ==
LAN-on-Motherboard ports will be named lom[1234] rather than ethX
Ethernet NICs embedded on the motherboard will be named em[1234] rather than ethX.
PCI add-in card NICs will be named pci<slot>#<port>_<vf>


== Dependencies ==
== Dependencies ==

Revision as of 19:20, 30 November 2010

Consistent Network Device Naming

Summary

On Dell and HP servers with multiple network ports on the motherboard, name them lomX rather than ethX.

Owner

Current status

  • Targeted release: Fedora 15
  • Last updated: 2010-11-30
  • Percentage of completion: 100%

Detailed Description

Systems, particularly servers, with multiple network ports, name the ports ethX in a non-deterministic order, and are therefore not useful for system administrators.

The proposal is as follows:

Benefit to Fedora

System Administrators can then use BIOS-provided names, which are consistent and not arbitrarily named, for their network ports. This eliminates the confusion that non-deterministic naming brings, and eliminates the use of hard-coded MAC address based port renaming which a) is racy and error-prone, and b) introduces state into an otherwise stateless system.

This is only known to affect Dell PowerEdge 10G and newer servers, and HP 5G and newer servers, that expose network port labels in SMBIOS.

Scope

  • See above

How To Test

  • System-Under-Test must be a Dell PowerEdge 10g or newer server (PE 1950 III class, or R610 class), or HP ProLiant 380 (5G or 6G).
  • biosdevname must be installed on the target system.
  • erase /lib/udev/rules.d/70-persistent-net.rules file. This is where naming is persisted across reboots.
  • reboot the system
  • Following reboot:
    • /sbin/ifconfig -a must show LAN-on-Motherboard ports named em[1234]
    • em[1234] must correspond to the chassis labels. Verify using ethtool -p em[1234] and watch the lights blink.
  • Installing using Anaconda:
    • anaconda should present network devices to use, having the new naming convention.

User Experience

Ethernet NICs embedded on the motherboard will be named em[1234] rather than ethX. PCI add-in card NICs will be named pci<slot>#<port>_<vf>

Dependencies

None

Contingency Plan

None necessary, revert to previous release behaviour.

Documentation

Release Notes

  • Servers often have multiple Ethernet ports, either embedded on the motherboard, or on add-in PCI cards. Linux has traditionally named these ports ethX, but there has been no correlation of the ethX names to the chassis labels - the ethX names are non-deterministic. Starting in Fedora 15, Ethernet ports on servers will have a new naming scheme corresponding to physical locations, rather than ethX. Ethernet ports embedded on server motherboards will be named em<port_number>, while ports on PCI cards will be named pci<slot_number>#<port_number>, corresponding to the chassis labels. Additionally, if the network device is an SR-IOV Virtual Function, the name will have a suffix of _<virtual_instance>.

By changing the naming convention, system administrators will no longer have to guess at the ethX to physical port mapping, or invoke workarounds on each system to rename them into some "sane" order.

Existing installations upgraded to Fedora 15 will not see a change in names unless /lib/udev/rules.d/70-persistent-net.rules is deleted and the HWADDR lines are removed from all /etc/sysconfig/network-scripts/ifcfg-* files.

This feature affects Dell PowerEdge 10G and newer servers (PowerEdge 1950 III family, PowerEdge R710 family, and newer), and HP ProLiant G6 servers and newer.

Comments and Discussion