From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id 08E7C5A6D for ; Mon, 26 Jan 2015 07:03:22 +0100 (CET) Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga102.jf.intel.com with ESMTP; 25 Jan 2015 22:00:10 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.09,466,1418112000"; d="scan'208";a="667456313" Received: from pgsmsx105.gar.corp.intel.com ([10.221.44.96]) by fmsmga002.fm.intel.com with ESMTP; 25 Jan 2015 22:03:18 -0800 Received: from shsmsx104.ccr.corp.intel.com (10.239.4.70) by PGSMSX105.gar.corp.intel.com (10.221.44.96) with Microsoft SMTP Server (TLS) id 14.3.195.1; Mon, 26 Jan 2015 14:02:47 +0800 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.64]) by SHSMSX104.ccr.corp.intel.com ([169.254.5.231]) with mapi id 14.03.0195.001; Mon, 26 Jan 2015 14:02:45 +0800 From: "Liu, Jijiang" To: "Ananyev, Konstantin" , Olivier MATZ , "Zhang, Helin" Thread-Topic: [dpdk-dev] [PATCH v3 0/3] enhance TX checksum command and csum forwarding engine Thread-Index: AQHQFSv0txinLaq/UEmWgzF3v0CZupyLMv5ggABvM4CAJx3DUIABUNAAgACeQOD//4WHgIAB0/cg//+qC4CAAY+2AIAEp+6QgAAfSgCAAWHEQIAAEm0AgAGBl0CAAd+OAIAB1D0AgARtd4CAABpDgIAAsRWAgAC/3gCAAE+EAIAADooAgAEaycCAAEfcAIAHIAWAgACi+dA= Date: Mon, 26 Jan 2015 06:02:44 +0000 Message-ID: <1ED644BD7E0A5F4091CF203DAFB8E4CC01DB6FD2@SHSMSX101.ccr.corp.intel.com> References: <1418173403-30202-1-git-send-email-jijiang.liu@intel.com> <1ED644BD7E0A5F4091CF203DAFB8E4CC01DA7CC5@SHSMSX101.ccr.corp.intel.com> <2601191342CEEE43887BDE71AB977258213D3897@irsmsx105.ger.corp.intel.com> <54AFB13E.2080200@6wind.com> <1ED644BD7E0A5F4091CF203DAFB8E4CC01DA85A1@SHSMSX101.ccr.corp.intel.com> <54B3B35A.5030803@6wind.com> <1ED644BD7E0A5F4091CF203DAFB8E4CC01DA8E36@SHSMSX101.ccr.corp.intel.com> <54B4EB92.40209@6wind.com> <1ED644BD7E0A5F4091CF203DAFB8E4CC01DB0789@SHSMSX101.ccr.corp.intel.com> <2601191342CEEE43887BDE71AB977258213D4FCF@irsmsx105.ger.corp.intel.com> <54B94A18.5030700@6wind.com> <2601191342CEEE43887BDE71AB977258213DCD25@irsmsx105.ger.corp.intel.com> <54BD16F1.6050409@6wind.com> <2601191342CEEE43887BDE71AB977258213DDF46@irsmsx105.ger.corp.intel.com> <54BE4C70.7050406@6wind.com> <2601191342CEEE43887BDE71AB977258213DE5FB@irsmsx105.ger.corp.intel.com> <54BE9B56.7050108@6wind.com> <1ED644BD7E0A5F4091CF203DAFB8E4CC01DB55DB@SHSMSX101.ccr.corp.intel.com> <54BFC4D6.2010903@6wind.com> <2601191342CEEE43887BDE71AB977258213DF71B@irsmsx105.ger.corp.intel.com> In-Reply-To: <2601191342CEEE43887BDE71AB977258213DF71B@irsmsx105.ger.corp.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Cc: "dev@dpdk.org" Subject: Re: [dpdk-dev] [PATCH v3 0/3] enhance TX checksum command and csum forwarding engine X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Jan 2015 06:03:24 -0000 Hi, > -----Original Message----- > From: Ananyev, Konstantin > Sent: Monday, January 26, 2015 12:14 PM > To: Olivier MATZ; Liu, Jijiang > Cc: dev@dpdk.org > Subject: RE: [dpdk-dev] [PATCH v3 0/3] enhance TX checksum command and > csum forwarding engine >=20 > Hi lads, >=20 > > -----Original Message----- > > From: Olivier MATZ [mailto:olivier.matz@6wind.com] > > Sent: Wednesday, January 21, 2015 3:25 PM > > To: Liu, Jijiang; Ananyev, Konstantin > > Cc: dev@dpdk.org > > Subject: Re: [dpdk-dev] [PATCH v3 0/3] enhance TX checksum command and > > csum forwarding engine > > > > Hi, > > > > On 01/21/2015 04:12 AM, Liu, Jijiang wrote: > > >>>>> Ok, and why it should be our problem? > > >>>>> We have a lot of things done in a different manner then > > >>>>> linux/freebsd kernel drivers, Why now it became a problem? > > >>>> > > >>>> If linux doesn't need an equivalent flag for doing the same > > >>>> thing, it probably means we don't need it either. > > >>> > > >>> Probably yes .... Or probably not. > > >>> Why do we need to guess what was the intention of guys who wrote > > >>> that > > >> part of linux driver? > > >> > > >> Because the dpdk looks very similar to that part of linux driver. > > > > > > A guy from Intel who have already confirmed that the NVGRE is not > supported yet in Linux kernel. > > > > > > He said "So far as I know it is not yet supported and I have no infor= mation on > when it will be." > > > > I added the support of Ether over GRE, IP over GRE and IP over IP > > tunnels in csumonly to do the test. I ask the csum forward engine to > > calculate inner IP+TCP checksums, and outer IP (case 6 in [1]). > > Here are the results: > > > > 1/ When I use I40E_TXD_CTX_UDP_TUNNELING: > > - vxlan: all checksums ok > > - eth over gre: all checksums ok > > - ip over gre: not transmitted by hw > > - ip over ip: all checksums wrong (set to 0 by hw) > > > > 2/ When I use I40E_TXD_CTX_GRE_TUNNELING: > > - vxlan: checksums ok > > - eth over gre: all checksums ok > > - ip over gre: all checksums ok > > - ip over ip: all checksums wrong (set to 0 by hw) > > > > 3/ When I use 00b: > > - vxlan: all checksums ok > > - eth over gre: all checksums ok > > - ip over gre: all checksums ok > > - ip over ip: checksums wrong (set to 0 by hw) > > > > All the ip over ip tests do not work yet for an unknown reason. > > There is maybe something wrong in my app or in the driver (although > > the registers looks consistent with the datasheet). > > > > I think we could use 3/ for all tunnels, because the ipip case is > > supposed to work according to the datasheet, and all other cases work > > too. > > > > It would allow to remove the UDP_TUNNELING flag from mbuf API. > > > > I will send a RFC patch that provides the API change and this new > > feature in csum forward engine, with full tests on ixgbe and i40e and > > explanations for all changes. > > > > Regards, > > Olivier > > > > [1] http://dpdk.org/ml/archives/dev/2015-January/011127.html >=20 > I tried to repeat Olivier test-cases on my box. > Though, I didn't use test-pmd cusmonly and i40ePMD logic, but filled TCD= and > TDD mostly from hardcoded values. > That's what I got: >=20 > 4 input packets: > a) ETHER/IPv4/UDP/VXLAN/ETHER/IPV4/TCP > b) ETHER/IPv4/GRE/ETHER/IPV4/TCP > c) ETHER/IPv4/GRE/IPV4/TCP > d) ETHER/IPv4/IPV4/TCP >=20 > 1/ L4TUNT=3D=3D1(I40E_TXD_CTX_UDP_TUNNELING): > a),b): all checksums ok > c),d): not transmitted by HW. >=20 > 2/ L4TUNT=3D=3D2(I40E_TXD_CTX_GRE_TUNNELING): > a) b),c): all checksums ok > d): not transmitted by HW. >=20 > 3/ L4TUNT=3D=3D0(UNKNOWN): > a),b),c),d): all checksums ok >=20 > So yes, it seems that L4TUNT=3D=3D0 works perfectly ok for all cases, as = long as > L4TUNLEN and other TCD values are setup properly. > Which makes me think, that probably we can do what you suggested: just u= se > L4TUNT=3D0 for all cases. > Though as Jijiang said, we waiting for confirmation from FVL guys, that t= here are > no hidden implications with that approach. Yes, the L4TUNT=3D0 is ok for all cases. But we still need to get confirmation from FVL guys, probably there are som= e issues in HW/FW. I and Helin will confirm this with FVL guys ASAP. > Another thing - IPIP seems to work ok by HW. > There is something wrong on our (PMD/test-pmd) side. > I think at least we have to remove the following check: > if (!l2_len) { > PMD_DRV_LOG(DEBUG, "L2 length set to 0"); > return; > } > in i40e_txd_enable_checksum(). Yes, for IPIP, the check should be removed. > Konstantin