From 0fd928bbbae5e6f89376f9996d5340a861fc14e3 Mon Sep 17 00:00:00 2001 From: Viacheslav Ovsiienko Date: Wed, 7 Jul 2021 18:54:28 +0300 Subject: [PATCH] common/mlx5: fix compatibility with OFED port query API The compilation flag HAVE_MLX5DV_DR_DEVX_PORT depends on presence of mlx5dv_query_devx_port routine in rdma-core library. The mlx5dv_query_devx_port routine exists only in OFED versions of rdma-core library and is being planned to be removed and replaced with Upstream compatible mlx5dv_query_port. As mlx5dv_query_devx_port is being removed all the dependencies on the HAVE_MLX5DV_DR_DEVX_PORT compilation flag are reconsidered. The new compilation flag HAVE_MLX5DV_DR_CREATE_DEST_IB_PORT is for backward compatibility with older OFED versions. Fixes: 6cfe84fbe7b1 ("net/mlx5: fix port action for LAG") Cc: stable@dpdk.org Signed-off-by: Viacheslav Ovsiienko Acked-by: Matan Azrad --- drivers/common/mlx5/linux/meson.build | 2 ++ drivers/common/mlx5/linux/mlx5_glue.c | 2 +- drivers/net/mlx5/mlx5_flow_dv.c | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/common/mlx5/linux/meson.build b/drivers/common/mlx5/linux/meson.build index e1968a6906..686df26909 100644 --- a/drivers/common/mlx5/linux/meson.build +++ b/drivers/common/mlx5/linux/meson.build @@ -95,6 +95,8 @@ has_sym_args = [ 'mlx5dv_query_devx_port' ], [ 'HAVE_MLX5DV_DR_DEVX_PORT_V35', 'infiniband/mlx5dv.h', 'mlx5dv_query_port' ], + [ 'HAVE_MLX5DV_DR_CREATE_DEST_IB_PORT', 'infiniband/mlx5dv.h', + 'mlx5dv_dr_action_create_dest_ib_port' ], [ 'HAVE_IBV_DEVX_OBJ', 'infiniband/mlx5dv.h', 'mlx5dv_devx_obj_create' ], [ 'HAVE_IBV_FLOW_DEVX_COUNTERS', 'infiniband/mlx5dv.h', diff --git a/drivers/common/mlx5/linux/mlx5_glue.c b/drivers/common/mlx5/linux/mlx5_glue.c index b371fb7aa1..037ca961a0 100644 --- a/drivers/common/mlx5/linux/mlx5_glue.c +++ b/drivers/common/mlx5/linux/mlx5_glue.c @@ -391,7 +391,7 @@ mlx5_glue_dr_create_flow_action_dest_flow_tbl(void *tbl) static void * mlx5_glue_dr_create_flow_action_dest_port(void *domain, uint32_t port) { -#ifdef HAVE_MLX5DV_DR_DEVX_PORT +#ifdef HAVE_MLX5DV_DR_CREATE_DEST_IB_PORT return mlx5dv_dr_action_create_dest_ib_port(domain, port); #else #ifdef HAVE_MLX5DV_DR_ESWITCH diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c index fa05882302..2f4c0eeb5b 100644 --- a/drivers/net/mlx5/mlx5_flow_dv.c +++ b/drivers/net/mlx5/mlx5_flow_dv.c @@ -10386,7 +10386,7 @@ flow_dv_translate_action_port_id(struct rte_eth_dev *dev, RTE_FLOW_ERROR_TYPE_ACTION, NULL, "No eswitch info was found for port"); -#ifdef HAVE_MLX5DV_DR_DEVX_PORT +#ifdef HAVE_MLX5DV_DR_CREATE_DEST_IB_PORT /* * This parameter is transferred to * mlx5dv_dr_action_create_dest_ib_port(). -- 2.20.1