Re: nic enumeration

From: Brian Kroth
Date: Wed Jul 07 2010 - 18:39:57 EST


Michael Di Domenico <mdidomenico4@xxxxxxxxx> 2010-07-07 18:25:
> 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.

Look into udev. It should maintain some rules that dictate that
mapping. If not you can potentially write/alter some to make it do what
you want/expect.

On my systems the place to look is generally here:
/etc/udev/rules.d (user rules)
/lib/udev/rules.d (system rules)

There may be others.

Cheers,
Brian

Attachment: signature.asc
Description: Digital signature