Hi Bruce, In my use case, I want to have three NIC TX queues per port, and want to fill one NIC TX queue and want to empty the other queue. Is it possible this through tx_burst or do I need to implement these queues in applications as you suggested before. However, in this case, I would have then one NIC TX queues and three queues in an application which actually transmits packets to this NIC TX queue. Am I right?
Thanks, Sachin. On Wed, Dec 10, 2014 at 12:22 PM, Bruce Richardson < bruce.richardson at intel.com> wrote: > On Wed, Dec 10, 2014 at 12:03:41PM +0100, Sachin Sharma wrote: > > Dear all, > > > > In my algorithm, I am interested to perform two activities - (1) > > transmitting packets to a tx_queue and (2) transmitting packets from > > tx_queue to a wire - separately. I have gone through the code by putting > > logs in the dpdk code and found that there is a function rte_eth_tx_burst > > which transmits packets to a specific queue. However, when I debugged > more > > then I found that this function just calls eth_igb_xmit_pkts > > from librte_pmd_e1000, and this function just directly write the packets > to > > the wire by writing all packets into registers. Could you please suggest > > how to implement these two functions if these are not implemented already > > in dpdk? > > > > > > > > Thanks & Regards, > > Sachin. > > Hi Sachin, > > anything written to the NIC TX queue is automatically put onto the wire > unless > the NIC port is down or the wire is unplugged etc. What is your use-case > that you > need to do this? I would suggest doing internal buffering in your > application, > as many DPDK example applications do, and then call tx_burst to put your > packets > on the wire when you want this capability. > > Regards, > /Bruce >