[dpdk-dev] rte_eth_rx_burst only returns up to 32 packets

Masoud Moshref Javadi masood.moshref.j at gmail.com
Fri Aug 28 21:04:12 CEST 2015


Hi,

The documentation of this method says: Applications implementing a 
"retrieve as much received packets as possible" policy can check this 
specific case and keep invoking the rte_eth_rx_burst() 
<http://dpdk.org/doc/api/rte__ethdev_8h.html#aee7daffe261e67355a78b106627c4c45>function 
until a value less than nb_pkts is returned.

But the function returns at most 32 packets regardless of the burst size 
parameter (nb_pkts). For example when I set the burst size to 256, it 
only returns 32 packets even though the queue has more packets. This 
means that I cannot rely on the returned value to know if there are > 
256 packets in the queue or not.

Where this number 32 comes from? Is it because "PMD: 
ixgbe_set_rx_function(): Vector rx enabled, please make sure RX burst 
size no less than 32." ?

I use DPDK 2.0.0 and Intel 82599 10 G NIC.

Thanks


More information about the dev mailing list