[v4,0/4] Tunnel Offload API
Message ID | 20201004135040.10307-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 356D4A04B7; Sun, 4 Oct 2020 15:51:17 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 0A0D71BAC7; Sun, 4 Oct 2020 15:51:16 +0200 (CEST) Received: from hqnvemgate26.nvidia.com (hqnvemgate26.nvidia.com [216.228.121.65]) by dpdk.org (Postfix) with ESMTP id 796CC1BAC7 for <dev@dpdk.org>; Sun, 4 Oct 2020 15:51:14 +0200 (CEST) Received: from hqmail.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate26.nvidia.com (using TLS: TLSv1.2, AES256-SHA) id <B5f79d3440001>; Sun, 04 Oct 2020 06:51:00 -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; Sun, 4 Oct 2020 13:51:05 +0000 From: Gregory Etelson <getelson@nvidia.com> To: <dev@dpdk.org> CC: <getelson@nvidia.com>, <matan@nvidia.com>, <rasland@nvidia.com>, <elibr@nvidia.com>, <ozsh@nvidia.com>, <ajit.khaparde@broadcom.com> Date: Sun, 4 Oct 2020 16:50:36 +0300 Message-ID: <20201004135040.10307-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=1601819460; bh=jQCtWOwVmrQT0wosgpgTjzAGxRI12S6Zdbdh81yHOug=; 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=VkymEbWc0bOw8ZqkWYNjAU3ZUmnbHzb2gG7YStk1betohF0uEhgBG1KlUnh22NkxW Ag+sj5LCU2s4Hjt9PjF7cVLR6tXH8LQ3j9XiLzo+e5BLt5NPeUcm6Hpl/EKMkBI3Mh BM+b0SFM6GjM8lYCYXfQscxGVXR9usFQ4q2eWTzpQhUFMUSTceLNa3EZgrnkhkwDY2 QL0PW1AlG4LbwANZV6giYmZcgbV0ACkBHUmt1nX+fau41HThc2/+cBuDZQquscS8Qs WxPQs1QkGqznoMMWdeQXC74Oo+cbqCQ/p4GtmEluAASSrRBctzj6C4+zHSjYfR+9S9 XAVZ32h2O3tWw== Subject: [dpdk-dev] [PATCH v4 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
Oct. 4, 2020, 1:50 p.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. v2: * documentation updates * MLX5 PMD implementation for tunnel offload * testpmd updates for tunnel offload v3: * documentation updates * MLX5 PMD updates * testpmd updates v4: * updated patch: allow negative values in flow rule types 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 | 108 ++++ doc/guides/rel_notes/release_20_11.rst | 9 + 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, 2097 insertions(+), 65 deletions(-)