Yep, names like p4p1 are soooo much better than eth0 :-(

Marko Vojinovic vvmarko at gmail.com
Mon Oct 17 13:50:02 UTC 2011


On Monday 17 October 2011 02:34:47 Tom Horsley wrote:
> On Sun, 16 Oct 2011 20:20:35 -0500
> 
> Chris Adams wrote:
> > Define "first".  Hint: that's not a solvable problem on general PC
> > hardware (thus, biosdevname).  There have been many problems over the
> > years where the ordering changed on some hardware from one kernel
> > release to the next.
> 
> Well, either biosdevname is also a nonsolvable problem, or a
> perfectly wonderful definition of "first" is simply "The
> lexicographic ordering of the biosdevname generated name strings".

Suppose you have a server with a two-port ethernet PCI card plugged into the 
second PCI slot on the motherboard. The biosdevname names are p2p1 and p2p2. 
By your definition, they would map to eth0 and eth1, right?

Now, at some point you decide to upgrade your hardware by adding an aditional 
two-port ethernet card in PCI slot 1. The biosdevname names for the new ports 
are p1p1 and p1p2, while p2p1 and p2p2 stay the same, as before. But this 
time, according to your proposal, eth0 and eth1 would not correspond to p2p1 
and p2p2, but to the new ports, p1p1 and p1p2, while the p2p1 and p2p2 would 
be renamed eth2 and eth3. Assuming that you plug all the cables back to their 
original positions, every script that refers to eth0 and eth1 is now broken, 
while every script that refers to p2p1 and p2p2 still works.

IIUC, this is one of the problems that biosdevname is meant to fix. The concept 
of physical location is a well-defined one, while the concept of linearly 
ordered (lexicographically or otherwise) location is ill-defined. Hence the 
names are given according to the physial location rather than to any 
particular ordering.

Best, :-)
Marko



More information about the users mailing list