Description of problem: My laptop has the following /etc/mactab: eth0 00:08:74:46:26:9D eth1 00:02:2D:6C:97:4E eth2 00:0B:FD:C6:4C:AD eth3 00:10:A4:E1:52:8A eth0 == builtin PCI 3com 10/100 nic eth1 == builtin PCMCIA (internal socket 2) Orinoco wireless eth2 == insertable Cisco Aironet 350 wireless nic eth3 == insertable Xircom RealPort 10/100 nic Everything seems to work as expected (yah!) except when I add the following to the /etc/sysconfig/network file: NETWORKING_IPV6=yes And then boot/reboot the computer with the Xircom inserted. The Xircom comes up as eth1 (instead of the desired eth3) and my Orinoco as eth2 (instead of the desired eth1). If I remove the line NETWORKIG_IPV6 everything comes as desired with the Xircom inserted.
I forgot to mention that my ifcfg-ethX files all have appropriate HWADDR lines.
Hm, ok. Does it fail only with 'service network start', or also with just bringing the interface up by hand? 'sh -x ifup <whatever>' in that case would be nice.
It seems to fail in both cases. It is 100% reproducible here. service network start ifup eth3 However, using sh -x isn't trivial since this is a PCMCIA nic and when I physical insert the nic, the ifup is run automatically via hotplug. I'll go hack on hotplug not to bring it up automatically and get your debug for you. Another (maybe related??) oddity is that my NICs have link-local IPv6 addresses even when I don't have NETWORKING_IPV6=yes. I can file a bug on this if you wish. Regardless, HWADDR/nameif works works without NETWORKING_IPV6, and doesn't work with it.
Hi Dax, I've just submited bug report for IPv6 addresses assigned regardless of NETWORKING_IPV6 setting. Than I found your bug report. I guess this two bugs might be related, on the other hand, maybe they are not.
Out of curiousity, does this work at all differently with FC2?
FWIW.. I don't really understand the logic of nameif, and you'll probably face problems if you want to name them ethX (where ethX might already exist).. I guess the fundamental issue here is that nameif only works under certain circumstances (not sure which exactly, the device must not be UP at least -- else it gives 'Device or resource busy'). So, my guess would be that loading the IPv6 module somehow interferes with that. For example when v6 link-local addresses are configured (automatically), the interface can no longer be re-named (not sure, not checked) ? If that theory is correct then: 1) when run through 'service network start', init.ipv6-global gets called before IPv4 has been activated, and it loads up IPv6, which gets immediately activated when the interface is brought up 2) when running 'ifup eth3' or the like, IPv6 has already been loaded through another interface, 'jamming' eth3 right after the network driver has been loaded but IPv4 addresses haven't been configured yet. If I'd have to guess, I'd guess that nameif doesn't work when v6 link-local addresses have been configured on the interface. Then I'd investigate whether it would be possible to make it work, because disabling the link-local addresses is practically not doable.
Does this still happen with FC3?
Closing due to lack of response. If this still occurs in FC4 or FC5, please reopen.