On Thu, 16 Feb 2023 23:40:27 +0530 Rajasekhar Pulluru <pullururajasek...@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.