From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id B3220A04BB; Tue, 6 Oct 2020 16:31:49 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 7CA192952; Tue, 6 Oct 2020 16:31:48 +0200 (CEST) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id E7B351B3C8 for ; Tue, 6 Oct 2020 16:31:44 +0200 (CEST) IronPort-SDR: OrwJO76vVI1mryCACLLyaTAILhL4zOWSMLkwUyC/+/G4ixKh9SE1xKtwA24GTJnkJj0LnARrA7 UFg0jWK+Alew== X-IronPort-AV: E=McAfee;i="6000,8403,9765"; a="181965141" X-IronPort-AV: E=Sophos;i="5.77,343,1596524400"; d="scan'208";a="181965141" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Oct 2020 07:30:46 -0700 IronPort-SDR: C4zhkmv0gUkxSYmHqhtFqYivLVnff31KFq8N3WQqvvsRQp8HWlJ5B1sYzZkLpx9aQLaMKyNjW3 mn45vptM9Nfw== X-IronPort-AV: E=Sophos;i="5.77,343,1596524400"; d="scan'208";a="342302803" Received: from fyigit-mobl1.ger.corp.intel.com (HELO [10.213.241.102]) ([10.213.241.102]) by fmsmga004-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Oct 2020 07:30:44 -0700 To: Ophir Munk , dev@dpdk.org, Wenzhuo Lu , Beilei Xing , Bernard Iremonger , Olivier Matz Cc: Ophir Munk References: <20200915131717.18252-2-ophirmu@nvidia.com> <20200918141735.18488-1-ophirmu@nvidia.com> <20200918141735.18488-2-ophirmu@nvidia.com> From: Ferruh Yigit Message-ID: Date: Tue, 6 Oct 2020 15:30:43 +0100 MIME-Version: 1.0 In-Reply-To: <20200918141735.18488-2-ophirmu@nvidia.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit Subject: Re: [dpdk-dev] [PATCH v5 1/3] app/testpmd: add GENEVE parsing 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" On 9/18/2020 3:17 PM, Ophir Munk wrote: > From: Ophir Munk > > GENEVE is a widely used tunneling protocol in modern Virtualized > Networks. testpmd already supports parsing of several tunneling > protocols including VXLAN, VXLAN-GPE, GRE. This commit adds GENEVE > parsing of inner protocols (IPv4-0x0800, IPv6-0x86dd, Ethernet-0x6558) > based on IETF draft-ietf-nvo3-geneve-09. GENEVE is considered more > flexible than the other protocols. In terms of protocol format GENEVE > header has a variable length options as opposed to other tunneling > protocols which have a fixed header size. > > Signed-off-by: Ophir Munk > --- > app/test-pmd/csumonly.c | 70 ++++++++++++++++++++++++++++++++++++++++++++- > app/test-pmd/testpmd.h | 1 + > lib/librte_net/meson.build | 3 +- > lib/librte_net/rte_geneve.h | 66 ++++++++++++++++++++++++++++++++++++++++++ > 4 files changed, 138 insertions(+), 2 deletions(-) > create mode 100644 lib/librte_net/rte_geneve.h > > diff --git a/app/test-pmd/csumonly.c b/app/test-pmd/csumonly.c > index 7ece398..a9f33c6 100644 > --- a/app/test-pmd/csumonly.c > +++ b/app/test-pmd/csumonly.c > @@ -43,6 +43,7 @@ > #include > #include > #include > +#include > > #include "testpmd.h" > > @@ -63,6 +64,7 @@ > #endif > > uint16_t vxlan_gpe_udp_port = 4790; > +uint16_t geneve_udp_port = RTE_GENEVE_DEFAULT_PORT; > There is a testpmd command to configure the NIC for GENEVE port, "port config (port_id) udp_tunnel_port add|rm vxlan|geneve|vxlan-gpe (udp_port)" You are adding support to testpmd to parse the GENEVE packets, but I think these two commads should be consistent. What do you think "port config N add geneve X" update the 'geneve_udp_port=X"? <...> > @@ -865,9 +925,17 @@ pkt_burst_checksum_forward(struct fwd_stream *fs) > } > parse_vxlan(udp_hdr, &info, > m->packet_type); > - if (info.is_tunnel) > + if (info.is_tunnel) { > tx_ol_flags |= > PKT_TX_TUNNEL_VXLAN; > + goto tunnel_update; > + } > + parse_geneve(udp_hdr, &info); > + if (info.is_tunnel) { > + tx_ol_flags |= > + PKT_TX_TUNNEL_GENEVE; > + goto tunnel_update; > + } Can you please update the "csum parse-tunnel" documentation to mention "geneve" protocol?