https://docs.oracle.com/cd/E52668_01/E54669/html/ol7-nic-names.html
11.2 About Network Interface Names
Network interface names are based on information derived from the system BIOS or alternatively from a device's firmware, system path, or MAC address. This feature ensures that interface names persist across system reboots, hardware reconfiguration, and updates to device drivers and the kernel.
If you enable the biosdevname
boot option (biosdevname=1
), the
biosdevname
plugin to the udev device manager assigns names to network interfaces as follows:
-
Ethernet interfaces on the motherboard are named
em
N
, whereN
is the number of the interface starting from 1. -
Network interfaces on a PCI card are named
p
S
p
P
, whereS
is the slot number andP
is the port number. -
Virtual interfaces are named
p
S
p
P
_
V
, whereS
is the slot number,P
is the port number, andV
is the virtual interface number.
If biosdevname
is set to 0 (the default),
systemd
naming assigns the prefixes, en
,
wl
, and ww
to Ethernet, wireless LAN, and wireless WAN interfaces respectively. The prefix is followed by a suffix based on the hardware configuration, system bus configuration, or MAC address of the device:
-
Onboard device with index number
N
. -
PCI device with bus number
B
, slot numberS
, function numberF
, and device IDD
. -
USB device with bus number
B
, slot numberS
, function numberF
, port numberP
, configuration numberC
, and interface numberI
. -
Hot-plug device with slot number
S
, function numberF
, and device IDD
. -
Device with MAC address
M
.
o
N
p
B
s
S
[f
F
][d
D
]
p
B
s
S
[f
F
][u
P
]...[c
C
][i
I
]
s
S
[f
F
][d
D
]
x
M
For example, an Ethernet port on the motherboard might be named
eno1
or em1
, depending on whether the value of
biosdevname
is 0 or 1.
The kernel assigns a legacy, unpredictable network interface name (eth
N
and
wlan
N
) only if it cannot discover any information about the device that would allow it to disambiguate the device from other such devices. You can use the
net.ifnames=0
boot parameter to reinstate the legacy naming scheme.
Using the net.ifnames
or biosdevname
boot parameters to change the naming scheme can rendering existing firewall rules invalid. Changing the naming scheme can also affect other software that refers
to network interface names.