When writev fails to send packets it doesn't update the number of Tx packets, but it still num_tx is updated.
the value that should be returned is the actual number of sent packets which is num_packets. Fixes: 02f96a0a ("net/tap: add TUN/TAP device PMD") CC: sta...@dpdk.org Signed-off-by: Raslan Darawsheh <rasl...@mellanox.com> --- drivers/net/tap/rte_eth_tap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c index 83c9288..228add2 100644 --- a/drivers/net/tap/rte_eth_tap.c +++ b/drivers/net/tap/rte_eth_tap.c @@ -707,7 +707,7 @@ pmd_tx_burst(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts) txq->stats.errs += nb_pkts - num_tx; txq->stats.obytes += num_tx_bytes; - return num_tx; + return num_packets; } static const char * -- 2.7.4