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

Reply via email to