It fixes the issue of v4 RSS configuration failure in
vmxnet3_v4_rss_configure() while writing to BAR register. It's very
specific to single queue configuration.

https://mails.dpdk.org/archives/users/2025-April/008236.html

Bugzilla ID:1789
Fixes: 52ec00f ("net/vmxnet3: fix RSS setting on v4")
Cc: [email protected]

v2:
 - Fixed typo in commit message
v3:
 - Checking if RSS is already enabled

Signed-off-by: Amiya Ranjan Mohakud <[email protected]>
---
 drivers/net/vmxnet3/vmxnet3_ethdev.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c 
b/drivers/net/vmxnet3/vmxnet3_ethdev.c
index f4cdb1bb31..a0306af86c 100644
--- a/drivers/net/vmxnet3/vmxnet3_ethdev.c
+++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c
@@ -534,6 +534,13 @@ vmxnet3_dev_configure(struct rte_eth_dev *dev)
 
        PMD_INIT_FUNC_TRACE();
 
+       /* Disabling RSS for single queue pair */
+       if (dev->data->nb_rx_queues == 1 &&
+           dev->data->dev_conf.rxmode.mq_mode == RTE_ETH_MQ_RX_RSS) {
+               dev->data->dev_conf.rxmode.mq_mode = RTE_ETH_MQ_RX_NONE;
+               PMD_INIT_LOG(ERR, "WARN: Disabling RSS for single Rx queue");
+       }
+
        if (dev->data->dev_conf.rxmode.mq_mode & RTE_ETH_MQ_RX_RSS_FLAG)
                dev->data->dev_conf.rxmode.offloads |= 
RTE_ETH_RX_OFFLOAD_RSS_HASH;
 
-- 
2.39.5 (Apple Git-154)

Reply via email to