williamtu / ovs-mlx

OVS smartnic
0 stars 0 forks source link

mlx5_vdpa_pci_probe(): Not enough capabilities to support vdpa, maybe old FW/OFED version? #2

Open williamtu opened 4 years ago

williamtu commented 4 years ago
root@ovs-afxdp:/usr/src/dpdk/examples/vdpa/build# ./vdpa -w 0000:02:00.2,class=vdpa -- -i
EAL: Detected 12 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...
EAL: VFIO support initialized
EAL: Probe PCI driver: net_mlx5 (15b3:101e) device: 0000:02:00.2 (socket 0)
EAL: Probe PCI driver: mlx5_vdpa (15b3:101e) device: 0000:02:00.2 (socket 0)
mlx5_vdpa: mlx5_vdpa.c:488: mlx5_vdpa_pci_probe(): Not enough capabilities to support vdpa, maybe old FW/OFED version?
EAL: Requested device 0000:02:00.2 cannot be used
EAL: Bus (pci) probe failed.
EAL: No legacy callbacks, legacy socket not created
EAL: Error - exiting with code: 1
  Cause: No available vdpa device found

The dpdk doc says supported NIC are: https://doc.dpdk.org/guides-20.02/vdpadevs/mlx5.html#supported-nics

Mellanox® ConnectX®-6 200G MCX654106A-HCAT (2x200G)
Mellanox® ConnectX®-6 Dx EN 100G MCX623106AN-CDAT (2x100G)
Mellanox® ConnectX®-6 Dx EN 200G MCX623105AN-VDAT (1x200G)
Mellanox® BlueField SmartNIC 25G MBF1M332A-ASCAT (2x25G)
williamtu commented 4 years ago

lspci shows MCX621102AN-ADAT

        Product Name: ConnectX-6 Dx EN adapter card, 25GbE, Dual-port SFP28, PCIe 4.0 x8, No Crypto
        Read-only fields:
            [PN] Part number: MCX621102AN-ADAT
            [EC] Engineering changes: A1
            [V2] Vendor specific: MCX621102AN-ADAT
            [SN] Serial number: MT1950X05157
            [V3] Vendor specific: ba3ccc7bdb1cea1180001c34da643ba8
            [VA] Vendor specific: MLX:MN=MLNX:CSKU=V2:UUID=V3:PCI=V0:MODL=CX621102A
            [V0] Vendor specific: PCIeGen4 x8
            [RV] Reserved: checksum good, 1 byte(s) reserved
        End

at source code, it's checking

 456     attr->vdpa.valid = !!(MLX5_GET64(cmd_hca_cap, hcattr,
 457                      general_obj_types) &
 458                   MLX5_GENERAL_OBJ_TYPES_CAP_VIRTQ_NET_Q);