Yes Bruce, rte_eth_tx_burst api returns the same count as nb_pkts (4th-arg)

Thanks for pointing out the information on tracking per-queue stats mapping, can try this out. 

Thanks & Regards,
Rajasekhar

On Fri, Feb 17, 2023 at 10:09 PM Bruce Richardson <bruce.richardson@intel.com> wrote:
On Fri, Feb 17, 2023 at 11:30:14AM +0530, Rajasekhar Pulluru wrote:
>    Ok Stephen, thanks for the information, I can try that.
>    One of the problems I see with single Tx Queue mode is that Ixia
>    reports packet drops, though I confirmed with the help of counters
>    (before invoking tx burst) that all packets are being sent-out. Dumping
>    HW counters don't report any drops in TX.
>    Is there a mechanism in DPDK to debug this?
>    Thanks & Regards,
>    Rajasekhar
>
Hi,

so long as the packets are written successfully to the TX ring, they should
be send out ok - unless the actual packets are some way invalid, e.g.
undersized. Are the tx_burst calls reporting that all packets are getting
written to the ring?  All packets successfully written should be reported
as received at the other end.

In terms of the NIC TX stats, I'm not sure about for the ixgbe driver, but
I think in some cases to get per-queue stats, you needed to set up a
mapping of what queues you wanted to track stats for, as the NIC could only
track a certain number of queues - fewer than that available in HW.  See
function [1]. For tracking transmits per queue, it's generally easier just
to have the app track the successful enqueues to the ring. This is what
testpmd does internally for queue stats, I believe (though for port stats
it reads hardware).

/Bruce

[1] https://doc.dpdk.org/api/rte__ethdev_8h.html#a56fae7e398b289f795a1b6256149c4f3