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

On Fri, Feb 17, 2023 at 1:21 AM Stephen Hemminger <stephen@networkplumber.org> wrote:
On Thu, 16 Feb 2023 23:40:27 +0530
Rajasekhar Pulluru <pullururajasekhar@gmail.com> wrote:

> Hi Team,
>
> I am trying to set-up 8 Tx-Queues (but only 1 Rx-Queue) and burst traffic
> out of different Tx-Queues from the same cpu core on an ixgbe nic (10G).
> Although transmitted packets reach the peer, reading the statistics
> indicates only the Tx-q[0] has non-zero packets and bytes count, the rest
> of the Tx-q[1] to Tx-q[7] all have zero packets and bytes count.
>
> I am following the below sequence.
>
> 1. configuration
> rte_eth_dev_configure(port-id, 1 /* only 1 rx-q */, 8 /* tx-queues */,
> &dev_conf /* memset of 0 on this dev_conf done */);
>
> 2. tx queue set-up
> struct rte_eth_dev_info dev_info;
> rte_eth_dev_info_get(port-id, &dev_info);
>
> struct rte_eth_txconf tx_conf;
> memcpy(&tx_conf, &dev_info.default_txconf, sizeof tx_conf);
> for(i=0; i<8; i++) {
> rte_eth_tx_queue_setup(port-id, i /* queue-id */, 1024 /* num_of_txdesc */,
> numa_node, &tx_conf;)
> }
>
> 3. rx queue set-up
> rte_eth_rx_queue_setup(port-id, 0, 1024 /* num_of_rxdesc */, &rx_conf,
> mbuf_pool);
>
> 4. start the port
> rte_eth_dev_start(port-id);
>
> 5. call the below tx burst function with different queue-id (range 0 to 7)
> every-time for every burst of new packets to be transmitted
> rte_eth_tx_burst(port-id, queue-id, pkts_burst, nb_pkts_burst);
>
> 6. read stats using rte_eth_xstats_get and verified that only the first
> tx-q has non-zero packets and bytes count, rest of the tx-q's have 0
> packets and bytes count.
>
> What could be wrong here? Appreciate any help.
>
> Thanks & Regards,
> Rajasekhar
> ReplyForward

Depending on the type of NIC, some share a signal completion channel
for both RX and TX. If the Rx channel is not polled, than transmit completions
may not happen.