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 E4B637F0D for ; Tue, 11 Nov 2014 10:45:58 +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.0:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from ) id 1Xo8Dp-0002E3-Mr; Tue, 11 Nov 2014 10:58:52 +0100 Message-ID: <5461DD19.9000406@6wind.com> Date: Tue, 11 Nov 2014 10:55:37 +0100 From: Olivier MATZ User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Icedove/24.5.0 MIME-Version: 1.0 To: "Liu, Jijiang" , "dev@dpdk.org" References: <1415635166-1364-1-git-send-email-olivier.matz@6wind.com> <1415635166-1364-11-git-send-email-olivier.matz@6wind.com> <1ED644BD7E0A5F4091CF203DAFB8E4CC01D8F82C@SHSMSX101.ccr.corp.intel.com> In-Reply-To: <1ED644BD7E0A5F4091CF203DAFB8E4CC01D8F82C@SHSMSX101.ccr.corp.intel.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: "jigsaw@gmail.com" Subject: Re: [dpdk-dev] [PATCH 10/12] testpmd: rework csum forward 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: Tue, 11 Nov 2014 09:45:59 -0000 Hi Jijiang, On 11/11/2014 09:35 AM, Liu, Jijiang wrote: > The PKT_TX_VXLAN_CKSUM was not set in the patch, and VXLAN TX checksum offload would not work. Thank you for reporting this. Indeed, there is an issue. See below. >> +/* Calculate the checksum of outer header (only vxlan is supported, >> + * meaning IP + UDP). The caller already checked that it's a vxlan >> + * packet */ >> +static uint64_t >> +process_outer_cksums(void *outer_l3_hdr, uint16_t outer_ethertype, >> + uint16_t outer_l3_len, uint16_t testpmd_ol_flags) { >> + struct ipv4_hdr *ipv4_hdr = outer_l3_hdr; >> + struct ipv6_hdr *ipv6_hdr = outer_l3_hdr; >> + struct udp_hdr *udp_hdr; >> + uint64_t ol_flags = 0; >> + >> + if (testpmd_ol_flags & TESTPMD_TX_OFFLOAD_VXLAN_CKSUM) >> + ol_flags |= PKT_TX_IP_CKSUM; Here it should be: ol_flags |= PKT_TX_VXLAN_CKSUM I'll fix that in the next version. Regards, Olivier