On Mon, Feb 21, 2022 at 03:35:18PM +0000, Wenwu Ma wrote: > 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);
Two comments for here and below: 1. Don't split error messages across multiple lines, as it means the user/developer cannot find them using "grep" on the code. 2. Text should try and be shorter and clearer. I'd suggest: "Port configuration failed. Re-attempting with HW checksum disabled" > + 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); Same two comments from above apply here. > + 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 >