From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr0-f173.google.com (mail-wr0-f173.google.com [209.85.128.173]) by dpdk.org (Postfix) with ESMTP id 4933EFFA for ; Mon, 30 Apr 2018 16:44:08 +0200 (CEST) Received: by mail-wr0-f173.google.com with SMTP id p18-v6so8294384wrm.1 for ; Mon, 30 Apr 2018 07:44:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=ZutEleQp67vr9lB464mPB6oi+/Hn9kAmpsHnJwiLImw=; b=YuJLy7NwtfjJ5qJ1QDgcHmdUFg4YDkL39iXcNZLzgGfRRsxjbsqVEXKVv4d5yNDDA5 8O8xwCcaoWsdy6yweMIp/v/mKzlQSMURHqJzrubpRlDwp4uZBzAT/7x74giKb6Zwqus+ db1svImhpjG30x89zKeDqF3w+9FXXxcbWoLRRtSsNLHPr9pAm9yHiX0x/+ewN6Kg9Gs3 9/c7Jq5CygT6oA/xmo91iAk29KoLLrtFy0mPfehjdZ+UiORcggP5fdulYIsv7UMfmlXv YF95B12gAp5nFexhivNIRcH9GPaGvRwiN3P19RCUXq2di8hiYxd/Rmm9sTfOdeQ5myVO w/ng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=ZutEleQp67vr9lB464mPB6oi+/Hn9kAmpsHnJwiLImw=; b=Kq+Qn+nhTsf5avGDo9ibhQiDIt21RtqwfZ8Xu3ARtrT9MjvkBaD6sr7PWfGLwcxnJc wQKowFkUo55jnEJpgLeHYf6qAM35mfS6HjLHJVtJzJzuDgdpioMeTiXOVjNxyTqHI1k/ 821eX9gKWyNTHIc62pabzVvG26TkJONlwgg5OT7/5PGqTfQIi+kn+6D8w7nU8jD5xPgz 55CTQCcvvSIXwOk6N8iM9kRdBO7r3zDDeVcYR/gJxj1ZsxTCUk7Apw6FP2iKL5ElimkF gbQyzPNDWt0ByLOhcem9vmSJmKNpjpn7vIrHZ1+wIkag/XrUm3B99VEY108k85mw2U+y kbSQ== X-Gm-Message-State: ALQs6tCbMxcflo8SnmS7Wf1mvNezx1omH1/f9SYWTHAyU5c16rlsm7oP 9qVQdnodjBkvcaQ6GGlXoIyMPL2MRts= X-Google-Smtp-Source: AB8JxZqelTKV4nYfa9ILzVtzyLPJjARDtHWSRAJPtBdd+UjF+S7w8L62Cr30C09OtNgiW3QvZ7eVtg== X-Received: by 2002:adf:91a2:: with SMTP id 31-v6mr8989245wri.124.1525099448344; Mon, 30 Apr 2018 07:44:08 -0700 (PDT) Received: from localhost ([2a00:23c5:be9a:5200:ce4c:82c0:d567:ecbb]) by smtp.gmail.com with ESMTPSA id w31-v6sm12646433wrb.93.2018.04.30.07.44.07 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 30 Apr 2018 07:44:07 -0700 (PDT) From: luca.boccassi@gmail.com To: Thomas Monjalon Cc: Olivier Matz , dpdk stable Date: Mon, 30 Apr 2018 15:41:19 +0100 Message-Id: <20180430144223.18657-64-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.14.2 In-Reply-To: <20180430144223.18657-1-luca.boccassi@gmail.com> References: <20180430140606.4615-80-luca.boccassi@gmail.com> <20180430144223.18657-1-luca.boccassi@gmail.com> Subject: [dpdk-stable] patch 'mbuf: fix Tx checksum offload API doc' has been queued to stable release 18.02.2 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Apr 2018 14:44:09 -0000 Hi, FYI, your patch has been queued to stable release 18.02.2 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 05/02/18. So please shout if anyone has objections. Thanks. Luca Boccassi --- >>From 2f3d85ead2248160df0581238d7c0d198024f7d9 Mon Sep 17 00:00:00 2001 From: Thomas Monjalon Date: Fri, 20 Apr 2018 01:39:52 +0200 Subject: [PATCH] mbuf: fix Tx checksum offload API doc [ upstream commit f00dcb7b0a74928b8b846f73b37386d7b1bb4869 ] When introducing rte_eth_tx_prepare(), the constraints on checksum pre-filling for Tx offloads were relaxed because implemented in the PMDs with rte_net_intel_cksum_flags_prepare() helper. As a consequence, these old requirements are removed for: - PKT_TX_OUTER_IP_CKSUM - PKT_TX_IP_CKSUM - PKT_TX_[L4]_CKSUM - PKT_TX_TCP_SEG Not sure SCTP offload is properly implemented though. A reference to rte_eth_tx_prepare() is added in rte_eth_tx_burst() doc. Fixes: 609dd68ef14f ("mbuf: enhance the API documentation of offload flags") Fixes: 4fb7e803eb1a ("ethdev: add Tx preparation") Signed-off-by: Thomas Monjalon Acked-by: Olivier Matz --- lib/librte_ether/rte_ethdev.h | 3 +++ lib/librte_mbuf/rte_mbuf.h | 16 +++------------- 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h index cf2b254a7..198aceb4f 100644 --- a/lib/librte_ether/rte_ethdev.h +++ b/lib/librte_ether/rte_ethdev.h @@ -3860,6 +3860,9 @@ static inline int rte_eth_tx_descriptor_status(uint16_t port_id, * invoke this function concurrently on the same tx queue without SW lock. * @see rte_eth_dev_info_get, struct rte_eth_txconf::txq_flags * + * @see rte_eth_tx_prepare to perform some prior checks or adjustments + * for offloads. + * * @param port_id * The port identifier of the Ethernet device. * @param queue_id diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h index 62740254d..9c319aeff 100644 --- a/lib/librte_mbuf/rte_mbuf.h +++ b/lib/librte_mbuf/rte_mbuf.h @@ -226,12 +226,8 @@ extern "C" { * - 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 + * - if it's IPv4, set the PKT_TX_IP_CKSUM flag * - 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. Refer to rte_ipv4_phdr_cksum() and - * rte_ipv6_phdr_cksum() that can be used as helpers. */ #define PKT_TX_TCP_SEG (1ULL << 50) @@ -244,9 +240,6 @@ extern "C" { * - fill l2_len and l3_len in mbuf * - set the flags PKT_TX_TCP_CKSUM, PKT_TX_SCTP_CKSUM or PKT_TX_UDP_CKSUM * - set the flag PKT_TX_IPV4 or PKT_TX_IPV6 - * - calculate the pseudo header checksum and set it in the L4 header (only - * for TCP or UDP). See rte_ipv4_phdr_cksum() and rte_ipv6_phdr_cksum(). - * For SCTP, set the crc field to 0. */ #define PKT_TX_L4_NO_CKSUM (0ULL << 52) /**< Disable L4 cksum of TX pkt. */ #define PKT_TX_TCP_CKSUM (1ULL << 52) /**< TCP cksum of TX pkt. computed by NIC. */ @@ -258,7 +251,6 @@ extern "C" { * Offload the IP checksum in the hardware. The flag PKT_TX_IPV4 should * also be set by the application, although a PMD will only check * PKT_TX_IP_CKSUM. - * - set the IP checksum field in the packet to 0 * - fill the mbuf offload information: l2_len, l3_len */ #define PKT_TX_IP_CKSUM (1ULL << 54) @@ -288,10 +280,8 @@ extern "C" { /** * Offload the IP checksum of an external header in the hardware. The - * flag PKT_TX_OUTER_IPV4 should also be set by the application, alto ugh - * a PMD will only check PKT_TX_IP_CKSUM. The IP checksum field in the - * packet must be set to 0. - * - set the outer IP checksum field in the packet to 0 + * flag PKT_TX_OUTER_IPV4 should also be set by the application, although + * a PMD will only check PKT_TX_OUTER_IP_CKSUM. * - fill the mbuf offload information: outer_l2_len, outer_l3_len */ #define PKT_TX_OUTER_IP_CKSUM (1ULL << 58) -- 2.14.2