Hi Iain, Tuesday, April 10, 2018 10:12 PM, Iain Barker: > Subject: [dpdk-users] Wrong OFED version for DPDK 17.11.1 ? > > Hi all, > > I'm trying to build 17.11.1 against libibverbs from OFED 4.2-1.0.0.0 but > having > some API compatibility issues. > > According to the DPDK docs, that's the correct version for DPDK 17.11 > Ref: "Mellanox OFED version: 4.2" in > https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdp > dk.org%2Fdoc%2Fguides- > 17.11%2Fnics%2Fmlx5.html&data=02%7C01%7Cshahafs%40mellanox.com%7 > C00e205bcc93b4ab687ce08d59f16ec56%7Ca652971c7d2e4d9ba6a4d149256f4 > 61b%7C0%7C0%7C636589843233074081&sdata=tRgQGtKP3WlalZ8XYVp6Qvq > pkStiVgdup6EmZSKEC3c%3D&reserved=0 > > But I get multiple errors which suggest the API versions are incompatible. > For > example: > > priv->hw_csum = > !!(device_attr_ex.device_cap_flags_ex & > IBV_DEVICE_RAW_IP_CSUM); > > drivers/net/mlx5/mlx5.c:794:21: error: 'struct ibv_device_attr_ex' has no > member named 'device_cap_flags_ex' > > MLNX_OFED_SRC-4.2-1.0.0.0 contains libibverbs-41mlnx1, and that has > include/infiniband/verbs.h with the following typedef: > struct ibv_device_attr_ex { > struct ibv_device_attr orig_attr; > uint32_t comp_mask; > struct ibv_odp_caps odp_caps; > }; > > So the docs appear to be wrong. no way the OFED 4.2 version of mlx5.c is > going to compile against that header. > > What version of libibverbs should I actually be using for DPDK 17.11.1 ?
Starting from DPDK 17.11 MLX5 PMD uses rdma-core as the user space instead of libibverbs/libmlx5. As you can see from the doc it will be installed when calling mlnx ofed installation script using --usptream-libs. You were installing the legacy ibverbs, hence the compilation errors. Try to install rdma-core instead. > > thanks, > Iain
