Hi,
I am using two of the following Mellanox cards in a single system:
$ sudo mlxfwmanager --query --online -d /dev/mst/mt4119_pciconf0
Querying Mellanox devices firmware …
Device #1:
Device Type: ConnectX5
Part Number: MCX556A-ECA_Ax
Description: ConnectX-5 VPI adapter card; EDR IB (100Gb/s) and 100GbE; dual-port QSFP28; PCIe3.0 x16; tall bracket; ROHS R6
PSID: MT_0000000008
PCI Device Name: /dev/mst/mt4119_pciconf0
Base MAC: 506b4b27b97a
Versions: Current Available
FW 16.26.1040 16.26.1040
PXE 3.5.0803 3.5.0803
UEFI 14.19.0014 14.19.0014
Status: Up to date
And it seems like the system is setup correctly:
$ sudo mst status -v
MST modules:
MST PCI module is not loaded
MST PCI configuration module loaded
PCI devices:
DEVICE_TYPE MST PCI RDMA NET NUMA
ConnectX5(rev:0) /dev/mst/mt4119_pciconf1.1 02:00.1 mlx5_3 net-enp2s0f1 -1
ConnectX5(rev:0) /dev/mst/mt4119_pciconf1 02:00.0 mlx5_2 net-enp2s0f0 -1
ConnectX5(rev:0) /dev/mst/mt4119_pciconf0.1 01:00.1 mlx5_1 net-enp1s0f1 -1
ConnectX5(rev:0) /dev/mst/mt4119_pciconf0 01:00.0 mlx5_0 net-enp1s0f0 -1
I have opted to install the rdma-core package which includes libibverbs and libmlx5, instead of MLNX_OFED. Also the necessary kernel modules are loaded:
$ lsmod | grep mlx
mlx5_ib 348160 0
ib_uverbs 151552 1 mlx5_ib
ib_core 360448 2 ib_uverbs,mlx5_ib
mlx5_core 1093632 1 mlx5_ib
tls 77824 1 mlx5_core
mlxfw 28672 1 mlx5_core
pci_hyperv_intf 16384 1 mlx5_core
The following shows that the correct driver is begin used for Mellanox cards:
$ sudo ./dpdk-devbind.py -s
Network devices using kernel driver
===================================
0000:00:19.0 ‘82579V Gigabit Network Connection 1503’ if=eno1 drv=e1000e unused=
0000:01:00.0 ‘MT27800 Family [ConnectX-5] 1017’ if=enp1s0f0 drv=mlx5_core unused=
0000:01:00.1 ‘MT27800 Family [ConnectX-5] 1017’ if=enp1s0f1 drv=mlx5_core unused=
0000:02:00.0 ‘MT27800 Family [ConnectX-5] 1017’ if=enp2s0f0 drv=mlx5_core unused=
0000:02:00.1 ‘MT27800 Family [ConnectX-5] 1017’ if=enp2s0f1 drv=mlx5_core unused=
0000:04:00.0 ‘Ethernet Controller 10-Gigabit X540-AT2 1528’ if=enp4s0 drv=ixgbe unused= Active
0000:0b:00.0 ‘82574L Gigabit Network Connection 10d3’ if=enp11s0 drv=e1000e unused= Active
But when I use testpmd application, I get the following error:
$ sudo testpmd -l 0-3 -n 4 -w 01:00.0 -w 01:00.1 -w 02:00.0 -w 02:00.1 – -i
EAL: Detected 4 lcore(s)
EAL: Detected 1 NUMA nodes
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode ‘VA’
EAL: Probing VFIO support…
testpmd: No probed ethernet devices
Interactive-mode selected
testpmd: create a new mbuf pool <mbuf_pool_socket_0>: n=171456, size=2176, socket=0
testpmd: preferred mempool ops selected: ring_mp_mc
Done
testpmd>
I have followed the MLX5 poll mode driver guide (36. MLX5 Ethernet Poll Mode Driver — Data Plane Development Kit 22.07.0 documentation) very closely, but to no avail. Can you please help me understand what I’m doing wrong?