[PATCH v3] examples/multi_process: reconfigure port when rss or csum isn't supported
Bruce Richardson
bruce.richardson at intel.com
Tue Feb 22 10:41:24 CET 2022
On Tue, Feb 22, 2022 at 10:51:27AM +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.ma at intel.com>
> ---
While I am surprised to see different error codes for different essentially
the same issue - lack of HW support, that is a separate problem to the one
this is addressing. Given this is just a sample app, I think this approach
is fine for configuring things - keeping things simple for the user.
Acked-by: Bruce Richardson <bruce.richardson at 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..0e991acdf2 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("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;
>
> --
> 2.25.1
>
More information about the dev
mailing list