From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 794D5C310 for ; Mon, 25 May 2015 12:28:52 +0200 (CEST) Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga103.fm.intel.com with ESMTP; 25 May 2015 03:28:52 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.13,491,1427785200"; d="scan'208";a="497907865" Received: from bricha3-mobl3.ger.corp.intel.com ([10.237.220.149]) by FMSMGA003.fm.intel.com with SMTP; 25 May 2015 03:28:49 -0700 Received: by (sSMTP sendmail emulation); Mon, 25 May 2015 11:28:48 +0025 Date: Mon, 25 May 2015 11:28:48 +0100 From: Bruce Richardson To: Tim Deng Message-ID: <20150525102848.GA8820@bricha3-MOBL3> References: <7b3bcfdc.ee97.14d8a91d9e4.Coremail.dpdkdev@126.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <7b3bcfdc.ee97.14d8a91d9e4.Coremail.dpdkdev@126.com> Organization: Intel Shannon Ltd. User-Agent: Mutt/1.5.23 (2014-03-12) Cc: "dev@dpdk.org" Subject: Re: [dpdk-dev] ixgbe tcp cksum offload 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, 25 May 2015 10:28:52 -0000 On Mon, May 25, 2015 at 06:15:23PM +0800, Tim Deng wrote: > Hi, > > > I am trying to use ixgbe tcp cksum h/w offload by following steps: > - populate pseudo cksum > - set l2_len, l3_len, l4_len > - set ol_flags > > > But I found the pkt doesn't get right h/w checksum by sniffing on recv side, and TCP cksum still leave with the original pseudo cksum. > And I verified those meta are correctly set, e.g. a TCP syn pkt: > l2_len = 14, l3_len = 20, l4_len = 40 (with some tcp options), > and ol_flags = 0x90000000000000 which means PKT_TX_IPV4 | PKT_TX_TCP_CKSUM > > > Did I miss any step? > > > Thanks in advance, > Tim > Check that you have not got TX offloads disabled in your port configuration. If you pass in NULL for the rte_eth_txconf pointer on tx queue setup, then offloads will be disabled. To get offloads such as checksums to work, you need to explicitly set the flags to allow them. (Generally, this means just setting txqflags to 0) Regards, /Bruce