Hello Chris, On 02/09/2017 02:14 AM, Chris Hall wrote:
I’m having a bit of trouble running the l3fwd example program, I keep getting the error “rte_eth_rx_queue_setup: err=-22” No matter what options I supply. Wondering if I’m missing something ?
The problem is that almost all (all except testpmd which has command-line option to override default) DPDK example application use hardcoded number of the Rx/Tx descriptors instead of usage of limits advertised by PMD in rte_eth_dev_info_get() (structure rte_eth_dev_info, member rx_desc_lim). The following tiny patch solves the problem, but it is still hardcode (better and right solution is to write few lines of code which adjust defaults using information provided by the PMD - we have plans, since sfc_efx PMD is affected, to run through example applications and suggest patches)
=== diff --git a/examples/l3fwd/main.c b/examples/l3fwd/main.c index a50d628..1cc6465 100644 --- a/examples/l3fwd/main.c +++ b/examples/l3fwd/main.c @@ -82,7 +82,7 @@ /* * Configurable number of RX/TX ring descriptors */ -#define RTE_TEST_RX_DESC_DEFAULT 128 +#define RTE_TEST_RX_DESC_DEFAULT 512 #define RTE_TEST_TX_DESC_DEFAULT 512 #define MAX_TX_QUEUE_PER_PORT RTE_MAX_ETHPORTS === Andrew.
