BlueField Out-of-band Management
The BlueField OOB interface is a gigabit Ethernet interface which provides TCP/IP network connectivity to the Arm cores. This interface is named
oob_net0
and is intended to be used for traffic management (e.g., file transfer protocols, SSH, etc). The Linux driver controlling this interface is named
mlxbf_gige.ko
and is automatically loaded upon boot. This interface can be configured and monitored using standard Linux tools (e.g., ifconfig, ethtool, etc).
Command | Description |
| Display GIGE driver entries in Linux kernel log |
| Display industry standard statistics on |
| Display DHCP client entries in NetworkManager system log |
| Display all NetworkManager system log entries related to "oob_net0" interface |
| Display Ethernet-specific configuration of |
| Display vendor-specific statistics on |
| Display pause frame configuration of |
| Display pause frame counters of |
Industry Standard Counters
The commands ifconfig oob_net0 and ip -s link show oob_net0 are two ways to display standard counters, for example packet transmit and receive.
# ifconfig oob_net0
oob_net0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.15.8.54 netmask 255.255.255.0 broadcast 10.15.8.255
inet6 fe80::293e:3f2b:443d:cc0c prefixlen 64 scopeid 0x20<link>
ether b8:3f:d2:e1:c7:20 txqueuelen 1000 (Ethernet)
RX packets 1679160 bytes 144372970 (137.6 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 183989 bytes 17345583 (16.5 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
# ip -s link show oob_net0
3: oob_net0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether b8:3f:d2:e1:c7:20 brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped missed mcast
144396715 1679434 0 0 0 0
TX: bytes packets errors dropped carrier collsns
17348389 184020 0 0 0 0
Vendor-Specific Counters
The command ethtool -S oob_net0 will display vendor-specific counters that are not part of standard statistics.
# ethtool -S oob_net0
NIC statistics:
hw_access_errors: 0
tx_invalid_checksums: 0
tx_small_frames: 0
tx_index_errors: 0
sw_config_errors: 0
sw_access_errors: 0
rx_truncate_errors: 0
rx_mac_errors: 0
rx_din_dropped_pkts: 0
tx_fifo_full: 0
rx_filter_passed_pkts: 1679734
rx_filter_discard_pkts: 80759
Interface oob_net0 is Not Present
If the output of
ifconfig -adoes not show theoob_net0interface, check if the proper kernel modules are configured in the kernel and dynamically loadedCheck that the
mlxbf_gigemodule is configured properly and loaded:If the
mlxbf_gigedriver is configured as a loadable kernel module (CONFIG_MLXBF_GIGE=m) then the output oflsmodshould showmlxbf_gigeIf the
mlxbf_gigedriver is configured as a built-in module (CONFIG_MLXBF_GIGE=y) then the driver is present and there is no need to check output oflsmod
Check that the appropriate PHY device driver is configured properly and loaded:
BlueField-2 uses Micrel 9031 PHY
If the
micreldriver is configured as a loadable kernel module (CONFIG_MICREL=m) then the output oflsmodshould showmicrelIf the
micreldriver is configured as a built-in module (CONFIG_MICREL=y) then the driver is present and there is no need to check output oflsmod
BlueField-3 uses Vitesse 8221 PHY
If the
vitessedriver is configured as a loadable kernel module (CONFIG_VITESSE_PHY=m) then the output oflsmodshould showvitesseIf the
vitessedriver is configured as a built-in module (CONFIG_VITESSE_PHY=y) then the driver is present and there is no need to check output oflsmod
Ensure the startup script for the DPU OS is creating and bringing up the
oob_net0interface
Interface oob_net0 is Present, but Link is Not Up
If the output of
ifconfig oob_net0does not showRUNNINGstate, the interface is downCheck that the proper kernel modules are loaded (see section "Interface oob_net0 is not present")
Ensure that the proper PHY device driver has attached by executing the command
dmesg | grep MLNXBF17from the DPU Linux console:BlueField-2 platforms use a Micrel PHY, so the following output should appear in the dmesg:
Micrel KSZ9031 Gigabit PHY MLNXBF17:
00:03: attached PHY driver [Micrel KSZ9031 Gigabit PHY] (mii_bus:phy_addr=MLNXBF17:00:03, irq=67)BlueField-3 platforms use a Vitesse PHY, so the following output should appear in the dmesg:
Vitesse VSC8221 MLNXBF17:
00:03: attached PHY driver (mii_bus:phy_addr=MLNXBF17:00:03, irq=55)
Execute the command
dmesg | grep MLNXBF17from DPU Linux console and verify there are no errorsExecute the command
ethtool oob_net0and make sure to seeLink detectedin the outputIssue the command
ethtool -r oob_net0to restart auto-negotiation as this may bring up link.NoteThis command changes the state of the board-level PHY device. Always gather necessary state information from system before restarting autoneg.
Interface oob_net0 is Present and the Link is Up, but Interface has No IP Address
If the interface is configured for DHCP:
Verify configuration of the DHCP server relevant to this oob_net0 interface and its MAC address
Run
journalctl -u NetworkManager -b | grep dhclientto review DHCP client system log and check for proper DHCP operation
If DHCP configuration looks appropriate, execute
ethtool -S oob_net0to check for any packet errors.If there are packet errors and the counts are increasing, execute
ethtool -r oob_net0to reset the PHY and trigger auto-negotiation restart. This may clear up the situation. Issue the commandcat /proc/interrupts | grep gige_rxto check for packet receive interrupts. The interrupt count must increase, otherwise the interface is not receiving packets.If there are no packet errors and the interface appears to be receiving packets (interrupt count is increasing), then execute
dhclient -r oob_net0followed bydhclient oob_net0to retrigger DHCP resolution.
Interface oob_net0 has an IP Address but External Host Cannot Ping this IP Address
Try to ping the IP address of the DPU BMC
If this ping is not successful, check cabling to the BlueField platform RJ-45 port
Interface oob_net0 is Using Incorrect MAC Address
During the manufacturing process, a MAC address is allocated for
oob_net0interfaceThis MAC address is shown as
OOB: <value>on a board-level label of the BlueField platformThis same MAC address should be visible in two places:
Output of
bfcfg -dcommand, which displays manufacturing data, including MAC and this must match value shown on board level labelOutput of
ifconfig oob_net0command, which displays interface statistics and MAC.InfoUnless a new MAC address has been allocated manually, the value shown in
ifconfig oob_net0should match value shown inbfcfg -d.