Understanding network device names in Linux

biosdevname udev helper utility uses device names that reveal information about physical location and systemd-udevd generates the network device names

em123 - Ethernet Motherboard Portnumber
p<port>p<slot> - PCI, PCI port, PCI card network interface
p<slot>p<ethernet port>_<virtual interface> - Virtual function
eno123 - EtherNet Onboard

if driver doesn't reveal sufficient information, eth0 etc, is used

biosdevname in its simplest form takes a kernel device name as an argument, and returns the BIOS-given name it "should" be.

systemd-udevd listens to kernel events. For every event, systemd-udevd executes matching instructions specified in udev rules.