[dpdk-dev] [PATCH v2] app/testpmd: fix set Rx offloads RSS hash off

Ferruh Yigit ferruh.yigit at intel.com
Fri Nov 5 17:24:26 CET 2021


On 11/4/2021 9:29 AM, Jie Wang wrote:
> When we set Rx offloads RSS hash off in cmdline, then we start
> port, if dev->data->dev_conf.rxmode.mq_mode RSS enable(multiple
> queues mode), it will load RSS hash in driver and sync to port.
> 
> After setting Rx offloads RSS hash off, this patch removes
> RTE_ETH_MQ_RX_RSS in port->dev_conf.rxmode.mq_mode to fix this issue.
> 
> And after setting Rx offloads RSS hash on, this patch also adds
> RTE_ETH_MQ_RX_RSS in port->dev_conf.rxmode.mq_mode.
> 
> Fixes: c73a9071877a ("app/testpmd: add commands to test new offload API")
> 
> Signed-off-by: Jie Wang <jie1x.wang at intel.com>
> ---
>   app/test-pmd/cmdline.c | 6 ++++++
>   1 file changed, 6 insertions(+)
> 
> diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
> index d08a1c9777..f8277e4443 100644
> --- a/app/test-pmd/cmdline.c
> +++ b/app/test-pmd/cmdline.c
> @@ -16176,10 +16176,16 @@ cmd_config_per_port_rx_offload_parsed(void *parsed_result,
>   		port->dev_conf.rxmode.offloads |= single_offload;
>   		for (q = 0; q < nb_rx_queues; q++)
>   			port->rx_conf[q].offloads |= single_offload;
> +
> +		if (single_offload & 0x80000)

I don't why you used immediate value, but you mean 'RTE_ETH_RX_OFFLOAD_RSS_HASH' here.

> +			port->dev_conf.rxmode.mq_mode |= RTE_ETH_MQ_RX_RSS;

Why enabling RSS when 'RSS HASH' offload is enabled? In this case if RSS is disabled
I think it should fail.

Can you please describe again what problem you are solving?

>   	} else {
>   		port->dev_conf.rxmode.offloads &= ~single_offload;
>   		for (q = 0; q < nb_rx_queues; q++)
>   			port->rx_conf[q].offloads &= ~single_offload;
> +
> +		if (single_offload & 0x80000)
> +			port->dev_conf.rxmode.mq_mode &= ~RTE_ETH_MQ_RX_RSS;
>   	}
>   
>   	cmd_reconfig_device_queue(port_id, 1, 1);
> 



More information about the dev mailing list