netdev-dpdk: Retry tx/rx queue setup until we don't get any failure.
authorDaniele Di Proietto <diproiettod@vmware.com>
Thu, 16 Jul 2015 18:48:24 +0000 (19:48 +0100)
committerEthan Jackson <ethan@nicira.com>
Thu, 6 Aug 2015 20:56:34 +0000 (13:56 -0700)
commit5e5e472f8f0ce18a07d25a3a8cf193f1fa3e7733
treeeecbe66a06d448c21464e37b70ed864440e2b65d
parent1efcf58ace110e71872cc2bb8825d69284ebc299
netdev-dpdk: Retry tx/rx queue setup until we don't get any failure.

It has been observed that some DPDK device (e.g intel xl710) report an
high number of queues but make some of them available only for special
functions (SRIOV).  Therefore the queues will be counted in
rte_eth_dev_info_get(), but rte_eth_tx_queue_setup() will fail.

This commit works around the issue by retrying the device initialization
with a smaller number of queues, if a queue fails to setup.

Reported-by: Ian Stokes <ian.stokes@intel.com>
Tested-by: Ian Stokes <ian.stokes@intel.com>
Acked-by: Kevin Traynor <kevin.traynor@intel.com>
Signed-off-by: Daniele Di Proietto <diproiettod@vmware.com>
Signed-off-by: Ethan Jackson <ethan@nicira.com>
lib/netdev-dpdk.c