Re: transmit functions of dpdk
From: Sachin Sharma <hidden>
Date: 2014-12-10 11:31:27
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-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> wrote:
On Wed, Dec 10, 2014 at 12:03:41PM +0100, Sachin Sharma wrote:quoted
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 debuggedmorequoted
then I found that this function just calls eth_igb_xmit_pkts from librte_pmd_e1000, and this function just directly write the packetstoquoted
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