From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 3E16DA09E4; Sun, 17 Jan 2021 11:21:50 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 97A5E140D56; Sun, 17 Jan 2021 11:21:49 +0100 (CET) Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by mails.dpdk.org (Postfix) with ESMTP id C8F92140D4C for ; Sun, 17 Jan 2021 11:21:47 +0100 (CET) Received: from Internal Mail-Server by MTLPINE1 (envelope-from shirik@nvidia.com) with SMTP; 17 Jan 2021 12:21:46 +0200 Received: from nvidia.com (c-141-140-1-007.mtl.labs.mlnx [10.141.140.7]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id 10HALkmF003653; Sun, 17 Jan 2021 12:21:46 +0200 From: Shiri Kuzin To: dev@dpdk.org Cc: viacheslavo@nvidia.com, adrien.mazarguil@6wind.com, orika@nvidia.com, ferruh.yigit@intel.com, thomas@monjalon.net, rasland@nvidia.com, andrew.rybchenko@oktetlabs.ru Date: Sun, 17 Jan 2021 12:21:14 +0200 Message-Id: <20210117102123.19045-1-shirik@nvidia.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20210114070743.2377-1-shirik@nvidia.com> References: <20210114070743.2377-1-shirik@nvidia.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v7 0/9] ethdev: introduce GENEVE header TLV option item X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" The Geneve tunneling protocol is designed to allow the user to specify some data context on the packet. The GENEVE TLV (Type-Length-Variable) Option is the mean intended to present the user data. In order to support GENEVE TLV Option the new rte_flow item "rte_flow_item_geneve_opt" is introduced. The new item contains the values and masks for the following fields: -option class -option type -length -data The usage example: "flow create 0 ingress pattern eth / ipv4 / udp / geneve vni is 100 / geneve-opt class is 5 length is 1 type is 0 data is 0x66998800 / end actions count / drop / end" New item will be added to testpmd to support raw encap/decap action. v7: - rebased code on top of latest next-net. - fixed typo in testpmd doc. v6: - added testpmd support for GENEVE option length. - updated setting GENEVE option length value. v5: - added Devx function to def file. v4: - fixed setting option length. - fixed testpmd calculation of GENEVE option size. - updated documentation. v3: - updated documentation. v2: - removed pedantic. Shiri Kuzin (7): lib/librte_ethdev: introduce GENEVE header TLV option item common/mlx5: check GENEVE TLV support in HCA attributes common/mlx5: create GENEVE TLV option object with DevX net/mlx5: create GENEVE TLV option management net/mlx5: add GENEVE TLV option flow validation net/mlx5: add GENEVE TLV option flow translation doc: update GENEVE TLV option support Viacheslav Ovsiienko (2): app/testpmd: add GENEVE option item support app/testpmd: add GENEVE header option length support app/test-pmd/cmdline_flow.c | 110 +++++++++- doc/guides/nics/mlx5.rst | 26 ++- doc/guides/rel_notes/release_21_02.rst | 5 + doc/guides/testpmd_app_ug/testpmd_funcs.rst | 8 + drivers/common/mlx5/mlx5_devx_cmds.c | 62 ++++++ drivers/common/mlx5/mlx5_devx_cmds.h | 9 + drivers/common/mlx5/mlx5_prm.h | 28 ++- .../common/mlx5/rte_common_mlx5_exports.def | 1 + drivers/common/mlx5/version.map | 1 + drivers/net/mlx5/mlx5.c | 2 + drivers/net/mlx5/mlx5.h | 13 ++ drivers/net/mlx5/mlx5_flow.c | 143 ++++++++++++ drivers/net/mlx5/mlx5_flow.h | 13 +- drivers/net/mlx5/mlx5_flow_dv.c | 205 ++++++++++++++++++ lib/librte_ethdev/rte_flow.c | 1 + lib/librte_ethdev/rte_flow.h | 27 +++ 16 files changed, 643 insertions(+), 11 deletions(-) -- 2.21.0