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
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.
-
Edit the
/etc/crucible/ifname.yml
where Crucible is installed by populating the various categories with the requested information.vim /etc/crucible/ifname.yml
-
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 |
|
|
Intel Corporation |
Ethernet Connection X722 |
|
|
Intel Corporation |
82576 |
|
|
Mellanox Technologies |
ConnectX-4 |
|
|
Mellanox Technologies |
ConnectX-5 |
|
|
Giga-Byte |
Intel Corporation I350 |
|
|
QLogic Corporation |
FastLinQ QL41000 |
|
|