Features/ConsistentNetworkDeviceNaming

From FedoraProject

Jump to: navigation, search

Contents

Consistent Network Device Naming

Summary

Change the network device naming scheme from ethX to a physical location-based name for easy identification and use.

Owner

New Owner:

Previous Owner:

Current status

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 change affects most desktop, notebook, and server-class systems.

Limitations

Not all add-in cards have a method to expose their Linux interface name(s) to external port mapping. biosdevname may provide incorrect names for such. Discussions are ongoing on the netdev mailing list to standardize a method of exposing such mapping.

Scope

How To Test

User Experience

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

Linux guests running under virtualization platforms such as KVM, Xen, VMware Workstation or ESX, or Microsoft Hyper-V will not have their devices renamed.

System Administrators may disable this feature by passing "biosdevname=0" on the kernel command line.

Dependencies

None

Contingency Plan

None necessary, revert to previous release behaviour.

Documentation

Release Notes

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.

This feature affects all physical systems that expose network port naming information in SMBIOS 2.6 or later (specifically field types 9 and 41). Dell PowerEdge 10G and newer servers (PowerEdge 1950 III family, PowerEdge R710 family, and newer), and HP ProLiant G6 servers and newer are known to expose this information, as do some newer desktop models. Furthermore, most older systems expose some information in the PCI IRQ Routing Table, which will be consulted if information is not provided by SMBIOS.

Fedora running as a guest virtual machine will continue to use the ethX names.

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

You may continue to write rules in /etc/udev/rules.d/70-persistent-net.rules to change the device names to anything you wish. Such will take precedence over this physical location naming scheme. Such rules may look like:

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:11:22:33:44:55", ATTR{type}=="1", KERNEL=="eth*", NAME="public"

This feature may be disabled by passing "biosdevname=0" on the kernel command line, in which case, behavior will revert to using ethX names.

Upgrading from an earlier version of Fedora (including 15-Alpha or -Beta) to Fedora 15 may result in a change of network device names from an earlier biosdevname naming scheme to the final naming scheme described here. Configuration files must be manually adjusted accordingly.

Comments and Discussion