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 34CF9A0524 for ; Thu, 4 Feb 2021 12:31:30 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2E89924072D; Thu, 4 Feb 2021 12:31:30 +0100 (CET) Received: from youngberry.canonical.com (youngberry.canonical.com [91.189.89.112]) by mails.dpdk.org (Postfix) with ESMTP id 86A0824072D for ; Thu, 4 Feb 2021 12:31:29 +0100 (CET) Received: from 2.general.paelzer.uk.vpn ([10.172.196.173] helo=localhost.localdomain) by youngberry.canonical.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1l7crB-0005AJ-AX; Thu, 04 Feb 2021 11:31:29 +0000 From: Christian Ehrhardt To: Qi Zhang Cc: Xiao Zhang , Qiming Yang , dpdk stable Date: Thu, 4 Feb 2021 12:28:06 +0100 Message-Id: <20210204112954.2488123-31-christian.ehrhardt@canonical.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210204112954.2488123-1-christian.ehrhardt@canonical.com> References: <20210204112954.2488123-1-christian.ehrhardt@canonical.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-stable] patch 'net/ice/base: fix tunnel destroy' has been queued to stable release 19.11.7 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 19.11.7 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/06/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/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/8f378c5febd57015a20444739e370b33df7b181a Thanks. Christian Ehrhardt --- >From 8f378c5febd57015a20444739e370b33df7b181a Mon Sep 17 00:00:00 2001 From: Qi Zhang Date: Tue, 15 Dec 2020 12:13:57 +0800 Subject: [PATCH] net/ice/base: fix tunnel destroy [ upstream commit c7ff2213a5fe884d56adcd4a7b50ecd5810bebf2 ] The TCAM information in AQ command buffer is not correct when destroying the tunnel entries. The TCAM count was always ONE even multiple entries are destroyed, and the offset of TCAM memory was also incorrect. This patch is to fix this issue. Fixes: 884efe3ca1f3 ("net/ice/base: add VXLAN/generic tunnel management") Signed-off-by: Xiao Zhang Signed-off-by: Qi Zhang Acked-by: Qiming Yang --- drivers/net/ice/base/ice_flex_pipe.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/drivers/net/ice/base/ice_flex_pipe.c b/drivers/net/ice/base/ice_flex_pipe.c index bf5a25d15b..cc95a2e0d0 100644 --- a/drivers/net/ice/base/ice_flex_pipe.c +++ b/drivers/net/ice/base/ice_flex_pipe.c @@ -2000,7 +2000,7 @@ enum ice_status ice_destroy_tunnel(struct ice_hw *hw, u16 port, bool all) struct ice_buf_build *bld; u16 count = 0; u16 size; - u16 i; + u16 i, j; /* determine count */ for (i = 0; i < hw->tnl.count && i < ICE_TUNNEL_MAX_ENTRIES; i++) @@ -2027,30 +2027,31 @@ enum ice_status ice_destroy_tunnel(struct ice_hw *hw, u16 port, bool all) size); if (!sect_rx) goto ice_destroy_tunnel_err; - sect_rx->count = CPU_TO_LE16(1); + sect_rx->count = CPU_TO_LE16(count); sect_tx = (struct ice_boost_tcam_section *) ice_pkg_buf_alloc_section(bld, ICE_SID_TXPARSER_BOOST_TCAM, size); if (!sect_tx) goto ice_destroy_tunnel_err; - sect_tx->count = CPU_TO_LE16(1); + sect_tx->count = CPU_TO_LE16(count); /* copy original boost entry to update package buffer, one copy to Rx * section, another copy to the Tx section */ - for (i = 0; i < hw->tnl.count && i < ICE_TUNNEL_MAX_ENTRIES; i++) + for (i = 0, j = 0; i < hw->tnl.count && i < ICE_TUNNEL_MAX_ENTRIES; i++) if (hw->tnl.tbl[i].valid && hw->tnl.tbl[i].in_use && (all || hw->tnl.tbl[i].port == port)) { - ice_memcpy(sect_rx->tcam + i, + ice_memcpy(sect_rx->tcam + j, hw->tnl.tbl[i].boost_entry, sizeof(*sect_rx->tcam), ICE_NONDMA_TO_NONDMA); - ice_memcpy(sect_tx->tcam + i, + ice_memcpy(sect_tx->tcam + j, hw->tnl.tbl[i].boost_entry, sizeof(*sect_tx->tcam), ICE_NONDMA_TO_NONDMA); hw->tnl.tbl[i].marked = true; + j++; } status = ice_update_pkg(hw, ice_pkg_buf(bld), 1); -- 2.30.0 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-02-04 12:04:29.432359426 +0100 +++ 0031-net-ice-base-fix-tunnel-destroy.patch 2021-02-04 12:04:27.922789624 +0100 @@ -1 +1 @@ -From c7ff2213a5fe884d56adcd4a7b50ecd5810bebf2 Mon Sep 17 00:00:00 2001 +From 8f378c5febd57015a20444739e370b33df7b181a Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit c7ff2213a5fe884d56adcd4a7b50ecd5810bebf2 ] + @@ -12 +13,0 @@ -Cc: stable@dpdk.org @@ -22 +23 @@ -index 0812135cf5..6c7f83899d 100644 +index bf5a25d15b..cc95a2e0d0 100644 @@ -25 +26,2 @@ -@@ -2163,7 +2163,7 @@ enum ice_status ice_destroy_tunnel(struct ice_hw *hw, u16 port, bool all) +@@ -2000,7 +2000,7 @@ enum ice_status ice_destroy_tunnel(struct ice_hw *hw, u16 port, bool all) + struct ice_buf_build *bld; @@ -27 +28,0 @@ - u16 index; @@ -32,3 +33,3 @@ - ice_acquire_lock(&hw->tnl_lock); - -@@ -2203,30 +2203,31 @@ enum ice_status ice_destroy_tunnel(struct ice_hw *hw, u16 port, bool all) + /* determine count */ + for (i = 0; i < hw->tnl.count && i < ICE_TUNNEL_MAX_ENTRIES; i++) +@@ -2027,30 +2027,31 @@ enum ice_status ice_destroy_tunnel(struct ice_hw *hw, u16 port, bool all)