There is an inconsistency at displaying Tx dropped value for per port
forwarding stats and accumulated forwarding stats.

While displaying per port TX-dropped value, it only takes
'ports_stats[pt_id].tx_dropped' into account,
but for accumulated TX-dropped results it takes both
'ports_stats[pt_id].tx_dropped' & 'stats.oerrors' into account.

To fix, make both per port and accumulated stats display 'tx_dropped'
and 'stats.oerrors' (ports_stats[pt_id].tx_dropped + stats.oerrors).

Fixes: 53324971a14e ("app/testpmd: display/clear forwarding stats on demand")
Cc: sta...@dpdk.org

Reported-by: Joshua Washington <joshw...@google.com>
Signed-off-by: Ferruh Yigit <ferruh.yi...@amd.com>
---

Cc: david.march...@redhat.com

Mail list reference:
https://inbox.dpdk.org/dev/a440ab60-9624-f21e-396a-239bdf2aa...@amd.com/
---
 app/test-pmd/testpmd.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
index 60eb9579ded1..6f4749b8af0c 100644
--- a/app/test-pmd/testpmd.c
+++ b/app/test-pmd/testpmd.c
@@ -2057,6 +2057,8 @@ fwd_stats_display(void)
                        fwd_cycles += fs->core_cycles;
        }
        for (i = 0; i < cur_fwd_config.nb_fwd_ports; i++) {
+               uint64_t tx_dropped = 0;
+
                pt_id = fwd_ports_ids[i];
                port = &ports[pt_id];
 
@@ -2078,8 +2080,9 @@ fwd_stats_display(void)
                total_recv += stats.ipackets;
                total_xmit += stats.opackets;
                total_rx_dropped += stats.imissed;
-               total_tx_dropped += ports_stats[pt_id].tx_dropped;
-               total_tx_dropped += stats.oerrors;
+               tx_dropped += ports_stats[pt_id].tx_dropped;
+               tx_dropped += stats.oerrors;
+               total_tx_dropped += tx_dropped;
                total_rx_nombuf  += stats.rx_nombuf;
 
                printf("\n  %s Forward statistics for port %-2d %s\n",
@@ -2106,8 +2109,8 @@ fwd_stats_display(void)
 
                printf("  TX-packets: %-14"PRIu64" TX-dropped: %-14"PRIu64
                       "TX-total: %-"PRIu64"\n",
-                      stats.opackets, ports_stats[pt_id].tx_dropped,
-                      stats.opackets + ports_stats[pt_id].tx_dropped);
+                      stats.opackets, tx_dropped,
+                      stats.opackets + tx_dropped);
 
                if (record_burst_stats) {
                        if (ports_stats[pt_id].rx_stream)
-- 
2.25.1

Reply via email to