Hello I would like to know how the kernel is naming the network interfaces. I have a automated installation for Rhel with predefined network interface names for the dedicated hardware. I would like to know if I change one NIC card if this names are going to change.

I found this: The kernel detects device hardware locations in terms of PCI bus number, slot number, and device number. That will not change unless you unplug it and move it to a different expansion slot. The new names are based on these physical parameters, and so they do not change from one boot session to the next.

but I am not sure what they mean with device number. Is this NIC's Mac address stored in the ROM? If yes than it will probably change the names of the network interfaces


PCI devices are enumerated by bus, device number and function (BDF). The device number is controlled by the IDSEL signal.

For PCI cards the IDSEL is determined by the slot they are plugged in.

Therefore slot number and device number are synonymous for Predictable Interface Naming.

See https://en.wikipedia.org/wiki/PCI_configuration_space#Bus_enumeration