Red Hat Bugzilla – Bug 105825
HWADDR/nameif broken with NETWORKING_IPV6=yes
Last modified: 2014-03-16 22:39:04 EDT
Description of problem:
My laptop has the following /etc/mactab:
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:
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
If I remove the line NETWORKIG_IPV6 everything comes as desired with the Xircom
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
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.
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
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
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,