}
retval = rte_eth_dev_configure(port, rx_rings, tx_rings, &port_conf);
+ if (retval == -EINVAL) {
+ printf("Port %u configuration failed. Re-attempting with HW checksum disabled.\n",
+ port);
+ port_conf.rxmode.offloads &= ~(RTE_ETH_RX_OFFLOAD_CHECKSUM);
+ retval = rte_eth_dev_configure(port, rx_rings, tx_rings, &port_conf);
+ }
+
+ if (retval == -ENOTSUP) {
+ printf("Port %u configuration failed. Re-attempting with HW RSS disabled.\n",
+ port);
+ port_conf.rxmode.mq_mode &= ~(RTE_ETH_MQ_RX_RSS);
+ retval = rte_eth_dev_configure(port, rx_rings, tx_rings, &port_conf);
+ }
+
if (retval < 0)
return retval;