From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wi0-f172.google.com (mail-wi0-f172.google.com [209.85.212.172]) by dpdk.org (Postfix) with ESMTP id 14E193975 for ; Wed, 26 Nov 2014 19:31:25 +0100 (CET) Received: by mail-wi0-f172.google.com with SMTP id n3so13411014wiv.17 for ; Wed, 26 Nov 2014 10:31:23 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:organization :user-agent:in-reply-to:references:mime-version :content-transfer-encoding:content-type; bh=Gkt9yGt+q7oXYUqYezraBWbIEsazNj+zmOF0HBXPlco=; b=AJlZwOi1B5tZ/J/b8EnX1d3Ss7n8mzJuHcvt8hBvv7g4tbmikhJqzRVn6Aw4u3ucAF Lo4jQ+uDyHSMg/Wc8OEgaxj3aDycLChpUCOuRQcphKtOF4DKCTX/4NZNmu8kO/YxOXTZ Yyg0kCk8qwEGfGRXilbQbIljOLtSy2tCs8wfribYc2fShVBrP2JD1UsAEyCJIhNXcAq5 ijlawaA82a7JXcy7Ck71NJLOrmc/+VNGfsMdMkadKCdkVnjxeTmJ8WoWvxA4CXYG3YIk Z2Ogr6UdJTlefcOm/wd+guAuJ/qlLEMtwM8CTjULpDoO97YLumLNF1L+pkaUn6AYvymu WsUQ== X-Gm-Message-State: ALoCoQk69kNrCOhEhh+a3kTLsCeAB1IsKMecCQA8OvQ40bl8tCk0ipMpHPQF49nupjP7EmS1M8qX X-Received: by 10.181.27.135 with SMTP id jg7mr43781917wid.56.1417026683675; Wed, 26 Nov 2014 10:31:23 -0800 (PST) Received: from xps13.localnet (136-92-190-109.dsl.ovh.fr. [109.190.92.136]) by mx.google.com with ESMTPSA id pl6sm8295404wic.22.2014.11.26.10.31.22 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 26 Nov 2014 10:31:22 -0800 (PST) From: Thomas Monjalon To: Olivier Matz Date: Wed, 26 Nov 2014 19:30:58 +0100 Message-ID: <2235633.LCqWGkYrf0@xps13> Organization: 6WIND User-Agent: KMail/4.14.2 (Linux/3.17.2-1-ARCH; KDE/4.14.2; x86_64; ; ) In-Reply-To: <1417014295-29064-1-git-send-email-olivier.matz@6wind.com> References: <1416524335-22753-1-git-send-email-olivier.matz@6wind.com> <1417014295-29064-1-git-send-email-olivier.matz@6wind.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Cc: dev@dpdk.org Subject: Re: [dpdk-dev] [PATCH v4 00/13] add TSO support 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: Wed, 26 Nov 2014 18:31:25 -0000 2014-11-26 16:04, Olivier Matz: > This series add TSO support in ixgbe DPDK driver. This is a rework > of the series sent earlier this week [1]. This work is based on > another version [2] that was posted several months ago and > which included a mbuf rework that is now in mainline. > > Changes in v4: > > - csum fwd engine: use PKT_TX_IPV4 and PKT_TX_IPV6 to tell the hardware > the IP version of the packet as suggested by Konstantin. > - document these 2 flags, explaining they should be set for hw L4 cksum > offload or TSO. > - rebase on latest head > > Changes in v3: > > - indicate that rte_get_rx_ol_flag_name() and rte_get_tx_ol_flag_name() > should be kept synchronized with flags definition > - use sizeof() when appropriate in rte_raw_cksum() > - remove double semicolon in ixgbe driver > - reorder tx ol_flags as requested by Thomas > - add missing copyrights when big modifications are made > - enhance the help of tx_cksum command in testpmd > - enhance the description of csumonly (comments) > > Changes in v2: > > - move rte_get_rx_ol_flag_name() and rte_get_tx_ol_flag_name() in > rte_mbuf.c, and fix comments > - use IGB_TX_OFFLOAD_MASK and IXGBE_TX_OFFLOAD_MASK to replace > PKT_TX_OFFLOAD_MASK > - fix inner_l2_len and inner_l3_len bitfields: use uint64_t instead > of uint16_t > - replace assignation of l2_len and l3_len by assignation of tx_offload. > It now includes inner_l2_len and inner_l3_len at the same time. > - introduce a new cksum api in rte_ip.h following discussion with > Konstantin > - reorder commits to have all TSO commits at the end of the series > - use ol_flags for phdr checksum calculation (this now matches ixgbe > API: standard pseudo hdr cksum for TCP cksum offload, pseudo hdr > cksum without ip paylen for TSO). This will probably be changed > with a dev_prep_tx() like function for 2.0 release. > - rebase on latest head > > > This series first fixes some bugs that were discovered during the > development, adds some changes to the mbuf API (new l4_len and > tso_segsz fields), adds TSO support in ixgbe, reworks testpmd > csum forward engine, and finally adds TSO support in testpmd so it > can be validated. > > The new fields added in mbuf try to be generic enough to apply to > other hardware in the future. To delegate the TCP segmentation to the > hardware, the user has to: > > - set the PKT_TX_TCP_SEG flag in mbuf->ol_flags (this flag implies > PKT_TX_TCP_CKSUM) > - set the flag PKT_TX_IPV4 or PKT_TX_IPV6 > - if it's IPv4, set the PKT_TX_IP_CKSUM flag and write the IP checksum > to 0 in the packet > - fill the mbuf offload information: l2_len, l3_len, l4_len, tso_segsz > > - calculate the pseudo header checksum without taking ip_len in account, > and set it in the TCP header, for instance by using > rte_ipv4_phdr_cksum(ip_hdr, ol_flags) > > The test report will be added as an answer to this cover letter and > could be linked in the concerned commits. > > [1] http://dpdk.org/ml/archives/dev/2014-November/007953.html > [2] http://dpdk.org/ml/archives/dev/2014-May/002537.html > > Olivier Matz (13): > igb/ixgbe: fix IP checksum calculation > ixgbe: fix remaining pkt_flags variable size to 64 bits > mbuf: reorder tx ol_flags > mbuf: add help about TX checksum flags > mbuf: remove too specific PKT_TX_OFFLOAD_MASK definition > mbuf: add functions to get the name of an ol_flag > testpmd: fix use of offload flags in testpmd > testpmd: rework csum forward engine > mbuf: introduce new checksum API > mbuf: generic support for TCP segmentation offload > ixgbe: support TCP segmentation offload > testpmd: support TSO in csum forward engine > testpmd: add a verbose mode csum forward engine Applied. This feature triggered an important mbuf rework which was integrated previously. Thank you Olivier and others for your work for several months. On this base, some adjustments may be needed, especially for VXLAN. Please let's close quickly these developments for DPDK 1.8.0 release. -- Thomas