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:43:41 +0000 (13:43 -0700)
commitb98d7669d7c96c6d1cf8b30809faaacb1681b9e4
treedbe5e60f1d441910b46b10491e35f421ec66622a
parent6728d578f64e124d9905f1d48899226405cb85ae
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