[dpdk-dev] NIC Stops Transmitting

Stephen Hemminger stephen at networkplumber.org
Fri Jul 26 21:53:22 CEST 2013


On Fri, 26 Jul 2013 15:39:18 -0400 (EDT)
Scott Talbert <swt at techie.net> wrote:

> Hi,
> 
> I'm writing an application using DPDK that transmits a large number of 
> packets (it doesn't receive any).  When I transmit at 2 Gb/sec, everything 
> will run fine for several seconds (receiver is receiving at correct rate), 
> but then the NIC appears to get 'stuck' and doesn't transmit any more 
> packets.  In this state, rte_eth_tx_burst() is returning zero (suggesting 
> that there are no available transmit descriptors), but even if I sleep() 
> for a second and try again, rte_eth_tx_burst() still returns 0.  It almost 
> appears as if a packet gets stuck in the transmit ring and keeps 
> everything from flowing.  I'm using an Intel 82599EB NIC.
> 
> Does anyone have any ideas of what might be going on?
> 
> Thanks,
> Scott

Make sure there is enough memory for mbufs.
Also what is your ring size and transmit free threshold?
It is easy to instrument the driver to see where it is saying "no space left"
Also be careful with threshold values, many values of pthresh/hthresh/wthresh
don't work. I would check the Intel reference manual for your hardware.


More information about the dev mailing list