From patchwork Fri Jan 15 06:57:08 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Wang, Haiyue" X-Patchwork-Id: 86657 X-Patchwork-Delegate: qi.z.zhang@intel.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0C285A0A02; Fri, 15 Jan 2021 08:12:57 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 77376140D47; Fri, 15 Jan 2021 08:12:56 +0100 (CET) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mails.dpdk.org (Postfix) with ESMTP id 5D645140D43 for ; Fri, 15 Jan 2021 08:12:54 +0100 (CET) IronPort-SDR: 20z84nZPNxJ8lnCuWFuJOMPakiWO7VJ61crcz03lk4iat/85iAHqdUV/H+47OtBHh0NT1jyAI9 8R6kg/s7gCAQ== X-IronPort-AV: E=McAfee;i="6000,8403,9864"; a="175930978" X-IronPort-AV: E=Sophos;i="5.79,348,1602572400"; d="scan'208";a="175930978" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Jan 2021 23:12:51 -0800 IronPort-SDR: HOVpQcviM2U3/uVhOBbBI7BPWpUk7PC/Uz8R0s8Gf9Hyvvf9mDt/dianx1+Oylzjuv+D5xNCZX kC8lqec4QGwg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.79,348,1602572400"; d="scan'208";a="572543884" Received: from npg-dpdk-haiyue-3.sh.intel.com ([10.67.118.220]) by fmsmga005.fm.intel.com with ESMTP; 14 Jan 2021 23:12:50 -0800 From: Haiyue Wang To: dev@dpdk.org Cc: qiming.yang@intel.com, qi.z.zhang@intel.com, qi.fu@intel.com, Haiyue Wang , Jingjing Wu , Beilei Xing Date: Fri, 15 Jan 2021 14:57:08 +0800 Message-Id: <20210115065708.43641-1-haiyue.wang@intel.com> X-Mailer: git-send-email 2.30.0 MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v1] net/iavf: adjust the CRC statistics calculation X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" The AVF can support to enable / disable CRC strip, so it needs to adjust the statistics calculation for ibytes according to offload setting. Signed-off-by: Haiyue Wang Acked-by: Qi Zhang --- drivers/net/iavf/iavf_ethdev.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c index e22c62ed0..87e606273 100644 --- a/drivers/net/iavf/iavf_ethdev.c +++ b/drivers/net/iavf/iavf_ethdev.c @@ -1413,6 +1413,9 @@ iavf_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) ret = iavf_query_stats(adapter, &pstats); if (ret == 0) { + uint8_t crc_stats_len = (dev->data->dev_conf.rxmode.offloads & + DEV_RX_OFFLOAD_KEEP_CRC) ? 0 : + RTE_ETHER_CRC_LEN; iavf_update_stats(vsi, pstats); stats->ipackets = pstats->rx_unicast + pstats->rx_multicast + pstats->rx_broadcast - pstats->rx_discards; @@ -1421,7 +1424,7 @@ iavf_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) stats->imissed = pstats->rx_discards; stats->oerrors = pstats->tx_errors + pstats->tx_discards; stats->ibytes = pstats->rx_bytes; - stats->ibytes -= stats->ipackets * RTE_ETHER_CRC_LEN; + stats->ibytes -= stats->ipackets * crc_stats_len; stats->obytes = pstats->tx_bytes; } else { PMD_DRV_LOG(ERR, "Get statistics failed");