Quote:
Originally Posted by jefro
I'd assume that every distro will eventually go to a naming convention that describes the nic base on location in system rather than arbitrary info like eth0.
|
15-20 years ago one might have been able to figure out which physical network connection corresponded to such a name, based on the (PCI) bus and slot number. Unless of course you were using a multi-port NIC with a built-in PCI-to-PCI bridge, in which case all bets would be off anyway.
Nowadays, it's usually impossible to tell which logical bus a given NIC is actually connected to, as most NICs are part of the motherboard. This is particularly true for servers, which may have anything from 2 to 5 built-in NICs.
Quote:
Originally Posted by jefro
It was on BSD and other OS's for a while and has practical advantages.
|
Physical interfaces have retained their logical names on most Linux distributions for years. True, a NIC is given a semi-arbitraty "eth
n" name at first bootup, based on the order in which the various NIC drivers are loaded and initialized, but then the init scripts call
udev which renames the interfaces based on certain hardware characteristics, usually the MAC address. This is then stored in a persistent udev rule, causing the interface to be permanently associated with that name.
In other words, on older Linux systems, "eth0" will remain "eth0" no matter where the physical card resides. Change the physical NIC, and you get a new name.
On newer (typically systemd based) distros, the same NIC gets a new name if you move it to another PCI(e) slot, and a different make/model NIC in the same slot inherits the old name. Personally, I must say I find the old convention far more logical and less likely to cause confusion, and to me this new naming convention looks like a change being made just for the sake of it.
(Also, replacing the I/F names used by the kernel in order to accommodate a new naming convention has of course obsoleted tons of documentation and broken a lot of software.)