The default values of rx mq_mode and rx offloads for port will cause symmetric_mp startup failure if the port do not support rss or csum. This Patch make the app to reconfigure the NIC without them. Only quit the app if the second reconfiguration fails.
Signed-off-by: Wenwu Ma <wenwux...@intel.com> --- examples/multi_process/symmetric_mp/main.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/examples/multi_process/symmetric_mp/main.c b/examples/multi_process/symmetric_mp/main.c index 050337765f..c0e7ed70e0 100644 --- a/examples/multi_process/symmetric_mp/main.c +++ b/examples/multi_process/symmetric_mp/main.c @@ -232,6 +232,20 @@ smp_port_init(uint16_t port, struct rte_mempool *mbuf_pool, } retval = rte_eth_dev_configure(port, rx_rings, tx_rings, &port_conf); + if (retval == -EINVAL) { + printf("Maybe port %u don't have csum offloads capabilities, " + "so clear csum config and try again.\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("Maybe port %u don't support rss, " + "so clear rss config and try again.\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; -- 2.25.1