From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 8EA87A0524 for ; Fri, 5 Feb 2021 12:21:26 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 87D034067B; Fri, 5 Feb 2021 12:21:26 +0100 (CET) Received: from mail-wr1-f45.google.com (mail-wr1-f45.google.com [209.85.221.45]) by mails.dpdk.org (Postfix) with ESMTP id BD8CE4067B for ; Fri, 5 Feb 2021 12:21:25 +0100 (CET) Received: by mail-wr1-f45.google.com with SMTP id v15so7282881wrx.4 for ; Fri, 05 Feb 2021 03:21:25 -0800 (PST) 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 :mime-version:content-transfer-encoding; bh=X9TIv84EAfwpdgVTmWQDQlF6rM8IsfIq0n3ammvl+9w=; b=jNhK6E6My3FvjT3gjC/ygP2dJh/2H9+qVF/hlt33y2Lu40UoNH/HBBUi/6IUidlHLZ apfbvidRoa20eKniqRc7mZdfhGIXApZ14qOUwVXbO3N8nmly9ZzPkuMq5i+3w209n64E JUTI/s3VFBgWt7LF5ZCw5ZQRyf4zBSwaO2fGjWqiGfurUOwPKmjZmWV74ceN4x2al8pk 9Sj6L/iUl7r+qAxhaseLOL2dBm/2mHQFd0m6nj/QWOVCOHhz7zgFO70ImteNRIIAWQZK hVqmlVZ9hhkKHDJaH636IQoU+hXgIfg/VkjIzydP9ARYq7eWHykmQQZBrv58Od37KACG FiXA== 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:mime-version:content-transfer-encoding; bh=X9TIv84EAfwpdgVTmWQDQlF6rM8IsfIq0n3ammvl+9w=; b=WErF8xU+UVkvvdiNuE7K5YZyJhJt2H0Rtwf0YFnOGzvuyJ03PMUcNwN21yYCg1BiP8 IoGFkyDTfF5FZN1Fw4tgTxiC7CnDbtyLrriRHQnGdbTDi5vNa+khsUM6t9478rFJd1a1 kYrCQ+09Dg342ByXXFLEFElt078kaxbuZTfkM+TSNLpT9bFW5MyJOgAn5BjMnZFH1W0c uUdC+0vcPK858L+ximwhB4u6MeklnedKYmjbcfNSpgXc+VkaL3kyyb/xoGnddYtTW/0B lBAJFbRcnjmR1YFChLqnyxsgCzu7EOkSEtXXgZnLw5E+Yv64B0K2Xrv3tNXSWkFC0v1A zihQ== X-Gm-Message-State: AOAM532W2pfsOOZc31w/xJT2y9m4UPFtNnX19fPQL5eUP4nYsYjEcYnJ 5A7AFO7qZ4TbXcUzMivtnQdqcdkryNuAhIVH X-Google-Smtp-Source: ABdhPJzEU4O9LBdhiTQ6G0LVFhJGYvkTn8T/C7ylNW6P3FopXebK8X+i4ut9KdcXih2PTQXilkVbrg== X-Received: by 2002:adf:f307:: with SMTP id i7mr4367224wro.367.1612524085570; Fri, 05 Feb 2021 03:21:25 -0800 (PST) Received: from localhost ([88.98.246.218]) by smtp.gmail.com with ESMTPSA id r12sm7283367wmg.44.2021.02.05.03.21.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 05 Feb 2021 03:21:24 -0800 (PST) From: luca.boccassi@gmail.com To: Murphy Yang Cc: Jeff Guo , dpdk stable Date: Fri, 5 Feb 2021 11:15:22 +0000 Message-Id: <20210205111920.1272063-36-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210205111920.1272063-1-luca.boccassi@gmail.com> References: <20210205111920.1272063-1-luca.boccassi@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-stable] patch 'net/i40e: fix L4 checksum flag' has been queued to stable release 20.11.1 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" Hi, FYI, your patch has been queued to stable release 20.11.1 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 02/07/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/54aa2da82fa401c381609ddd2dbebc57ee38b418 Thanks. Luca Boccassi --- >From 54aa2da82fa401c381609ddd2dbebc57ee38b418 Mon Sep 17 00:00:00 2001 From: Murphy Yang Date: Thu, 3 Dec 2020 07:50:30 +0000 Subject: [PATCH] net/i40e: fix L4 checksum flag [ upstream commit c17af95a19e30c8d89eb96ceca99f60474ca2ac4 ] When tunneled packet received that inner L4 checksum value is correct, the test_pmd output log shows 'ol_flags' value is 'PKT_RX_L4_CKSUM_UNKNOWN', but expected value is 'PKT_RX_L4_CKSUM_GOOD'. If the inner l4 checksum is correct, mark the 'PKT_RX_L4_CKSUM_GOOD' flag to 'l3_l4e_flags' for sse and 'l3_l4_flags_shuf' for avx2 to ensure that the 'ol_flags' can match correct flags. Fixes: 9966a00a0688 ("net/i40e: enable bad checksum flags in vector Rx") Fixes: dafadd73762e ("net/i40e: add AVX2 Rx function") Signed-off-by: Murphy Yang Acked-by: Jeff Guo --- drivers/net/i40e/i40e_rxtx_vec_avx2.c | 40 ++++++++++++++++----------- drivers/net/i40e/i40e_rxtx_vec_sse.c | 20 ++++++++------ 2 files changed, 35 insertions(+), 25 deletions(-) diff --git a/drivers/net/i40e/i40e_rxtx_vec_avx2.c b/drivers/net/i40e/i40e_rxtx_vec_avx2.c index 7a558fc73a..fe6ec7deef 100644 --- a/drivers/net/i40e/i40e_rxtx_vec_avx2.c +++ b/drivers/net/i40e/i40e_rxtx_vec_avx2.c @@ -342,24 +342,32 @@ _recv_raw_pkts_vec_avx2(struct i40e_rx_queue *rxq, struct rte_mbuf **rx_pkts, */ const __m256i l3_l4_flags_shuf = _mm256_set_epi8(0, 0, 0, 0, 0, 0, 0, 0, /* shift right 1 bit to make sure it not exceed 255 */ - (PKT_RX_EIP_CKSUM_BAD | PKT_RX_L4_CKSUM_BAD | PKT_RX_IP_CKSUM_BAD) >> 1, - (PKT_RX_IP_CKSUM_GOOD | PKT_RX_EIP_CKSUM_BAD | PKT_RX_L4_CKSUM_BAD) >> 1, - (PKT_RX_EIP_CKSUM_BAD | PKT_RX_IP_CKSUM_BAD) >> 1, - (PKT_RX_IP_CKSUM_GOOD | PKT_RX_EIP_CKSUM_BAD) >> 1, - (PKT_RX_L4_CKSUM_BAD | PKT_RX_IP_CKSUM_BAD) >> 1, - (PKT_RX_IP_CKSUM_GOOD | PKT_RX_L4_CKSUM_BAD) >> 1, - PKT_RX_IP_CKSUM_BAD >> 1, - (PKT_RX_IP_CKSUM_GOOD | PKT_RX_L4_CKSUM_GOOD) >> 1, + (PKT_RX_EIP_CKSUM_BAD | PKT_RX_L4_CKSUM_BAD | + PKT_RX_IP_CKSUM_BAD) >> 1, + (PKT_RX_EIP_CKSUM_BAD | PKT_RX_L4_CKSUM_BAD | + PKT_RX_IP_CKSUM_GOOD) >> 1, + (PKT_RX_EIP_CKSUM_BAD | PKT_RX_L4_CKSUM_GOOD | + PKT_RX_IP_CKSUM_BAD) >> 1, + (PKT_RX_EIP_CKSUM_BAD | PKT_RX_L4_CKSUM_GOOD | + PKT_RX_IP_CKSUM_GOOD) >> 1, + (PKT_RX_L4_CKSUM_BAD | PKT_RX_IP_CKSUM_BAD) >> 1, + (PKT_RX_L4_CKSUM_BAD | PKT_RX_IP_CKSUM_GOOD) >> 1, + (PKT_RX_L4_CKSUM_GOOD | PKT_RX_IP_CKSUM_BAD) >> 1, + (PKT_RX_L4_CKSUM_GOOD | PKT_RX_IP_CKSUM_GOOD) >> 1, /* second 128-bits */ 0, 0, 0, 0, 0, 0, 0, 0, - (PKT_RX_EIP_CKSUM_BAD | PKT_RX_L4_CKSUM_BAD | PKT_RX_IP_CKSUM_BAD) >> 1, - (PKT_RX_IP_CKSUM_GOOD | PKT_RX_EIP_CKSUM_BAD | PKT_RX_L4_CKSUM_BAD) >> 1, - (PKT_RX_EIP_CKSUM_BAD | PKT_RX_IP_CKSUM_BAD) >> 1, - (PKT_RX_IP_CKSUM_GOOD | PKT_RX_EIP_CKSUM_BAD) >> 1, - (PKT_RX_L4_CKSUM_BAD | PKT_RX_IP_CKSUM_BAD) >> 1, - (PKT_RX_IP_CKSUM_GOOD | PKT_RX_L4_CKSUM_BAD) >> 1, - PKT_RX_IP_CKSUM_BAD >> 1, - (PKT_RX_IP_CKSUM_GOOD | PKT_RX_L4_CKSUM_GOOD) >> 1); + (PKT_RX_EIP_CKSUM_BAD | PKT_RX_L4_CKSUM_BAD | + PKT_RX_IP_CKSUM_BAD) >> 1, + (PKT_RX_EIP_CKSUM_BAD | PKT_RX_L4_CKSUM_BAD | + PKT_RX_IP_CKSUM_GOOD) >> 1, + (PKT_RX_EIP_CKSUM_BAD | PKT_RX_L4_CKSUM_GOOD | + PKT_RX_IP_CKSUM_BAD) >> 1, + (PKT_RX_EIP_CKSUM_BAD | PKT_RX_L4_CKSUM_GOOD | + PKT_RX_IP_CKSUM_GOOD) >> 1, + (PKT_RX_L4_CKSUM_BAD | PKT_RX_IP_CKSUM_BAD) >> 1, + (PKT_RX_L4_CKSUM_BAD | PKT_RX_IP_CKSUM_GOOD) >> 1, + (PKT_RX_L4_CKSUM_GOOD | PKT_RX_IP_CKSUM_BAD) >> 1, + (PKT_RX_L4_CKSUM_GOOD | PKT_RX_IP_CKSUM_GOOD) >> 1); const __m256i cksum_mask = _mm256_set1_epi32( PKT_RX_IP_CKSUM_GOOD | PKT_RX_IP_CKSUM_BAD | diff --git a/drivers/net/i40e/i40e_rxtx_vec_sse.c b/drivers/net/i40e/i40e_rxtx_vec_sse.c index 4b2b6a28fc..0bcb48e24e 100644 --- a/drivers/net/i40e/i40e_rxtx_vec_sse.c +++ b/drivers/net/i40e/i40e_rxtx_vec_sse.c @@ -254,16 +254,18 @@ desc_to_olflags_v(struct i40e_rx_queue *rxq, volatile union i40e_rx_desc *rxdp, const __m128i l3_l4e_flags = _mm_set_epi8(0, 0, 0, 0, 0, 0, 0, 0, /* shift right 1 bit to make sure it not exceed 255 */ - (PKT_RX_EIP_CKSUM_BAD | PKT_RX_L4_CKSUM_BAD | + (PKT_RX_EIP_CKSUM_BAD | PKT_RX_L4_CKSUM_BAD | PKT_RX_IP_CKSUM_BAD) >> 1, - (PKT_RX_IP_CKSUM_GOOD | PKT_RX_EIP_CKSUM_BAD | - PKT_RX_L4_CKSUM_BAD) >> 1, - (PKT_RX_EIP_CKSUM_BAD | PKT_RX_IP_CKSUM_BAD) >> 1, - (PKT_RX_IP_CKSUM_GOOD | PKT_RX_EIP_CKSUM_BAD) >> 1, - (PKT_RX_L4_CKSUM_BAD | PKT_RX_IP_CKSUM_BAD) >> 1, - (PKT_RX_IP_CKSUM_GOOD | PKT_RX_L4_CKSUM_BAD) >> 1, - PKT_RX_IP_CKSUM_BAD >> 1, - (PKT_RX_IP_CKSUM_GOOD | PKT_RX_L4_CKSUM_GOOD) >> 1); + (PKT_RX_EIP_CKSUM_BAD | PKT_RX_L4_CKSUM_BAD | + PKT_RX_IP_CKSUM_GOOD) >> 1, + (PKT_RX_EIP_CKSUM_BAD | PKT_RX_L4_CKSUM_GOOD | + PKT_RX_IP_CKSUM_BAD) >> 1, + (PKT_RX_EIP_CKSUM_BAD | PKT_RX_L4_CKSUM_GOOD | + PKT_RX_IP_CKSUM_GOOD) >> 1, + (PKT_RX_L4_CKSUM_BAD | PKT_RX_IP_CKSUM_BAD) >> 1, + (PKT_RX_L4_CKSUM_BAD | PKT_RX_IP_CKSUM_GOOD) >> 1, + (PKT_RX_L4_CKSUM_GOOD | PKT_RX_IP_CKSUM_BAD) >> 1, + (PKT_RX_L4_CKSUM_GOOD | PKT_RX_IP_CKSUM_GOOD) >> 1); /* Unpack "status" from quadword 1, bits 0:32 */ vlan0 = _mm_unpackhi_epi32(descs[0], descs[1]); -- 2.29.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-02-05 11:18:30.909600967 +0000 +++ 0036-net-i40e-fix-L4-checksum-flag.patch 2021-02-05 11:18:28.678688675 +0000 @@ -1 +1 @@ -From c17af95a19e30c8d89eb96ceca99f60474ca2ac4 Mon Sep 17 00:00:00 2001 +From 54aa2da82fa401c381609ddd2dbebc57ee38b418 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit c17af95a19e30c8d89eb96ceca99f60474ca2ac4 ] + @@ -16 +17,0 @@ -Cc: stable@dpdk.org