[dpdk-users] rte_eth_tx_burst keeps returning 0 upon reaching TX throughput

Olivier Deme odeme at druidsoftware.com
Tue Nov 20 18:18:29 CET 2018


I am currently experiencing an issue with our DPDK application
whereby rte_eth_tx_burst keeps returning 0 upon reaching a certain output

Our application is based on the run to completion model.
Packets are read in burst using rte_eth_rx_burst, processed and then sent
in burst by the same lcore using rte_eth_tx_burst.

An external application generates test traffic.

We are currently using only 1 lcore and trying to verify how much traffic
can be switched on that single core, before testing with multiple cores.

Everything appears to be working fine up to around 5Gbs of traffic.
But then, upon generating more traffic, we observe that rte_eth_tx_burst
starts failing consistently by returning 0 on every call.
We checked that the mempool has many free mbufs.
We also observed that when the problem occurs, a call to
rte_eth_link_get_nowait indicates that the link_speed has switched to 0
(while it wasn't 0 beforehand).

The only way to recover is to restart the application.

We are using a XL710 NIC within an LXC container.

Would anybody know what could cause this behaviour?

Many thanks.

More information about the users mailing list