Fedora developer, Matt Domsch, has announced that Fedora 15 is breaking the conventional ethX naming scheme used for Ethernet devices by adopting a new scheme called Consistent Network Device Naming.
The ethX naming scheme works fine as long as the system has only one Ethernet port. However if there are more than one Ethernet ports, a sort of race condition develops at every system boot and the ports may get their names in an arbitrary order. Suppose we have two Ethernet devices - eth0 and eth1. It cannot be ensured that eth0 will remain as eth0 and eth1 will remain as eth1 after the next system boot. The names will be allocated arbitrarily. This is generally not a problem in personal computers because there is only one port. However, some servers have multiple Ethernet ports and this naming scheme creates problems in such cases.
To ensure that the devices retain the same name regardless of system boots, Dell has developed a tool call biosdevname. The biosdevname renames the Ethernet devices according to the information presented by the system BIOS. This, however, means the old ethX naming scheme cannot be used. It will be replaced by the Consistent Network Device Naming.
According the Matt Domsch, the new naming scheme is as follows:
- em[1-N] for on-board (embedded) NICs (# matches chassis labels)
- pci<slot>#<port> for cards in PCI slots, port 1..N
- NPAR & SR-IOV devices add a suffix of _<vf>, from 0..N depending on the number of Partitions or Virtual Functions exposed on each port.
- Other Linux conventions, such as .<vlan> and :<alias> suffixes remain unchanged and are still applicable.
The new naming scheme is more complicated than the ethX scheme no doubt. But it will not make any difference to most personal computers as they generally have only a single Ethernet port. This change will not affect the Wireless and USB devices.
With Fedora 15, biosdevname is going to be included by default and the naming scheme for Ethernet devices will follow the Consistent Network Device Naming.
Although Fedora is shipping biosdevname first, other Linux distributions are also expected to adopt it. There is reportedly a blueprint for integrating this in Ubuntu 11.04 already and a feature request for inclusion in OpenSUSE as well.