From patchwork Tue Sep 8 20:15:47 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Etelson, Gregory" X-Patchwork-Id: 76928 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id EB752A04B1; Tue, 8 Sep 2020 22:16:15 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 547564C99; Tue, 8 Sep 2020 22:16:15 +0200 (CEST) Received: from hqnvemgate25.nvidia.com (hqnvemgate25.nvidia.com [216.228.121.64]) by dpdk.org (Postfix) with ESMTP id D9BAE2BAB for ; Tue, 8 Sep 2020 22:16:13 +0200 (CEST) Received: from hqpgpgate102.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate25.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA) id ; Tue, 08 Sep 2020 13:15:22 -0700 Received: from hqmail.nvidia.com ([172.20.161.6]) by hqpgpgate102.nvidia.com (PGP Universal service); Tue, 08 Sep 2020 13:16:13 -0700 X-PGP-Universal: processed; by hqpgpgate102.nvidia.com on Tue, 08 Sep 2020 13:16:13 -0700 Received: from nvidia.com (10.124.1.5) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Tue, 8 Sep 2020 20:16:11 +0000 From: Gregory Etelson To: CC: , , Date: Tue, 8 Sep 2020 23:15:47 +0300 Message-ID: <20200908201552.14423-1-getelson@nvidia.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200625160348.26220-1-getelson@mellanox.com> References: <20200625160348.26220-1-getelson@mellanox.com> MIME-Version: 1.0 X-Originating-IP: [10.124.1.5] X-ClientProxiedBy: HQMAIL101.nvidia.com (172.20.187.10) To HQMAIL107.nvidia.com (172.20.187.13) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1599596122; bh=7VTZJI49hKFe1fexZDdRq+VT/hTT+Tn7IZGZXeXaXjU=; h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer: In-Reply-To:References:MIME-Version:Content-Transfer-Encoding: Content-Type:X-Originating-IP:X-ClientProxiedBy; b=PYXM4zjszkNwkpva0lExIeaYLC+V/wdzVYLAlP6g8m+F9iDuh/4RObzKelFcIRoWW seOxaoM6rM/T7ip1DIM9sbn8HYEUbKtOne8UBa3Sxwt4bz9wdiyulNmvPTK8CAiM4a dqPDoPtG+8uYG8MwHsyZs4y/0ZEvlbjA2sdWwSNYnDI+2YSmnXBSdHJW3GaqyoXPDv iGOGyU4bE+W1moR+IEmfWGS/lxn1jSPgjrHPdY2CHWoKOTlJVm9DlEi+5B+d/e9wNd FEwtiGdHlt4AlogxW4ND/gvhH80z5GQmfcojcgqGkjFc3etofuSj4M6LBWwkDgQpZ6 Ovz6nsyz+Tdkw== Subject: [dpdk-dev] [PATCH v2 0/4] Tunnel Offload API X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" Tunnel Offload API provides hardware independent, unified model to offload tunneled traffic. Key model elements are: - apply matches to both outer and inner packet headers during entire offload procedure; - restore outer header of partially offloaded packet; - model is implemented as a set of helper functions. Eli Britstein (1): ethdev: tunnel offload model Gregory Etelson (3): ethdev: allow negative values in flow rule types net/mlx5: implement tunnel offload API app/testpmd: support tunnel offload API app/test-pmd/cmdline_flow.c | 102 ++++- app/test-pmd/config.c | 147 +++++++- app/test-pmd/testpmd.c | 5 +- app/test-pmd/testpmd.h | 27 +- app/test-pmd/util.c | 30 +- doc/guides/prog_guide/rte_flow.rst | 105 ++++++ drivers/net/mlx5/linux/mlx5_os.c | 14 + drivers/net/mlx5/mlx5.c | 6 + drivers/net/mlx5/mlx5.h | 4 + drivers/net/mlx5/mlx5_flow.c | 453 +++++++++++++++++++++++ drivers/net/mlx5/mlx5_flow.h | 49 +++ drivers/net/mlx5/mlx5_flow_dv.c | 71 +++- lib/librte_ethdev/rte_ethdev_version.map | 5 + lib/librte_ethdev/rte_flow.c | 142 ++++++- lib/librte_ethdev/rte_flow.h | 195 ++++++++++ lib/librte_ethdev/rte_flow_driver.h | 32 ++ 16 files changed, 1370 insertions(+), 17 deletions(-)