Consistent Network Interface Naming
For RHEL 7 the network interface names have changed from the legacy
ethX
style to a modern consistent naming scheme.
The details are described in the Dell
Consistent Network Device Naming in Linux
document. The Redhat networking guide also has a very useful chapter -
Consistent Network Device Naming
.
Here are the details for supported models.
Model |
Name |
ID_NET_NAME_ONBOARD |
ID_NET_NAME_PATH |
SMBIOS |
Dell Optiplex 745 |
enp2s0 |
|
enp2s0 |
2.3 |
Dell Optiplex 755 |
enp0s25 |
|
enp0s25 |
2.5 |
Dell Optiplex 780 |
enp0s25 |
|
enp0s25 |
2.5 |
Dell Optiplex 790 |
em1 |
eno1 |
enp0s25 |
2.6 |
Dell T5610 |
? |
|
enp0s25 |
2.7 |
HP DC7900 |
enp0s25 |
|
enp0s25 |
2.5 |
HP 8000 Elite |
enp0s25 |
|
enp0s25 |
2.6 |
HP 8200 Elite |
em1 |
eno1 |
enp0s25 |
2.7 |
HP 8300 Elite |
em1 |
eno1 |
enp0s25 |
2.7 |
HP 800 EliteDesk G1 |
em1 |
eno1 |
enp0s25 |
2.7 |
HP 800 EliteDesk G2 |
em1 |
eno1 |
enp0s31f6 |
2.7 |
HP Z220 |
em1 |
eno1 |
enp0s25 |
2.7 |
Dell PowerEdge 1950 |
enoX |
eno1 / eno2 |
enp3s0 / enp7s0 |
2.5 |
Dell PowerEdge R200 |
enoX |
eno1 / eno2 |
enp3s0 / enp4s0 |
2.5 |
Dell PowerEdge R220 |
emX |
eno1 / eno2 |
enp2s0f0 / enp2s0f1 |
2.7 |
Dell PowerEdge R310 |
emX |
enoX |
enp2s0fY |
2.6 |
Dell PowerEdge R330 |
emX |
eno1 / eno2 |
enp4s0f0 / enp4s0f1 |
2.8 |
Dell PowerEdge R420 |
emX |
eno1 / eno2 |
enp2s0f0 / enp2s0f1 |
2.7 |
Dell PowerEdge R430 |
emX |
enoX |
enp2s0fY |
2.8 |
Dell PowerEdge R510 |
emX |
enoX |
enp1s0f0 / enp1s0f1 |
2.6 |
Dell PowerEdge R520 |
emX |
enoX |
enp2s0fY |
2.7 |
Dell PowerEdge R710 |
emX |
enoX |
enp1s0fY / enp2s0fY |
2.6 |
HP DL180 G6 |
emX |
|
enp8s0fY |
2.6 |
SMBIOS Version
For older versions of the SMBIOS the name will be the
ID_NET_NAME_PATH
, with newer versions it will be based on
ID_NET_NAME_ONBOARD
. On Dell it appears that the cut-off version is 2.6, on HP it appears to be 2.7.
To find the SMBIOS version use the following commands:
/sbin/dmidecode -t 41 | grep SMBIOS
/sbin/dmidecode -t 9 | grep SMBIOS
/sbin/biosdecode | grep SMBIOS
Finding network names
To find the network interface names use the
udevadm
tool, something like this:
udevadm info -e | grep ID_NET_NAME
This
blog article
was very helpful for working out how to discover the various information.
If a machine is still using the legacy name (e.g.
eth0
) then the biosdevname tool can be used to find out what it would return.
/sbin/biosdevname --smbios 2.6 --nopirq --policy physical -i eth0
This is the command used in
/usr/lib/udev/rules.d/71-biosdevname.rules
, if this returns anything that is the interface name to use, if nothing is returned then it seems that the
ID_NET_NAME_PATH
name will be used instead.
-- Main.ascobie - 2016-02-16