From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yongseok Koh Subject: Re: [PATCH v3 2/4] net/mlx5: add Direct Verbs encap and decap defs Date: Wed, 10 Oct 2018 00:40:49 +0000 Message-ID: <20181010004035.GF9031@mtidpdk.mti.labs.mlnx> References: <1538922308-9516-1-git-send-email-dekelp@mellanox.com> <1539113137-4914-3-git-send-email-dekelp@mellanox.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Cc: Shahaf Shuler , "dev@dpdk.org" , Ori Kam To: Dekel Peled Return-path: Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80053.outbound.protection.outlook.com [40.107.8.53]) by dpdk.org (Postfix) with ESMTP id 604483977 for ; Wed, 10 Oct 2018 02:40:50 +0200 (CEST) In-Reply-To: <1539113137-4914-3-git-send-email-dekelp@mellanox.com> Content-Language: en-US Content-ID: List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Tue, Oct 09, 2018 at 10:25:35PM +0300, Dekel Peled wrote: > This patch adds the required definitions for DV encap/decap actions. > It also adds usage of the new actions definition in validation > function of existing drop operation. >=20 > Signed-off-by: Dekel Peled > --- I've acked it in v2. So, please put my acked-by tag when you submit a new version. Acked-by: Yongseok Koh Thanks > drivers/net/mlx5/mlx5_flow.c | 8 ++++++++ > drivers/net/mlx5/mlx5_flow.h | 6 ++++++ > 2 files changed, 14 insertions(+) >=20 > diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c > index 1087f67..b452e11 100644 > --- a/drivers/net/mlx5/mlx5_flow.c > +++ b/drivers/net/mlx5/mlx5_flow.c > @@ -766,6 +766,14 @@ uint32_t mlx5_flow_adjust_priority(struct rte_eth_de= v *dev, int32_t priority, > RTE_FLOW_ERROR_TYPE_ACTION, NULL, > "can't have 2 fate actions in" > " same flow"); > + if (action_flags & (MLX5_FLOW_ACTION_TUNNEL_DECAP | > + MLX5_FLOW_ACTION_TUNNEL_DECAP_L3 | > + MLX5_FLOW_ACTION_TUNNEL_ENCAP | > + MLX5_FLOW_ACTION_TUNNEL_ENCAP_L3)) > + return rte_flow_error_set(error, EINVAL, > + RTE_FLOW_ERROR_TYPE_ACTION, NULL, > + "can't encap or decap and drop in" > + " same flow"); > if (attr->egress) > return rte_flow_error_set(error, ENOTSUP, > RTE_FLOW_ERROR_TYPE_ATTR_EGRESS, NULL, > diff --git a/drivers/net/mlx5/mlx5_flow.h b/drivers/net/mlx5/mlx5_flow.h > index 690c597..01c73a2 100644 > --- a/drivers/net/mlx5/mlx5_flow.h > +++ b/drivers/net/mlx5/mlx5_flow.h > @@ -82,6 +82,10 @@ > #define MLX5_FLOW_ACTION_OF_SET_VLAN_VID (1u << 9) > #define MLX5_FLOW_ACTION_OF_SET_VLAN_PCP (1u << 10) > #define MLX5_FLOW_ACTION_JUMP (1u << 11) > +#define MLX5_FLOW_ACTION_TUNNEL_ENCAP (1u << 12) > +#define MLX5_FLOW_ACTION_TUNNEL_DECAP (1u << 13) > +#define MLX5_FLOW_ACTION_TUNNEL_ENCAP_L3 (1u << 14) > +#define MLX5_FLOW_ACTION_TUNNEL_DECAP_L3 (1u << 15) > =20 > #define MLX5_FLOW_FATE_ACTIONS \ > (MLX5_FLOW_ACTION_DROP | MLX5_FLOW_ACTION_QUEUE | MLX5_FLOW_ACTION_RSS) > @@ -172,6 +176,8 @@ struct mlx5_flow_dv { > #ifdef HAVE_IBV_FLOW_DV_SUPPORT > struct mlx5dv_flow_action_attr actions[MLX5_DV_MAX_NUMBER_OF_ACTIONS]; > /**< Action list. */ > + struct ibv_flow_action *encap_verb; /**< Verbs object of encap. */ > + struct ibv_flow_action *decap_verb; /**< Verbs object of decap. */ > #endif > int actions_n; /**< number of actions. */ > }; > --=20 > 1.8.3.1 >=20