From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wg0-f51.google.com (mail-wg0-f51.google.com [74.125.82.51]) by dpdk.org (Postfix) with ESMTP id CE0A37E9D for ; Mon, 10 Nov 2014 16:50:02 +0100 (CET) Received: by mail-wg0-f51.google.com with SMTP id l18so9131629wgh.38 for ; Mon, 10 Nov 2014 07:59:48 -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:mime-version :content-type:content-transfer-encoding; bh=QM0THwl7IAYv8DGYr0T7BVq6csRsU0hLzCSuywFSNCg=; b=A4X+BBiv3Heh98iztCH5eaMzRcdl1p69bvk+ev3mAEjM6EyrQr4bOTF/Q55Af4bdvv xyulxLLLi9t3tsHpfVLMytDIaT6O8/qoo1bcLkcUSSTft+TbBXUWhgZfcfDvty98eZCY JlL5j/6xwCJav5SoNsaJMOMTJbmV99j02bub7Vl95igCGUWfjLmfDARSJc2b30xQyevm Tg3AopOuCQtVnZn6LvKxRKJPz33ltXs/oE6icyhDsiBCD2ud3TXOyfmg2SaOPZka8+X8 5+9wa5teSMIT1VZzljymATNdRXxBlZlPGhUGCiXBMWylBvUfInd6u/gjaXDkwU2eSKZ0 mJRA== X-Gm-Message-State: ALoCoQkgnoIGtvkQWTOBn7W7Y0eBWNJ0K2EwxTe9CAYExEwPd8UduZJkdWsf9GV7cKxW4yunVuK3 X-Received: by 10.194.93.168 with SMTP id cv8mr20347203wjb.114.1415635188047; Mon, 10 Nov 2014 07:59:48 -0800 (PST) Received: from glumotte.dev.6wind.com (guy78-3-82-239-227-177.fbx.proxad.net. [82.239.227.177]) by mx.google.com with ESMTPSA id ll2sm10966561wjb.11.2014.11.10.07.59.46 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 10 Nov 2014 07:59:47 -0800 (PST) From: Olivier Matz To: dev@dpdk.org Date: Mon, 10 Nov 2014 16:59:14 +0100 Message-Id: <1415635166-1364-1-git-send-email-olivier.matz@6wind.com> X-Mailer: git-send-email 2.1.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: jigsaw@gmail.com Subject: [dpdk-dev] [PATCH 00/12] 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: Mon, 10 Nov 2014 15:50:03 -0000 This series add TSO support in ixgbe DPDK driver. This is the third version of the series, but as the previous version [1] was posted several months ago and included a mbuf rework that is now in mainline, it can be considered as a new patch series. I'm open to comments on this patchset, especially on the API (see [2]). 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) - 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 and set it in the TCP header, as required when doing hardware TCP checksum offload 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-May/002537.html [2] http://dpdk.org/ml/archives/dev/2014-November/007940.html Olivier Matz (12): igb/ixgbe: fix IP checksum calculation ixgbe: fix remaining pkt_flags variable size to 64 bits mbuf: move vxlan_cksum flag definition at the proper place 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 mbuf: generic support for TCP segmentation offload ixgbe: support TCP segmentation offload testpmd: fix use of offload flags in testpmd testpmd: rework csum forward engine testpmd: support TSO in csum forward engine testpmd: add a verbose mode csum forward engine app/test-pmd/cmdline.c | 243 ++++++++++-- app/test-pmd/config.c | 15 +- app/test-pmd/csumonly.c | 740 +++++++++++++++++++----------------- app/test-pmd/macfwd.c | 5 +- app/test-pmd/macswap.c | 5 +- app/test-pmd/rxonly.c | 36 +- app/test-pmd/testpmd.c | 3 +- app/test-pmd/testpmd.h | 24 +- app/test-pmd/txonly.c | 9 +- examples/ipv4_multicast/main.c | 3 +- lib/librte_mbuf/rte_mbuf.h | 130 +++++-- lib/librte_pmd_e1000/igb_rxtx.c | 16 +- lib/librte_pmd_ixgbe/ixgbe_ethdev.c | 3 +- lib/librte_pmd_ixgbe/ixgbe_rxtx.c | 222 ++++++++--- lib/librte_pmd_ixgbe/ixgbe_rxtx.h | 19 +- 15 files changed, 921 insertions(+), 552 deletions(-) -- 2.1.0