From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.droids-corp.org (zoll.droids-corp.org [94.23.50.67]) by dpdk.org (Postfix) with ESMTP id 17AA05ADD for ; Fri, 23 Jan 2015 10:06:34 +0100 (CET) Received: from was59-1-82-226-113-214.fbx.proxad.net ([82.226.113.214] helo=[192.168.0.10]) by mail.droids-corp.org with esmtpsa (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from ) id 1YEaFj-0000LZ-UZ; Fri, 23 Jan 2015 10:10:11 +0100 Message-ID: <54C20F0E.4000208@6wind.com> Date: Fri, 23 Jan 2015 10:06:22 +0100 From: Olivier MATZ User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.3.0 MIME-Version: 1.0 To: "Zhang, Helin" , "Liu, Jijiang" References: <1421883395-27235-1-git-send-email-olivier.matz@6wind.com> <1421883395-27235-5-git-send-email-olivier.matz@6wind.com> <1ED644BD7E0A5F4091CF203DAFB8E4CC01DB631A@SHSMSX101.ccr.corp.intel.com> In-Reply-To: Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Cc: "dev@dpdk.org" Subject: Re: [dpdk-dev] [RFC 04/16] i40e: remove the use of PKT_TX_UDP_TUNNEL_PKT flag 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: Fri, 23 Jan 2015 09:06:34 -0000 Hi Helin, On 01/23/2015 09:47 AM, Zhang, Helin wrote: >>> diff --git a/lib/librte_pmd_i40e/i40e_rxtx.c >>> b/lib/librte_pmd_i40e/i40e_rxtx.c index 9acdeee..0786255 100644 >>> --- a/lib/librte_pmd_i40e/i40e_rxtx.c >>> +++ b/lib/librte_pmd_i40e/i40e_rxtx.c >>> @@ -482,7 +482,7 @@ i40e_txd_enable_checksum(uint64_t ol_flags, >>> } >>> >>> /* UDP tunneling packet TX checksum offload */ >>> - if (unlikely(ol_flags & PKT_TX_UDP_TUNNEL_PKT)) { >>> + if (unlikely(ol_flags & PKT_TX_OUTER_IP_CKSUM)) { >> >> This way will disable FVL TX checksum offload capability of inner IP and inner >> L4 using B.1 method. >> >> Again, the B.1 in >> http://dpdk.org/ml/archives/dev/2014-December/009213.html should be >> supported and allowed. >> >> Helin, you are i40e maintainer, what's your point? > > Can we list all the possible checksum cases (with or without hardware offloads)? > 1. Outer IP (hw csum) + inner IP (hw csum) + L4 (hw csum) > 2. Outer IP (hw csum) + inner IP (hw csum) + L4 (sw csum) > 3. Outer IP (hw csum) + inner IP (sw csum) + L4 (hw csum) case 6 in [1] > 4. Outer IP (hw csum) + inner IP (sw csum) + L4 (sw csum) case 1 in [1] > 5. Outer IP (sw csum) + inner IP (hw csum) + L4 (hw csum) > 6. Outer IP (sw csum) + inner IP (hw csum) + L4 (sw csum) > 7. Outer IP (sw csum) + inner IP (sw csum) + L4 (hw csum) case 3 and 4 in [1] > 8. Outer IP (sw csum) + inner IP (sw csum) + L4 (sw csum) no hardware offload Removing the PKT_TX_UDP_TUNNEL_PKT does not prevent to do an operation from the user point of view. In i40e, there are 2 ways to calculate the inner checksums. The idea is to have only one in the mbuf API, and to let the driver decide how to talk to the hardware, but it's not the user problem. Regards, Olivier [1] http://dpdk.org/ml/archives/dev/2015-January/011127.html