Return of error was removed to mitigate possible breakage of old applications which are not converted to the new offload API yet. However, old Rx offload API has no per queue controls and Rx queue offloads are derived from the device Rx mode bitfields exactly in the same way as it is done on configure. Device level Rx offloads are removed from queue offloads, so Rx queue offloads should be empty if old Rx offload API is used.
Fixes: d04dd6d4ed67 ("ethdev: new Rx/Tx offloads API") Signed-off-by: Andrew Rybchenko <arybche...@solarflare.com> --- lib/librte_ethdev/rte_ethdev.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c index 60577efcf..938ec5638 100644 --- a/lib/librte_ethdev/rte_ethdev.c +++ b/lib/librte_ethdev/rte_ethdev.c @@ -1580,6 +1580,7 @@ rte_eth_rx_queue_setup(uint16_t port_id, uint16_t rx_queue_id, local_conf.offloads, dev_info.rx_queue_offload_capa, __func__); + return -EINVAL; } ret = (*dev->dev_ops->rx_queue_setup)(dev, rx_queue_id, nb_rx_desc, -- 2.17.0