From: Huisong Li <lihuis...@huawei.com> 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: sta...@dpdk.org Signed-off-by: Huisong Li <lihuis...@huawei.com> Signed-off-by: Dongdong Liu <liudongdo...@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 88ba0757b5..be717b7641 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; } @@ -671,6 +670,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.22.0