[dpdk-dev] [PATCH v3 1/4] net/mlx5: add flow action functions to glue
Yongseok Koh
yskoh at mellanox.com
Wed Oct 10 02:38:37 CEST 2018
On Tue, Oct 09, 2018 at 10:25:34PM +0300, Dekel Peled wrote:
> This patch adds glue functions for operations:
> - Create packet reformat (encap/decap) flow action.
> - Destroy flow action.
>
> The new operations depend on HAVE_IBV_FLOW_ACTION_DV_SUPPORT.
>
> Signed-off-by: Dekel Peled <dekelp at mellanox.com>
> ---
> drivers/net/mlx5/Makefile | 5 +++++
> drivers/net/mlx5/meson.build | 2 ++
> drivers/net/mlx5/mlx5_glue.c | 38 ++++++++++++++++++++++++++++++++++++++
> drivers/net/mlx5/mlx5_glue.h | 13 +++++++++++++
> 4 files changed, 58 insertions(+)
>
> diff --git a/drivers/net/mlx5/Makefile b/drivers/net/mlx5/Makefile
> index 92bae9d..474ad42 100644
> --- a/drivers/net/mlx5/Makefile
> +++ b/drivers/net/mlx5/Makefile
> @@ -142,6 +142,11 @@ mlx5_autoconf.h.new: $(RTE_SDK)/buildtools/auto-config-h.sh
> enum MLX5DV_FLOW_ACTION_TAG \
> $(AUTOCONF_OUTPUT)
> $Q sh -- '$<' '$@' \
> + HAVE_IBV_FLOW_ACTION_DV_SUPPORT \
> + infiniband/mlx5dv.h \
> + func mlx5dv_create_flow_action_packet_reformat \
> + $(AUTOCONF_OUTPUT)
> + $Q sh -- '$<' '$@' \
> HAVE_ETHTOOL_LINK_MODE_25G \
> /usr/include/linux/ethtool.h \
> enum ETHTOOL_LINK_MODE_25000baseCR_Full_BIT \
> diff --git a/drivers/net/mlx5/meson.build b/drivers/net/mlx5/meson.build
> index 6966248..d555c3c 100644
> --- a/drivers/net/mlx5/meson.build
> +++ b/drivers/net/mlx5/meson.build
> @@ -96,6 +96,8 @@ if build
> 'MLX5DV_CONTEXT_FLAGS_CQE_128B_COMP' ],
> [ 'HAVE_IBV_FLOW_DV_SUPPORT', 'infiniband/mlx5dv.h',
> 'MLX5DV_FLOW_ACTION_TAG' ],
> + [ 'HAVE_IBV_FLOW_ACTION_DV_SUPPORT', 'infiniband/mlx5dv.h',
> + 'mlx5dv_create_flow_action_packet_reformat' ],
> [ 'HAVE_IBV_DEVICE_MPLS_SUPPORT', 'infiniband/verbs.h',
> 'IBV_FLOW_SPEC_MPLS' ],
> [ 'HAVE_IBV_WQ_FLAG_RX_END_PADDING', 'infiniband/verbs.h',
> diff --git a/drivers/net/mlx5/mlx5_glue.c b/drivers/net/mlx5/mlx5_glue.c
> index 48590df..63fbab1 100644
> --- a/drivers/net/mlx5/mlx5_glue.c
> +++ b/drivers/net/mlx5/mlx5_glue.c
> @@ -174,6 +174,17 @@
> return ibv_destroy_flow(flow_id);
> }
>
> +static int
> +mlx5_glue_destroy_flow_action(struct ibv_flow_action *action)
> +{
> +#ifdef HAVE_IBV_FLOW_ACTION_DV_SUPPORT
> + return ibv_destroy_flow_action(action);
> +#else
> + (void)action;
> + return NULL;
And this should be
return ENOTSUP;
Return type mismatches, you'll see a compiler warning.
Thanks,
Yongseok
More information about the dev
mailing list