[dpdk-dev] [PATCH] common/mlx5: fix build with rdma-core 21

Slava Ovsiienko viacheslavo at mellanox.com
Tue Apr 21 09:43:35 CEST 2020


> -----Original Message-----
> From: Thomas Monjalon <thomas at monjalon.net>
> Sent: Thursday, April 16, 2020 18:59
> To: dev at dpdk.org
> Cc: stable at dpdk.org; Matan Azrad <matan at mellanox.com>; Shahaf Shuler
> <shahafs at mellanox.com>; Slava Ovsiienko <viacheslavo at mellanox.com>;
> Dekel Peled <dekelp at mellanox.com>
> Subject: [PATCH] common/mlx5: fix build with rdma-core 21
> 
> drivers/common/mlx5/mlx5_glue.c: In function 'mlx5_glue_devx_qp_query':
> drivers/common/mlx5/mlx5_glue.c:1010:9: error:
> implicit declaration of function 'mlx5dv_devx_qp_query'
> 
> The function mlx5dv_devx_qp_query() was added in rdma-core 22.
> This function is compiled only if HAVE_IBV_DEVX_OBJ, which is true if the
> function mlx5dv_devx_obj_create is found.
> Unfortunately mlx5dv_devx_obj_create() was introduced in rdma-core 21,
> when mlx5dv_devx_qp_query() did not exist yet.
> 
> A new flag HAVE_IBV_DEVX_QP is added when mlx5dv_devx_qp_query() is
> found.
> 
> Fixes: 62d6f70f30f4 ("net/mlx5: add glue for queue query via DevX")
> Cc: stable at dpdk.org
> 
> Signed-off-by: Thomas Monjalon <thomas at monjalon.net>
Acked-by: Viacheslav Ovsiienko <viacheslavo at mellanox.com>

> ---
>  drivers/common/mlx5/Makefile    | 5 +++++
>  drivers/common/mlx5/meson.build | 2 ++
>  drivers/common/mlx5/mlx5_glue.c | 2 +-
>  3 files changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/common/mlx5/Makefile
> b/drivers/common/mlx5/Makefile index f32933d592..22dc4b2eb4 100644
> --- a/drivers/common/mlx5/Makefile
> +++ b/drivers/common/mlx5/Makefile
> @@ -150,6 +150,11 @@ mlx5_autoconf.h.new:
> $(RTE_SDK)/buildtools/auto-config-h.sh
>  		infiniband/mlx5dv.h \
>  		func mlx5dv_devx_obj_query_async \
>  		$(AUTOCONF_OUTPUT)
> +	$Q sh -- '$<' '$@' \
> +		HAVE_IBV_DEVX_QP \
> +		infiniband/mlx5dv.h \
> +		func mlx5dv_devx_qp_query \
> +		$(AUTOCONF_OUTPUT)
>  	$Q sh -- '$<' '$@' \
>  		HAVE_MLX5DV_DR_ACTION_DEST_DEVX_TIR \
>  		infiniband/mlx5dv.h \
> diff --git a/drivers/common/mlx5/meson.build
> b/drivers/common/mlx5/meson.build index ac2cfa6236..6f007eea1b 100644
> --- a/drivers/common/mlx5/meson.build
> +++ b/drivers/common/mlx5/meson.build
> @@ -118,6 +118,8 @@ has_sym_args = [
>  	'MLX5DV_FLOW_ACTION_COUNTERS_DEVX' ],
>  	[ 'HAVE_IBV_DEVX_ASYNC', 'infiniband/mlx5dv.h',
>  	'mlx5dv_devx_obj_query_async' ],
> +	[ 'HAVE_IBV_DEVX_QP', 'infiniband/mlx5dv.h',
> +	'mlx5dv_devx_qp_query' ],
>  	[ 'HAVE_MLX5DV_DR_ACTION_DEST_DEVX_TIR',
> 'infiniband/mlx5dv.h',
>  	'mlx5dv_dr_action_create_dest_devx_tir' ],
>  	[ 'HAVE_IBV_DEVX_EVENT', 'infiniband/mlx5dv.h', diff --git
> a/drivers/common/mlx5/mlx5_glue.c b/drivers/common/mlx5/mlx5_glue.c
> index 0af0b86677..e2d3beb9cc 100644
> --- a/drivers/common/mlx5/mlx5_glue.c
> +++ b/drivers/common/mlx5/mlx5_glue.c
> @@ -1006,7 +1006,7 @@ mlx5_glue_devx_qp_query(struct ibv_qp *qp,
>  			const void *in, size_t inlen,
>  			void *out, size_t outlen)
>  {
> -#ifdef HAVE_IBV_DEVX_OBJ
> +#ifdef HAVE_IBV_DEVX_QP
>  	return mlx5dv_devx_qp_query(qp, in, inlen, out, outlen);  #else
>  	(void)qp;
> --
> 2.26.0



More information about the dev mailing list