Page MenuHomePhabricator

hw-id is ignored when naming interfaces
Open, NormalPublic

Description

My machine has several network interfaces defined using the hw-id value.

e.g.,

interfaces {
  ethernet eth0 {
    hw-id 11:11:11:11:11:11
  }
  ethernet eth1 {
    hw-id 11:11:11:11:11:12
  }
  ethernet eth2 {
    hw-id 22:22:22:22:22:2a
  }
  ethernet eth3 {
    hw-id 22:22:22:22:22:2b
  }
}

eth0 and eth1 are both onboard interfaces while eth2 and eth3 are ports on a dual port Intel 82571EB adapter.

For whatever reason, the 82571EB adapter parts are being named eth0 and eth1 while the onboard ports are named eth2 and eth3. 'ip addr' reports that the eth names match the MAC addresses but this is incorrect.

I've tried the following:

  • Adding udev rules (doesn't work)
  • Moving the hw-id values around (doesn't work)

I've physically moved the cables in order to get the network back up. This very same configuration works correctly in Vyos 1.1.8.

Details

Difficulty level
Unknown (require assessment)
Version
1.2.0-r9
Why the issue appeared?
Will be filled on close

Event Timeline

kris240376 created this object in space S1 VyOS Public.
syncer assigned this task to UnicronNL.Dec 1 2018, 6:21 PM
syncer triaged this task as Normal priority.
syncer added subscribers: UnicronNL, syncer.

@UnicronNL we need to have ability to create link files and update initrd with them

pasik added a subscriber: pasik.Mar 12 2019, 6:08 PM
rps added a subscriber: rps.Sep 5 2019, 10:31 PM

I'm able to reproduce this bug.

Might also be related to the issue described here:

https://forum.vyos.io/t/vyos-1-2-0-is-not-working-with-supermicro-motherboards/3598

I just ran into this on a reference box when testing 1.2.3-epa1 and verify that it's a problem in 1.2.1 and 1.2.2 as well.

In this case using an Intel 82599ES dual-port 10GbE adapter on a Supermicro Atom C2000 with 4 x on-board Intel I354 interfaces which is identical to the forum post.

In my case eth0 through eth3 should be the on-board NICs, and eth4 and eth5 the PCIe card. Attempts to manually add interfaces to config.boot with correct hw-id's fails somewhere in the process. No order I've attempted results in successful configuration.

On a different Supermicro reference platform using the newer Atom C3000 series I also have 4 x on-board interfaces and a dual-port 40GbE PCIe card. I do not experience the interface ordering issue on this configuration.

In this case the PCIe card is using the Intel XL710 chipset and on-board devices make use of Intel 15c8.