net/pcap: fix byte stats for drop Tx
authorFerruh Yigit <ferruh.yigit@intel.com>
Wed, 3 Feb 2021 17:30:25 +0000 (17:30 +0000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Thu, 4 Feb 2021 17:19:37 +0000 (18:19 +0100)
Drop Tx path in pcap is Tx that just drops the packets, which is used
for the case only Rx from a pcap file is requested/matters.

The byte stats was calculated using first mbuf segment, which gives
wrong values for multi segmented mbufs, updated to use packet length
instead.

Bugzilla ID: 597
Fixes: a3f5252e5cbd ("net/pcap: enable infinitely Rx a pcap file")
Cc: stable@dpdk.org
Reported-by: Cian Ferriter <cian.ferriter@intel.com>
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Cian Ferriter <cian.ferriter@intel.com>
drivers/net/pcap/rte_eth_pcap.c

index ff02ade..c7751b7 100644 (file)
@@ -386,7 +386,7 @@ eth_tx_drop(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
                return 0;
 
        for (i = 0; i < nb_pkts; i++) {
-               tx_bytes += bufs[i]->data_len;
+               tx_bytes += bufs[i]->pkt_len;
                rte_pktmbuf_free(bufs[i]);
        }