1. fix some RSS bugs and optimize RSS codes for hns3 2. reimplement hash flow function for hns3 to satisfy the mainstream usage of rte flow hash in the community (cherry picked from commit 651fc55df087a9855b899eea5e5fda45a1316893)
50 lines
1.6 KiB
Diff
50 lines
1.6 KiB
Diff
From 8ca08cd0671207b57d934b439d7b245966fbbfe8 Mon Sep 17 00:00:00 2001
|
|
From: Huisong Li <lihuisong@huawei.com>
|
|
Date: Fri, 10 Mar 2023 17:35:09 +0800
|
|
Subject: net/hns3: separate setting hash key
|
|
|
|
[ upstream commit fe9cc8b88babd0911d91dc194b35c7c352e2bf7b ]
|
|
|
|
The settings of hash key comes from the ethdev ops (like, dev_configure
|
|
and rss_hash_update) and rte_flow API. For the ethdev ops, driver has
|
|
to save it to rss_info::key in hns3_hw structure so as to it can be
|
|
restored when reset is triggered. While rte_flow API no need to use
|
|
this field to save, they has a global flow_rss_list to maintain all
|
|
rules which save hash key. And hash key can be restored by this rule
|
|
information during the reset phase.
|
|
|
|
Cc: stable@dpdk.org
|
|
|
|
Signed-off-by: Huisong Li <lihuisong@huawei.com>
|
|
Signed-off-by: Dongdong Liu <liudongdong3@huawei.com>
|
|
---
|
|
drivers/net/hns3/hns3_rss.c | 5 +++--
|
|
1 file changed, 3 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/drivers/net/hns3/hns3_rss.c b/drivers/net/hns3/hns3_rss.c
|
|
index dcd42b554a..401e3adfdf 100644
|
|
--- a/drivers/net/hns3/hns3_rss.c
|
|
+++ b/drivers/net/hns3/hns3_rss.c
|
|
@@ -376,8 +376,7 @@ hns3_rss_set_algo_key(struct hns3_hw *hw, uint8_t hash_algo,
|
|
return ret;
|
|
}
|
|
}
|
|
- /* Update the shadow RSS key with user specified */
|
|
- memcpy(hw->rss_info.key, key, hw->rss_key_size);
|
|
+
|
|
return 0;
|
|
}
|
|
|
|
@@ -672,6 +671,8 @@ hns3_dev_rss_hash_update(struct rte_eth_dev *dev,
|
|
key, hw->rss_key_size);
|
|
if (ret)
|
|
goto set_algo_key_fail;
|
|
+ /* Update the shadow RSS key with user specified */
|
|
+ memcpy(hw->rss_info.key, key, hw->rss_key_size);
|
|
}
|
|
rte_spinlock_unlock(&hw->lock);
|
|
|
|
--
|
|
2.23.0
|
|
|