[PATCH v2 07/13] net/ionic: fix RSS query routine
Andrew Boyer
andrew.boyer at amd.com
Wed Feb 7 03:18:43 CET 2024
From: Akshay Dorwat <akshay.dorwat at amd.com>
The routine that copies out the RSS config can't use memcpy() because
'reta_conf->reta' is an array of uint16_t while 'lif->rss_ind_tbl' is
an array of uint8_t. Instead, copy the values individually.
Fixes: 22e7171bc63b ("net/ionic: support RSS")
Cc: cardigliano at ntop.org
Cc: stable at dpdk.org
Signed-off-by: Akshay Dorwat <akshay.dorwat at amd.com>
Signed-off-by: Andrew Boyer <andrew.boyer at amd.com>
---
drivers/net/ionic/ionic_ethdev.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ionic/ionic_ethdev.c b/drivers/net/ionic/ionic_ethdev.c
index 340fd0cd59..008e50e0b9 100644
--- a/drivers/net/ionic/ionic_ethdev.c
+++ b/drivers/net/ionic/ionic_ethdev.c
@@ -561,7 +561,7 @@ ionic_dev_rss_reta_query(struct rte_eth_dev *eth_dev,
struct ionic_lif *lif = IONIC_ETH_DEV_TO_LIF(eth_dev);
struct ionic_adapter *adapter = lif->adapter;
struct ionic_identity *ident = &adapter->ident;
- int i, num;
+ int i, j, num;
uint16_t tbl_sz = rte_le_to_cpu_16(ident->lif.eth.rss_ind_tbl_sz);
IONIC_PRINT_CALL();
@@ -582,9 +582,10 @@ ionic_dev_rss_reta_query(struct rte_eth_dev *eth_dev,
num = reta_size / RTE_ETH_RETA_GROUP_SIZE;
for (i = 0; i < num; i++) {
- memcpy(reta_conf->reta,
- &lif->rss_ind_tbl[i * RTE_ETH_RETA_GROUP_SIZE],
- RTE_ETH_RETA_GROUP_SIZE);
+ for (j = 0; j < RTE_ETH_RETA_GROUP_SIZE; j++) {
+ reta_conf->reta[j] =
+ lif->rss_ind_tbl[(i * RTE_ETH_RETA_GROUP_SIZE) + j];
+ }
reta_conf++;
}
--
2.17.1
More information about the stable
mailing list