[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