public inbox for dev@dpdk.org
 help / color / mirror / Atom feed
* [PATCH] net/null: fix Tx statistics accumulation
@ 2026-01-29  9:03 Zhanibek Bakin
  2026-01-29 20:17 ` Stephen Hemminger
  0 siblings, 1 reply; 3+ messages in thread
From: Zhanibek Bakin @ 2026-01-29  9:03 UTC (permalink / raw)
  To: dev; +Cc: mtetsuyah, stephen, Zhanibek Bakin, stable

The eth_stats_get() function incorrectly uses assignment (=) instead
of accumulation (+=) for opackets and obytes in the TX queue loop.
This causes only the last TX queue's statistics to be reported,
while the RX side correctly uses +=.

Fixes: 31326ce7f151 ("net/null: count all queues")
Cc: stable@dpdk.org

Signed-off-by: Zhanibek Bakin <zhanibek.bakin@gmail.com>
---
v2: Fixed Fixes tag to use 12-character hash
---
 drivers/net/null/rte_eth_null.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/null/rte_eth_null.c b/drivers/net/null/rte_eth_null.c
index 46e7e7bd8c..7fba3a661b 100644
--- a/drivers/net/null/rte_eth_null.c
+++ b/drivers/net/null/rte_eth_null.c
@@ -345,8 +345,8 @@ eth_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats,
 		pkts = rte_atomic_load_explicit(&q->tx_pkts, rte_memory_order_relaxed);
 		bytes = rte_atomic_load_explicit(&q->tx_bytes, rte_memory_order_relaxed);
 
-		stats->opackets = pkts;
-		stats->obytes = bytes;
+		stats->opackets += pkts;
+		stats->obytes += bytes;
 
 		if (qstats != NULL && i < RTE_ETHDEV_QUEUE_STAT_CNTRS) {
 			qstats->q_opackets[i] = pkts;
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread
* [PATCH] net/null: fix Tx statistics accumulation
@ 2026-01-29  8:51 Zhanibek Bakin
  0 siblings, 0 replies; 3+ messages in thread
From: Zhanibek Bakin @ 2026-01-29  8:51 UTC (permalink / raw)
  To: dev; +Cc: mtetsuyah, stephen, Zhanibek Bakin, stable

The eth_stats_get() function incorrectly uses assignment (=) instead
of accumulation (+=) for opackets and obytes in the TX queue loop.
This causes only the last TX queue's statistics to be reported,
while the RX side correctly uses +=.

Fixes: 31326ce7f15 ("net/null: count all queues")
Cc: stable@dpdk.org

Signed-off-by: Zhanibek Bakin <zhanibek.bakin@gmail.com>
---
 drivers/net/null/rte_eth_null.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/null/rte_eth_null.c b/drivers/net/null/rte_eth_null.c
index 46e7e7bd8c..7fba3a661b 100644
--- a/drivers/net/null/rte_eth_null.c
+++ b/drivers/net/null/rte_eth_null.c
@@ -345,8 +345,8 @@ eth_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats,
 		pkts = rte_atomic_load_explicit(&q->tx_pkts, rte_memory_order_relaxed);
 		bytes = rte_atomic_load_explicit(&q->tx_bytes, rte_memory_order_relaxed);
 
-		stats->opackets = pkts;
-		stats->obytes = bytes;
+		stats->opackets += pkts;
+		stats->obytes += bytes;
 
 		if (qstats != NULL && i < RTE_ETHDEV_QUEUE_STAT_CNTRS) {
 			qstats->q_opackets[i] = pkts;
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-01-29 20:17 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-29  9:03 [PATCH] net/null: fix Tx statistics accumulation Zhanibek Bakin
2026-01-29 20:17 ` Stephen Hemminger
  -- strict thread matches above, loose matches on Subject: below --
2026-01-29  8:51 Zhanibek Bakin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox