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: sta...@dpdk.org

Reported-by: Cian Ferriter <cian.ferri...@intel.com>
Signed-off-by: Ferruh Yigit <ferruh.yi...@intel.com>
---
 drivers/net/pcap/rte_eth_pcap.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/pcap/rte_eth_pcap.c b/drivers/net/pcap/rte_eth_pcap.c
index ff02ade70d1a..c7751b7ba742 100644
--- a/drivers/net/pcap/rte_eth_pcap.c
+++ b/drivers/net/pcap/rte_eth_pcap.c
@@ -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]);
        }
 
-- 
2.29.2

Reply via email to