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 75B28A0A02 for ; Mon, 17 May 2021 18:14:19 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6F7FD40041; Mon, 17 May 2021 18:14:19 +0200 (CEST) Received: from youngberry.canonical.com (youngberry.canonical.com [91.189.89.112]) by mails.dpdk.org (Postfix) with ESMTP id 8088740041 for ; Mon, 17 May 2021 18:14:16 +0200 (CEST) Received: from 2.general.paelzer.uk.vpn ([10.172.196.173] helo=Keschdeichel.fritz.box) by youngberry.canonical.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.93) (envelope-from ) id 1lifsm-00082m-BE; Mon, 17 May 2021 16:14:16 +0000 From: Christian Ehrhardt To: Chengwen Feng Cc: Min Hu , dpdk stable Date: Mon, 17 May 2021 18:08:44 +0200 Message-Id: <20210517161039.3132619-95-christian.ehrhardt@canonical.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210517161039.3132619-1-christian.ehrhardt@canonical.com> References: <20210517161039.3132619-1-christian.ehrhardt@canonical.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-stable] patch 'net/hns3: fix flow counter value' has been queued to stable release 19.11.9 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.9 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/19/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/63113e94cd161e926d4bfbdaf67d552ce9529327 Thanks. Christian Ehrhardt --- >From 63113e94cd161e926d4bfbdaf67d552ce9529327 Mon Sep 17 00:00:00 2001 From: Chengwen Feng Date: Wed, 31 Mar 2021 18:01:40 +0800 Subject: [PATCH] net/hns3: fix flow counter value [ upstream commit a06c3b0e9f0a4807ee8ac145f58284ec49f2f33d ] User could create flow rules with specified counter by the action of RTE_FLOW_ACTION_TYPE_COUNT, but the counter may retain the original value when create. This patch fix the bug by read the counter when creating the rule because the counter is read-clear. Fixes: fcba820d9b9e ("net/hns3: support flow director") Signed-off-by: Chengwen Feng Signed-off-by: Min Hu (Connor) --- drivers/net/hns3/hns3_flow.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/net/hns3/hns3_flow.c b/drivers/net/hns3/hns3_flow.c index 5d9d30624c..a726be747b 100644 --- a/drivers/net/hns3/hns3_flow.c +++ b/drivers/net/hns3/hns3_flow.c @@ -120,7 +120,10 @@ hns3_counter_new(struct rte_eth_dev *dev, uint32_t shared, uint32_t id, { struct hns3_adapter *hns = dev->data->dev_private; struct hns3_pf *pf = &hns->pf; + struct hns3_hw *hw = &hns->hw; struct hns3_flow_counter *cnt; + uint64_t value; + int ret; cnt = hns3_counter_lookup(dev, id); if (cnt) { @@ -133,6 +136,13 @@ hns3_counter_new(struct rte_eth_dev *dev, uint32_t shared, uint32_t id, return 0; } + /* Clear the counter by read ops because the counter is read-clear */ + ret = hns3_get_count(hw, id, &value); + if (ret) + return rte_flow_error_set(error, EIO, + RTE_FLOW_ERROR_TYPE_HANDLE, NULL, + "Clear counter failed!"); + cnt = rte_zmalloc("hns3 counter", sizeof(*cnt), 0); if (cnt == NULL) return rte_flow_error_set(error, ENOMEM, -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-05-17 17:40:33.216281766 +0200 +++ 0095-net-hns3-fix-flow-counter-value.patch 2021-05-17 17:40:29.303810514 +0200 @@ -1 +1 @@ -From a06c3b0e9f0a4807ee8ac145f58284ec49f2f33d Mon Sep 17 00:00:00 2001 +From 63113e94cd161e926d4bfbdaf67d552ce9529327 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit a06c3b0e9f0a4807ee8ac145f58284ec49f2f33d ] + @@ -14 +15,0 @@ -Cc: stable@dpdk.org @@ -23 +24 @@ -index 711eed3f54..098b191909 100644 +index 5d9d30624c..a726be747b 100644 @@ -26 +27 @@ -@@ -158,7 +158,10 @@ hns3_counter_new(struct rte_eth_dev *dev, uint32_t shared, uint32_t id, +@@ -120,7 +120,10 @@ hns3_counter_new(struct rte_eth_dev *dev, uint32_t shared, uint32_t id, @@ -37 +38 @@ -@@ -171,6 +174,13 @@ hns3_counter_new(struct rte_eth_dev *dev, uint32_t shared, uint32_t id, +@@ -133,6 +136,13 @@ hns3_counter_new(struct rte_eth_dev *dev, uint32_t shared, uint32_t id,