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 74F99A0547 for ; Tue, 9 Feb 2021 04:14:46 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 05A971606C6; Tue, 9 Feb 2021 04:14:46 +0100 (CET) Received: from szxga04-in.huawei.com (szxga04-in.huawei.com [45.249.212.190]) by mails.dpdk.org (Postfix) with ESMTP id 964C640147 for ; Tue, 9 Feb 2021 04:14:44 +0100 (CET) Received: from DGGEMS406-HUB.china.huawei.com (unknown [172.30.72.58]) by szxga04-in.huawei.com (SkyGuard) with ESMTP id 4DZSd51Vz8zlHwM; Tue, 9 Feb 2021 11:12:57 +0800 (CST) Received: from localhost.localdomain (10.69.192.56) by DGGEMS406-HUB.china.huawei.com (10.3.19.206) with Microsoft SMTP Server id 14.3.498.0; Tue, 9 Feb 2021 11:14:38 +0800 From: "Min Hu (Connor)" To: CC: , Date: Tue, 9 Feb 2021 11:14:06 +0800 Message-ID: <1612840447-56296-2-git-send-email-humin29@huawei.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1612840447-56296-1-git-send-email-humin29@huawei.com> References: <1612840447-56296-1-git-send-email-humin29@huawei.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.69.192.56] X-CFilter-Loop: Reflected Subject: [dpdk-stable] [PATCH 19.11 1/2] net/hns3: fix Rx/Tx errors stats 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" From: Huisong Li [ upstream commit ec12dc5a554ab4f8dd8a90cab54426dfa685ba80 ] Abnormal errors stats in Rx/Tx datapath are statistics items in driver, and displayed in xstats. They should be cleared by the rte_eth_xstats_reset api, instead of the rte_eth_stats_reset. Fixes: bba636698316 ("net/hns3: support Rx/Tx and related operations") Cc: stable@dpdk.org --- drivers/net/hns3/hns3_stats.c | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/drivers/net/hns3/hns3_stats.c b/drivers/net/hns3/hns3_stats.c index 10cc757..4cf5e8f 100644 --- a/drivers/net/hns3/hns3_stats.c +++ b/drivers/net/hns3/hns3_stats.c @@ -505,16 +505,15 @@ hns3_stats_reset(struct rte_eth_dev *eth_dev) } } - /* Clear Rx BD and Tx error stats */ + /* + * Clear soft stats of rx error packet which will be dropped + * in driver. + */ for (i = 0; i != eth_dev->data->nb_rx_queues; ++i) { rxq = eth_dev->data->rx_queues[i]; if (rxq) { rxq->pkt_len_errors = 0; rxq->l2_errors = 0; - rxq->l3_csum_erros = 0; - rxq->l4_csum_erros = 0; - rxq->ol3_csum_erros = 0; - rxq->ol4_csum_erros = 0; } } @@ -914,7 +913,9 @@ hns3_dev_xstats_reset(struct rte_eth_dev *dev) { struct hns3_adapter *hns = dev->data->dev_private; struct hns3_pf *pf = &hns->pf; + struct hns3_rx_queue *rxq; int ret; + int i; /* Clear tqp stats */ ret = hns3_stats_reset(dev); @@ -924,6 +925,17 @@ hns3_dev_xstats_reset(struct rte_eth_dev *dev) /* Clear reset stats */ memset(&hns->hw.reset.stats, 0, sizeof(struct hns3_reset_stats)); + /* Clear Rx checksum error stats */ + for (i = 0; i < dev->data->nb_rx_queues; ++i) { + rxq = dev->data->rx_queues[i]; + if (rxq) { + rxq->l3_csum_erros = 0; + rxq->l4_csum_erros = 0; + rxq->ol3_csum_erros = 0; + rxq->ol4_csum_erros = 0; + } + } + if (hns->is_vf) return 0; -- 2.7.4