[v3,0/4] Tunnel Offload API
Message ID | 20200930091854.19768-1-getelson@nvidia.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> 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 297C7A04B5; Wed, 30 Sep 2020 11:19:28 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 86D0B1D6F7; Wed, 30 Sep 2020 11:19:25 +0200 (CEST) Received: from hqnvemgate24.nvidia.com (hqnvemgate24.nvidia.com [216.228.121.143]) by dpdk.org (Postfix) with ESMTP id E719D1D658 for <dev@dpdk.org>; Wed, 30 Sep 2020 11:19:24 +0200 (CEST) Received: from hqmail.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate24.nvidia.com (using TLS: TLSv1.2, AES256-SHA) id <B5f744d350000>; Wed, 30 Sep 2020 02:17:41 -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; Wed, 30 Sep 2020 09:19:21 +0000 From: Gregory Etelson <getelson@nvidia.com> To: <dev@dpdk.org> CC: <getelson@nvidia.com>, <matan@nvidia.com>, <rasland@nvidia.com> Date: Wed, 30 Sep 2020 12:18:49 +0300 Message-ID: <20200930091854.19768-1-getelson@nvidia.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200625160348.26220-1-getelson@mellanox.com> References: <20200625160348.26220-1-getelson@mellanox.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain X-Originating-IP: [10.124.1.5] X-ClientProxiedBy: HQMAIL105.nvidia.com (172.20.187.12) To HQMAIL107.nvidia.com (172.20.187.13) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1601457461; bh=8qTav/03Lb7RUQpWvi0Z+S9by9bz07sgiY2h60yS5+4=; h=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=IWnpDPUc8xLCw/fv7mJ7wptk2D7bWVJV+HlNRO9t+Jk/KWZzgQSu8UaUq9Q4Owcdl 2a5eCBYZMRetOtASvJETQV1rOYvaE3Rsfa53Dg4AzbaTzvfyMV62gN/dfwhowMYPJx yRZ1LjOsSHyms/L6NTYTFUlwoVv4aioxn+rR1KeDCz3sDyVIw8u1sggCwM9riXdur/ vyD2WuI0MQ3GEO9mEeEZkwrGC9mB1GUVu9EXilvMB9/3M2BkIUSbgy2q7Fraw8S+gK nXYC+cGI9TNy8SHBRi5Aiu/YL8PMbM/adNquakMfbb9ceoCWByy2wI8pryUcuhA6uV t2N/E1wosa90Q== Subject: [dpdk-dev] [PATCH v3 0/4] Tunnel Offload API X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Message
Etelson, Gregory
Sept. 30, 2020, 9:18 a.m. UTC
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: add commands for tunnel offload API app/test-pmd/cmdline_flow.c | 170 ++++- app/test-pmd/config.c | 253 +++++++- app/test-pmd/testpmd.c | 5 +- app/test-pmd/testpmd.h | 34 +- app/test-pmd/util.c | 35 +- doc/guides/nics/mlx5.rst | 3 + doc/guides/prog_guide/rte_flow.rst | 105 +++ doc/guides/rel_notes/release_20_11.rst | 10 + doc/guides/testpmd_app_ug/testpmd_funcs.rst | 49 ++ drivers/net/mlx5/linux/mlx5_os.c | 18 + drivers/net/mlx5/mlx5.c | 8 +- drivers/net/mlx5/mlx5.h | 3 + drivers/net/mlx5/mlx5_defs.h | 2 + drivers/net/mlx5/mlx5_flow.c | 678 +++++++++++++++++++- drivers/net/mlx5/mlx5_flow.h | 173 ++++- drivers/net/mlx5/mlx5_flow_dv.c | 241 ++++++- lib/librte_ethdev/rte_ethdev_version.map | 6 + lib/librte_ethdev/rte_flow.c | 140 +++- lib/librte_ethdev/rte_flow.h | 195 ++++++ lib/librte_ethdev/rte_flow_driver.h | 32 + 20 files changed, 2095 insertions(+), 65 deletions(-)