Re: hotplug e1000 failed after 32 times

From: Jonathan Lundell
Date: Sun Sep 19 2004 - 19:33:06 EST


At 5:50 PM +0100 9/19/04, Dr. David Alan Gilbert wrote:
* Jonathan Lundell (linux@xxxxxxxxxxxxxxxx) wrote:

Out of curiosity, though, isn't there a residual related problem, in
that a reinserted card gets a new eth# as well? Not insurmountable, I
suppose, but a bitch to automate.

I do wonder why the eth# still gets exported to users - its a royal
pain when you have multiple cards. I guess naming by mac address
isn't ideal either when you want to hot swap one! Naming by
pci slot would be kind of nice.

It's a little tricky doing that, since PCI buses get moved around dynamically as well. A typical quad Ethernet board (Intel's quad gig, for example) has a bridge onboard that creates an internal PCI bus. PCI numbers by bus:device:function. It happens that device tends to correspond to slot, but that's not at all necessary. And of course we can't assume that all systems use PCI buses.

In our systems, where we have lots of ports, we rename our eth's along these lines: eth1a, eth1b, eth2a, eth3a, where 1,2,3 are slots (we use 0 for motherboard ports) and a,b,c,d are ports on the card.

But doing that requires a per-system-type configuration file that describes how to determine which device is in which slot, and that's a little tricky because of the way PCI buses get renumbered.

MAC address makes a lousy port name, IMO, since the user typically has no way of knowing which port has which address. (And I'm reminded of the Solaris convention where by default all ports in the system have the same MAC address...).
--
/Jonathan Lundell.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/