sync patches from 22.07 for hns3, dma and testpmd etc. Signed-off-by: Dongdong Liu <liudongdong3@huawei.com> (cherry picked from commit 7beb6a72fff2920a2d993030b0b02822249707fb)
57 lines
1.7 KiB
Diff
57 lines
1.7 KiB
Diff
From fc8702a84b7e794ab95aac021aa2cc3b4c92c5cd Mon Sep 17 00:00:00 2001
|
|
From: Chengwen Feng <fengchengwen@huawei.com>
|
|
Date: Fri, 13 May 2022 10:53:54 +0800
|
|
Subject: [PATCH 092/122] net/axgbe: fix xstats get return if xstats is null
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
Many user (e.g. telemetry) invokes rte_eth_xstats_get(port_id, NULL, 0)
|
|
to retrieve the required number of elements, but currently axgbe PMD
|
|
returns zero when xstats is null.
|
|
|
|
Remove the logic of "return zero when xstats is NULL", and add the logic
|
|
of "return the required number of entries when n is lower than the
|
|
required number of entries".
|
|
|
|
Fixes: 9d1ef6b2e731 ("net/axgbe: add xstats")
|
|
Cc: stable@dpdk.org
|
|
|
|
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
|
|
Acked-by: Morten Brørup <mb@smartsharesystems.com>
|
|
Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
|
|
---
|
|
drivers/net/axgbe/axgbe_ethdev.c | 8 ++++----
|
|
1 file changed, 4 insertions(+), 4 deletions(-)
|
|
|
|
diff --git a/drivers/net/axgbe/axgbe_ethdev.c b/drivers/net/axgbe/axgbe_ethdev.c
|
|
index 7d40c18a86..b209ab67cf 100644
|
|
--- a/drivers/net/axgbe/axgbe_ethdev.c
|
|
+++ b/drivers/net/axgbe/axgbe_ethdev.c
|
|
@@ -1009,18 +1009,18 @@ axgbe_dev_xstats_get(struct rte_eth_dev *dev, struct rte_eth_xstat *stats,
|
|
struct axgbe_port *pdata = dev->data->dev_private;
|
|
unsigned int i;
|
|
|
|
- if (!stats)
|
|
- return 0;
|
|
+ if (n < AXGBE_XSTATS_COUNT)
|
|
+ return AXGBE_XSTATS_COUNT;
|
|
|
|
axgbe_read_mmc_stats(pdata);
|
|
|
|
- for (i = 0; i < n && i < AXGBE_XSTATS_COUNT; i++) {
|
|
+ for (i = 0; i < AXGBE_XSTATS_COUNT; i++) {
|
|
stats[i].id = i;
|
|
stats[i].value = *(u64 *)((uint8_t *)&pdata->mmc_stats +
|
|
axgbe_xstats_strings[i].offset);
|
|
}
|
|
|
|
- return i;
|
|
+ return AXGBE_XSTATS_COUNT;
|
|
}
|
|
|
|
static int
|
|
--
|
|
2.22.0
|
|
|