Skip to content

Instantly share code, notes, and snippets.

@aagontuk
Last active May 12, 2026 14:25
Show Gist options
  • Select an option

  • Save aagontuk/cf01763c8ee26383afe10f51c9cd2984 to your computer and use it in GitHub Desktop.

Select an option

Save aagontuk/cf01763c8ee26383afe10f51c9cd2984 to your computer and use it in GitHub Desktop.
Resources on BlueField 2 Smart NICs

Intro Docs

Setup

Troubleshooting

DPU Docs

DPU Programming

Internals

OVS and Hardware offloaded packet processing

NVMe-oF offload

Misc

HW Timestamp

BF3

Configurations

  • DPU mode setup:
$ mst start
$ mlxconfig -d /dev/mst/<device> s INTERNAL_CPU_MODEL=1 \
INTERNAL_CPU_PAGE_SUPPLIER=0 \
INTERNAL_CPU_ESWITCH_MANAGER=0 \
INTERNAL_CPU_IB_VPORT0=0 \
INTERNAL_CPU_OFFLOAD_ENGINE=0
  • Enabling Scalable Functions:
$ mlxconfig -d 0000:03:00.0 s PF_BAR2_ENABLE=0 PER_PF_NUM_SF=1 PF_TOTAL_SF=236 PF_SF_BAR_SIZE=10
$ mlxconfig -d 0000:03:00.1 s PF_BAR2_ENABLE=0 PER_PF_NUM_SF=1 PF_TOTAL_SF=236 PF_SF_BAR_SIZE=10
  • Change NIC e-switch from legacy mode to switchdev mode In legacy mode representators don't show up
# Check current mode
sudo devlink dev eswitch show pci/0000:03:00.0
# Change mode
sudo ip link set p0 down
sudo devlink dev eswitch set pci/0000:03:00.0 mode switchdev
  • Changing Link Layer
sudo mlxconfig -d /dev/mst/mt41692_pciconf0 set LINK_TYPE_P1=2 LINK_TYPE_P2=2
  • System reboot: After changing config do a system reboot on BF(run following command from BF)
mlxfwreset -d 03:00.0 -y -l 3 --sync 1 r

Tools

  • mst
  • mlxconfig
  • mlxfwmanager
  • devlink
  • mlxdevm
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment