On 11/8/2021 7:24 AM, Wang, Jie1X wrote:


-----Original Message-----
From: Yigit, Ferruh <ferruh.yi...@intel.com>
Sent: Saturday, November 6, 2021 12:24 AM
To: Wang, Jie1X <jie1x.w...@intel.com>; dev@dpdk.org
Cc: Zhang, Yuying <yuying.zh...@intel.com>; Li, Xiaoyun
<xiaoyun...@intel.com>; Yang, SteveX <stevex.y...@intel.com>; Guo, Junfeng
<junfeng....@intel.com>; Zhang, Qi Z <qi.z.zh...@intel.com>
Subject: Re: [dpdk-dev] [PATCH v2] app/testpmd: fix set Rx offloads RSS hash off

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.w...@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.


I will update it in next version.

+                       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?


If 'RSS HASH' offload is disabled in the first, the mq_mode RSS is disabled.
Then 'RSS HASH' offload is enabled in the second, so that we should enable RSS 
here.

        } 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;

When 'RSS HASH' offload is disabled, that mq_mode RSS should be disabled too. 
So that it will not enable 'RSS HASH' offload in driver.


I am not clear with this statement.

"RSS HASH" can be disabled without disabling 'RSS', indeed that is the
reason to have this offload.
And most of the Intel NICs don't support disabling "RSS HASH" anyway.

Again, can you please clarify the real problem you are solving?

Reply via email to