[dpdk-dev] transmit functions of dpdk

Sachin Sharma sharonsachin at gmail.com
Wed Dec 10 12:31:27 CET 2014


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
>


More information about the dev mailing list