dpdk: validate number of tx descriptors
The default number of tx descriptors per queue is 1024. On some device types, this is larger than the maximum allowed value and rte_eth_tx_queue_setup() can return an error. Compare the configured value to the maximum value for each device and set the configured value to the maximum value if the configured value is larger. Type: improvement Signed-off-by: Matthew Smith <mgsmith@netgate.com> Change-Id: Ie29c5c6d58c76388f65f266032821140b0f879fb
This commit is contained in:
@ -503,6 +503,14 @@ dpdk_lib_init (dpdk_main_t * dm)
|
||||
else if (dr && dr->n_tx_desc)
|
||||
xd->conf.n_tx_desc = dr->n_tx_desc;
|
||||
|
||||
if (xd->conf.n_tx_desc > di.tx_desc_lim.nb_max)
|
||||
{
|
||||
dpdk_log_warn ("[%u] Configured number of TX descriptors (%u) is "
|
||||
"bigger than maximum supported (%u)",
|
||||
port_id, xd->conf.n_tx_desc, di.tx_desc_lim.nb_max);
|
||||
xd->conf.n_tx_desc = di.tx_desc_lim.nb_max;
|
||||
}
|
||||
|
||||
dpdk_log_debug (
|
||||
"[%u] n_rx_queues: %u n_tx_queues: %u n_rx_desc: %u n_tx_desc: %u",
|
||||
port_id, xd->conf.n_rx_queues, xd->conf.n_tx_queues,
|
||||
|
Reference in New Issue
Block a user