[Bug 713385] Re: netcfg/choose_interface=auto fails to find the right interface
spencerwjensen
spencerwjensen at gmail.com
Wed Sep 27 15:49:04 UTC 2017
I can also confirm this is a bug. We are using Cobbler to netboot
systems (RedHat and Ubuntu). The RedHat systems have no problem using
PXE or iPXE with multiple NICs. Ubuntu 16.04 *seems* to work with PXE,
but fails during DHCP with iPXE chainloading.
I believe the issue is that the standard PXE process actually passes
some network information to the bootloader so the DHCP process chooses
the right interface to bring up, but this same information is getting
dropped along the way during iPXE chainloading.
This wouldn't be an issue for us because we are actually assigning
static IPs in the preseed file, however, the preseed file isn't
available until AFTER the NIC is up to pull down the file (chick v.
egg). It might be possible to pre-load all of the static network
information in the kernel options and disable DHCP altogether, however,
this seems a bit obtuse for a process which should be simple and
lightweight in the first place.
I think the correct behavior for "interface=auto" is that it actually
loops through the interfaces and tries to DHCP on each one until it gets
a valid response.
In the meantime, since this bug is SUPER old, I can +1 verify that
@spuzirev's workaround with "interface=${netX/mac}" in the kernel
options works like a charm and avoids the "BOOTIF=<mac>" hardcoding.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to netcfg in Ubuntu.
https://bugs.launchpad.net/bugs/713385
Title:
netcfg/choose_interface=auto fails to find the right interface
Status in netcfg package in Ubuntu:
Confirmed
Bug description:
Binary package hint: netcfg
Under some circumstances, netcfg may not be able to find the right
interface to run dhclient on when netcfg/choose_interface is set to
auto. It looks like the way choose_interface=auto works is that
ethtool finds the lowest numbered interface that reports a link, and
runs dhclient on that interface. If no interface with a link is
found, it tries only eth0.
I'm hitting a problem on a number of servers that have one or two
Broadcom BCM5708 interfaces *and* two Intel gigabit interfaces. If
the network connection is plugged in to the BCM5708, the install will
often fail to find a network with netcfg/choose_interface=auto.
The problem is that the BCM5708 doesn't report link up until you try
to send traffic over it. So none of the interfaces on the server
report having a link, and netcfg tries dhcp on just eth0. Depending
on the order the network modules have been loaded, eth0 may be the
BCM5708 or it may be the Intel. If eth0 is the Intel, d-i attempts to
run dhclient on the wrong interface, and it fails.
I think a reasonable solution to this problem would be for netcfg to
attempt dhclient on all interfaces until one succeeds. Or perhaps it
should do this only when no interfaces report a link. Either way, I
don't think we can rely entirely on link status, because not all NIC
report this correctly.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/netcfg/+bug/713385/+subscriptions
More information about the foundations-bugs
mailing list