On a side note... the case you speak of is easily averted by using different cards :)
[root@pickles root]# cat /etc/modules.conf
alias parport_lowlevel parport_pc
alias eth0 3c59x
alias eth1 eepro100
alias eth2 tulip
I'm probably missing something here, but how does that help ? The problem is that if that the eth0 module fails to load for whatever reason, then the card that would normally be eth1 would be known as eth0.
If you provide aliases... all that means is that you can do
modprobe eth0
modprobe eth1
but ... as far as I understand it, those module aliases names have no link to the name the kernel allocates to the interface, so if eth0 failed, it would load eth1 (aliased to eepro100), and the eepro100 would be known as eth0 to the kernel.
Or is there some kludgy relationship between module alias names and interface names ?