NIC Configuration

Woes of Device Naming

Fawkes uses biosdevname to provide some sense of predictable interface names. biosdevname works great for simple servers with a single NIC, such as an onboard NIC, biosdevname provides the simple em1 name. For servers with multiple NICs, such as PCIe NICs, these names can still vary wildly because they revolve around the BUS ID. For example, depending on where the PCIe card is inserted and how that motherboard’s chipset processes the PCIe busses, the same card inserted in four different servers may have any of the following names (to list a few):

  • p801p1

  • p785p1

  • p2p1

  • p10p1

This causes problems for triage and development, where a guessing game of sorts has to be played to figure out which NIC is which.

Fawkes NIC Names

Fawkes controls its host’s interface names based on the PCI-SIG (Peripheral Component Interconnect Special Interest Group) of a device.

By obtaining the PCI Vendor and Device ID, we can provide customization for classifying NICs for various purposes, each purpose has a defined NIC naming prefix:

  • mgmt: internal/management network connection

  • sun: internal/storage network connection

  • hsn: high-speed connection

  • lan: external/site-connection

The information belongs to the first 4 bytes of the PCI header, and admin can obtain it using lspci or ethtool.

If crucible is installed on the system, a helper script will be available in /usr/bin.

/usr/bin/lsnics
Example
host:~ # lsnics
Name   VID  DID
em1    8086 37D2
em2    8086 37D2
p801p1 8086 37D2
p801p2 8086 37D2

Customizing ifname.yml

To change which network interfaces are used for which purpose, or to add new ones, follow the directions below.

  1. Edit the /etc/crucible/ifname.yml where Crucible is installed by populating the various categories with the requested information.

    vim /etc/crucible/ifname.yml
  2. Re-generate udev rules, overwriting the old ones if present.

    crucible network udev --overwrite

Device and Vendor ID Quick Reference

Below is a table of commonly used devices for Fawkes system, this table will continue to expand as Fawkes becomes more prevalent on a larger variety of hardware.

Vendor Model Device ID Vendor ID

Broadcom Inc. and subsidiaries

BCM57414 NetXtreme-E

16D7

14E4

Intel Corporation

Ethernet Connection X722

37d2

8086

Intel Corporation

82576

1526

8086

Mellanox Technologies

ConnectX-4

1013

15b3

Mellanox Technologies

ConnectX-5

1017

15b3

Giga-Byte

Intel Corporation I350

1521

8086

QLogic Corporation

FastLinQ QL41000

8070

1077