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 1FE0A677B for ; Fri, 31 Oct 2014 16:40:55 +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 1XkEVO-0003vC-7B; Fri, 31 Oct 2014 16:52:53 +0100 Message-ID: <5453AF98.8060502@6wind.com> Date: Fri, 31 Oct 2014 16:49:44 +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: miroslaw.walukiewicz@intel.com, dev@dpdk.org References: <20141021112946.30069.67329.stgit@gklab-18-011.igk.intel.com> In-Reply-To: <20141021112946.30069.67329.stgit@gklab-18-011.igk.intel.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH v2] pmd: Add generic support for TCP TSO (Transmit Segmentation 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: Fri, 31 Oct 2014 15:40:55 -0000 Hello Miroslaw, On 10/21/2014 01:29 PM, miroslaw.walukiewicz@intel.com wrote: > From: Miroslaw Walukiewicz > > The NICs supported by DPDK have a possibility to accelerate TCP > traffic by sergnention offload. The application preprares a packet > with valid TCP header with size up to 64K and NIC makes packet > segmenation generating valid checksums and TCP segments. > > The patch defines a generic support for TSO offload. > - Add new PKT_TX_TCP_SEG flag. > Only packets with this flag set in ol_flags will be handled as > TSO packets. > > - Add new fields in indicating TCP TSO segment size and TCP header len. > The TSO requires from application setting following fields in mbuf. > 1. L2 header len including MAC/VLANs/SNAP if present > 2. L3 header len including IP options > 3. L4 header len (new field) including TCP options > 4. tso_segsz (new field) the size of TCP segment > > The apllication has obligation to compute the pseudo header checksum > instead of full TCP checksum and put it in the TCP header csum field. > > Handling complexity of creation combined l2_l3_len field > a new macro RTE_MBUF_TO_L2_L3_LEN() is defined to retrieve this > part of rte_mbuf. > The patch you submitted does not include any changes in a driver (let's say ixgbe as it is the reference) taking advantage it. So it's difficult to validate that your modifications are sufficient to implement TSO. In addition of a driver, I think that testpmd should be modified to validate your changes and give an example to people wanting to use this feature. Based on your patch, I'll try to submit a series in the coming days (maybe today if the winds are favourable) that includes the remaining patches from the original TSO series [1] that were not applied by Bruce's mbuf rework. Regards, Olivier [1] http://dpdk.org/ml/archives/dev/2014-May/002537.html