From patchwork Mon Dec 21 03:50:44 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: yang_y_yi X-Patchwork-Id: 85572 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 81131A09FE; Mon, 21 Dec 2020 04:51:01 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id A4C74CAE2; Mon, 21 Dec 2020 04:50:59 +0100 (CET) Received: from mail-m972.mail.163.com (mail-m972.mail.163.com [123.126.97.2]) by dpdk.org (Postfix) with ESMTP id B7A39CACF for ; Mon, 21 Dec 2020 04:50:57 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:Subject:Date:Message-Id:MIME-Version; bh=9zeBL 7DwHVjuu1R0RGPAoDiDQCdff8Lu45CVzMffvMY=; b=T9NSHZpxUACpCTTuxrm4k NIGB/zZpw7qltdXdIGpkidKNRCVGxr/WUjQZLMifrtp769AbXy85j6tVtU9YRgGH ErCNHfj3EA/6kg3k/fR2/nxBlPQ7sxViKCL5Cz3mHAERzmiGyorHzTUA0n75h/En Tscoe+Tcjwjd4KBB+2W1GI= Received: from yangyi0100.home.langchao.com (unknown [111.207.123.53]) by smtp2 (Coremail) with SMTP id GtxpCgD3vb6cG+BfUOf7Fw--.755S2; Mon, 21 Dec 2020 11:50:53 +0800 (CST) From: yang_y_yi@163.com To: dev@dpdk.org Cc: jiayu.hu@intel.com, konstantin.ananyev@intel.com, thomas@monjalon.net, yangyi01@inspur.com, yang_y_yi@163.com Date: Mon, 21 Dec 2020 11:50:44 +0800 Message-Id: <20201221035052.128292-1-yang_y_yi@163.com> X-Mailer: git-send-email 2.19.2.windows.1 MIME-Version: 1.0 X-CM-TRANSID: GtxpCgD3vb6cG+BfUOf7Fw--.755S2 X-Coremail-Antispam: 1Uf129KBjvJXoWxur4kGF4UKr17Xr48ZrWfuFg_yoW5WF1kpF W5GF1rJrnxA34xJFZ3Xw42gr9ayF1xKFyxGr1Igr18X3yIqw4UWr15KFyfGr13XFnrZr48 W3s7KF1fur17G3JanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07U2oGdUUUUU= X-Originating-IP: [111.207.123.53] X-CM-SenderInfo: 51dqwsp1b1xqqrwthudrp/1tbiTB0Ci1SImILbQgAAsH Subject: [dpdk-dev] [PATCH v1 0/8] gro: support TCP/IPv6 and UDP/IPv6 for VLAN and VXLAN 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" From: Yi Yang In production system, both IPv4 and IPv6 are required, this patch series added TCP/IPv6 and UDP/IPv6 gro support for both VLAN and VXLAN use cases, with this patch seiries applied, DPDK can support gro for all the below cases: VLAN TCP/IPv4 VLAN UDP/IPv4 VLAN TCP/IPv6 VLAN UDP/IPv6 IPv4 VXLAN TCP/IPv4 IPv4 VXLAN UDP/IPv4 IPv4 VXLAN TCP/IPv6 IPv4 VXLAN UDP/IPv6 IPv6 VXLAN TCP/IPv4 IPv6 VXLAN UDP/IPv4 IPv6 VXLAN TCP/IPv6 IPv4 VXLAN UDP/IPv6 Yi Yang (8): gro: support TCP/IPv6 gro: support IPv4 VXLAN TCP/IPv6 gro: support IPv6 VXLAN TCP/IPv4 gro: support IPv6 VXLAN TCP/IPv6 gro: support UDP/IPv6 gro: support IPv4 VXLAN UDP/IPv6 gro: support IPv6 VXLAN UDP/IPv4 gro: support IPv6 VXLAN UDP/IPv6 .../prog_guide/generic_receive_offload_lib.rst | 16 +- doc/guides/rel_notes/release_21_02.rst | 39 ++ lib/librte_gro/gro_tcp6.c | 368 +++++++++++++ lib/librte_gro/gro_tcp6.h | 314 +++++++++++ lib/librte_gro/gro_udp6.c | 487 +++++++++++++++++ lib/librte_gro/gro_udp6.h | 284 ++++++++++ lib/librte_gro/gro_vxlan6_tcp4.c | 507 +++++++++++++++++ lib/librte_gro/gro_vxlan6_tcp4.h | 153 ++++++ lib/librte_gro/gro_vxlan6_tcp6.c | 464 ++++++++++++++++ lib/librte_gro/gro_vxlan6_tcp6.h | 153 ++++++ lib/librte_gro/gro_vxlan6_udp4.c | 559 +++++++++++++++++++ lib/librte_gro/gro_vxlan6_udp4.h | 148 +++++ lib/librte_gro/gro_vxlan6_udp6.c | 589 ++++++++++++++++++++ lib/librte_gro/gro_vxlan6_udp6.h | 148 +++++ lib/librte_gro/gro_vxlan_tcp6.c | 496 +++++++++++++++++ lib/librte_gro/gro_vxlan_tcp6.h | 156 ++++++ lib/librte_gro/gro_vxlan_udp6.c | 607 +++++++++++++++++++++ lib/librte_gro/gro_vxlan_udp6.h | 152 ++++++ lib/librte_gro/meson.build | 2 +- lib/librte_gro/rte_gro.c | 537 +++++++++++++++++- lib/librte_gro/rte_gro.h | 24 + 21 files changed, 6186 insertions(+), 17 deletions(-) create mode 100644 lib/librte_gro/gro_tcp6.c create mode 100644 lib/librte_gro/gro_tcp6.h create mode 100644 lib/librte_gro/gro_udp6.c create mode 100644 lib/librte_gro/gro_udp6.h create mode 100644 lib/librte_gro/gro_vxlan6_tcp4.c create mode 100644 lib/librte_gro/gro_vxlan6_tcp4.h create mode 100644 lib/librte_gro/gro_vxlan6_tcp6.c create mode 100644 lib/librte_gro/gro_vxlan6_tcp6.h create mode 100644 lib/librte_gro/gro_vxlan6_udp4.c create mode 100644 lib/librte_gro/gro_vxlan6_udp4.h create mode 100644 lib/librte_gro/gro_vxlan6_udp6.c create mode 100644 lib/librte_gro/gro_vxlan6_udp6.h create mode 100644 lib/librte_gro/gro_vxlan_tcp6.c create mode 100644 lib/librte_gro/gro_vxlan_tcp6.h create mode 100644 lib/librte_gro/gro_vxlan_udp6.c create mode 100644 lib/librte_gro/gro_vxlan_udp6.h