My config changes are very simple, but they aren't a perfect solution- eth0 will be either the nVidia LAN or the Marvell. YaST will have an absolute conniption if you try to use it to adjust your network hardware after you implement these changes. (Actually, it's a simple matter to put things back in order, run YaST, and then redo the mods. I don't want to scare you off.)
But it works without crashing, which is what's important to me.
I tried using /etc/modules.conf to setup the eth ports in a deterministic way, but it didn't work. However, this is a great place to help out the driver for the Marvell a bit:
options sk98lin AutoNeg=sense
It took me a very long time to find this one. So long that when I tried to thank the person who had posted it originally, the address had expired.
I put the option in modules.conf because I figured I could make all my changes in one file, which is more tidy. But since I can't, maybe I should have done it as follows.
There are two ethernet ports on this motherboard, which means that there will be two files in /etc/sysconfig/hardware and two in /etc/sysconfig/network. First, the hardware. I have one that is called "static" for the nVidia, and one called "bus-pci-yadayadayada" for the Marvell.
So- maybe I don't need the AutoNeg line in modules.conf.
OK, the only "tricky" thing I did is in /etc/sysconfig/network/. First I'll describe the files as YaST created them.
/etc/sysconfig/network/ifcfg-eth0: (for nVidia)
And here's the only tricky thing that I did:
/etc/sysconfig/network #ln ifcfg-eth0 ifcfg-eth1
That's it. Now, when the nVidia port comes up as eth1, it finds it as ifcfg-eth1 and runs away happy.
A brief checklist of getting things up and running is to use YaST to set up both devices as described, using the drivers I mentioned. Then, manually create ifcfg-eth1. If you need to use YaST again on network hardware, remove ifcfg-eth1, make your changes, and recreate ifcfg-eth1.
I hope this helps.