Re: nic enumeration

Matt Domsch
2010-07-08T01:21:25Z

On Wed, Jul 07, 2010 at 06:25:53PM -0400, Michael Di Domenico wrote:
> I have an issue where I have an onboard NIC with effectively three
> ports, no other NIC ports/chips are in the system
>
> Nic0: xx:xx:xx:00:00:02
> Nic1: xx:xx:xx:00:00:01
> IPMI: xx:xx:xx:00:00:03
>
> When I boot RedHat Linux, Nic1 becomes Eth0 and Nic0 becomes Eth1.
>
> I understand there is a disconnect between BIOS and linux on which
> device should get which Eth, as well as, what ensues when you have PCI
> cards along side onboard ports.
>
> What I'm curious about is how/why Linux actually decides Nic1 should be Eth0?
>
> My theory is it starts on the lowest MAC address and works up,
> depending partly on driver load order.
>
> Given the above scenario, swapping the MAC addresses between Nic1 and
> Nic0 would clear this issue.
>
> Can anyone confirm or deny this? Or explain/point me to, how it actually works.

http://lwn.net/Articles/356900/

And on a system where you can use udev rules, the
70-persistent-net.rules file can be used to make them constant, by
using the MAC address to force the names to be what you want.

--
Matt Domsch
Technology Strategist
Dell | Office of the CTO