On some distros, the inbox rdma-core tree can contain the Software Parser enum while the remaining structs still missing.
Fixes: 5f8ba81c4228 ("net/mlx5: support generic tunnel offloading") Cc: xuemi...@mellanox.com Signed-off-by: Shahaf Shuler <shah...@mellanox.com> --- drivers/net/mlx5/Makefile | 7 ++++++- drivers/net/mlx5/mlx5.c | 4 ++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/net/mlx5/Makefile b/drivers/net/mlx5/Makefile index 293144e8a0..b09dd785ad 100644 --- a/drivers/net/mlx5/Makefile +++ b/drivers/net/mlx5/Makefile @@ -118,11 +118,16 @@ mlx5_autoconf.h.new: $(RTE_SDK)/buildtools/auto-config-h.sh enum IBV_WQ_FLAG_RX_END_PADDING \ $(AUTOCONF_OUTPUT) $Q sh -- '$<' '$@' \ - HAVE_IBV_MLX5_MOD_SWP \ + HAVE_IBV_MLX5_MOD_SWP_MASK \ infiniband/mlx5dv.h \ enum MLX5DV_CONTEXT_MASK_SWP \ $(AUTOCONF_OUTPUT) $Q sh -- '$<' '$@' \ + HAVE_IBV_MLX5_MOD_SWP_CAPS \ + infiniband/mlx5dv.h \ + type 'struct mlx5dv_sw_parsing_caps' \ + $(AUTOCONF_OUTPUT) + $Q sh -- '$<' '$@' \ HAVE_IBV_MLX5_MOD_MPW \ infiniband/mlx5dv.h \ enum MLX5DV_CONTEXT_FLAGS_MPW_ALLOWED \ diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c index 006665600a..91dafe93ab 100644 --- a/drivers/net/mlx5/mlx5.c +++ b/drivers/net/mlx5/mlx5.c @@ -775,7 +775,7 @@ mlx5_pci_probe(struct rte_pci_driver *pci_drv __rte_unused, } ibv_dev = list[i]; DRV_LOG(DEBUG, "device opened"); -#ifdef HAVE_IBV_MLX5_MOD_SWP +#ifdef HAVE_IBV_MLX5_MOD_SWP_MASK attrs_out.comp_mask |= MLX5DV_CONTEXT_MASK_SWP; #endif /* @@ -801,7 +801,7 @@ mlx5_pci_probe(struct rte_pci_driver *pci_drv __rte_unused, DRV_LOG(DEBUG, "MPW isn't supported"); mps = MLX5_MPW_DISABLED; } -#ifdef HAVE_IBV_MLX5_MOD_SWP +#if defined(HAVE_IBV_MLX5_MOD_SWP_MASK) && defined(HAVE_IBV_MLX5_MOD_SWP_CAPS) if (attrs_out.comp_mask & MLX5DV_CONTEXT_MASK_SWP) swp = attrs_out.sw_parsing_caps.sw_parsing_offloads; DRV_LOG(DEBUG, "SWP support: %u", swp); -- 2.12.0