Description of problem:
I have new v60x hardware from Sun that detects the interfaces
incorrectly when configuring the networking in RedHat. The hardware
I believe is all Intel hardware. This is an onboard dual NIC setup.
It detects the port labeled 1 as eth1 and port 2 as eth0. When
installing Fedora Core 2, it detects properly.
Version-Release number of selected component (if applicable):
Install RH Enterprise LInux 3 on a v60x server. A kernel upgrade
does not fix the issue when using up2date.
Steps to Reproduce:
1. Install Enterprise Linux 3 on v60x hardware
A kernel upgrade does not resolve the issue.
After consulting my wise elders, I offer the following explanation:
<dledford> linville: If I recall correctly, the issue is that
basically in 2.4, a standard driver loads, it searches the PCI device
list for possible device matches and grabs the ones it wants. As a
result, devices are usually found in PCI device list order.
<dledford> linville: For 2.6, pretty much all the drivers are switched
over to using the PCI regristration mechanism that enables hotplug.
But, that means the driver doesn't search for devices any more, it
registers a table with the PCI layer and the PCI layer then calls it
when a device matching an entry in the table shows up.
<dledford> linville: Probably for purely no reason other than "it made
sense to sort things this way", the PCI layer may be looping over the
PCI device list, checking for one entry in the table at a time or
something like that, which could result in the detection order
changing between 2.4 and 2.6.
The ordering is fundamentally cosmetic. If it truly bothers you, you
can change it like this:
mv ifcfg-eth0 $$
mv ifcfg-eth1 ifcfg-eth0
mv $$ ifcfg-eth1
vi ifcfg-eth # change DEVICE= lines to match new filenames
Then, reboot (or `service network restart` might work)...