Fix fast path array index which is used for passing L2 handles to RSS
indirection table, properly distribute rxq handles for indirection table.
Currently, it is using the local copy of indirection table. When the RX
queue configuration changes the local copy becomes invalid.

Fixes: 69d7ba88f1a1 ("net/qede/base: use L2-handles for RSS configuration")
Cc: sta...@dpdk.org

Signed-off-by: Rasesh Mody <rasesh.m...@cavium.com>
Reviewed-by: Kevin Traynor <ktray...@redhat.com>
---
 drivers/net/qede/qede_ethdev.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c
index 3206cc6..5a4071b 100644
--- a/drivers/net/qede/qede_ethdev.c
+++ b/drivers/net/qede/qede_ethdev.c
@@ -2210,7 +2210,7 @@ int qede_rss_hash_update(struct rte_eth_dev *eth_dev,
        vport_update_params.vport_id = 0;
        /* pass the L2 handles instead of qids */
        for (i = 0 ; i < ECORE_RSS_IND_TABLE_SIZE ; i++) {
-               idx = qdev->rss_ind_table[i];
+               idx = i % QEDE_RSS_COUNT(qdev);
                rss_params.rss_ind_table[i] = qdev->fp_array[idx].rxq->handle;
        }
        vport_update_params.rss_params = &rss_params;
-- 
1.7.10.3

Reply via email to