DPDK patches and discussions
 help / color / mirror / Atom feed
From: Dongdong Liu <liudongdong3@huawei.com>
To: <dev@dpdk.org>, <andrew.rybchenko@oktetlabs.ru>,
	<ferruh.yigit@amd.com>, <thomas@monjalon.net>
Cc: <stable@dpdk.org>, <fengchengwen@huawei.com>,
	<yisen.zhuang@huawei.com>, <liudongdong3@huawei.com>,
	<lihuisong@huawei.com>, <haijie1@huawei.com>
Subject: [PATCH 02/19] net/hns3: fix RSS filter restore
Date: Fri, 30 Sep 2022 15:22:03 +0800	[thread overview]
Message-ID: <20220930072220.20753-3-liudongdong3@huawei.com> (raw)
In-Reply-To: <20220930072220.20753-1-liudongdong3@huawei.com>

From: Huisong Li <lihuisong@huawei.com>

Currently, driver sets RSS function to 'RTE_ETH_HASH_FUNCTION_MAX'
when user flush all rules in order to judge whether driver needs
to restore RSS rules. In fact, all rules are saved in flow RSS list.
So there is no need to modify RSS function to this macro. And this
list can be used to restore. The modification of RSS function may
introduce new problem. So this patch fix it.

Fixes: eb158fc756a5 ("net/hns3: fix config when creating RSS rule after flush")
Cc: stable@dpdk.org

Signed-off-by: Huisong Li <lihuisong@huawei.com>
Signed-off-by: Dongdong Liu <liudongdong3@huawei.com>
---
 drivers/net/hns3/hns3_flow.c | 20 ++++++++++++++------
 1 file changed, 14 insertions(+), 6 deletions(-)

diff --git a/drivers/net/hns3/hns3_flow.c b/drivers/net/hns3/hns3_flow.c
index 4952d807b8..2fb83f756a 100644
--- a/drivers/net/hns3/hns3_flow.c
+++ b/drivers/net/hns3/hns3_flow.c
@@ -1587,8 +1587,6 @@ hns3_config_rss_filter(struct rte_eth_dev *dev,
 			rss_info->conf.queue_num = 0;
 		}
 
-		/* set RSS func invalid after flushed */
-		rss_info->conf.func = RTE_ETH_HASH_FUNCTION_MAX;
 		return 0;
 	}
 
@@ -1659,13 +1657,23 @@ int
 hns3_restore_rss_filter(struct rte_eth_dev *dev)
 {
 	struct hns3_adapter *hns = dev->data->dev_private;
+	struct hns3_rss_conf_ele *filter;
 	struct hns3_hw *hw = &hns->hw;
+	int ret = 0;
 
-	/* When user flush all rules, it doesn't need to restore RSS rule */
-	if (hw->rss_info.conf.func == RTE_ETH_HASH_FUNCTION_MAX)
-		return 0;
+	TAILQ_FOREACH(filter, &hw->flow_rss_list, entries) {
+		if (!filter->filter_info.valid)
+			continue;
 
-	return hns3_config_rss_filter(dev, &hw->rss_info, true);
+		ret = hns3_config_rss_filter(dev, &filter->filter_info, true);
+		if (ret != 0) {
+			hns3_err(hw, "restore RSS filter failed, ret=%d", ret);
+			goto out;
+		}
+	}
+
+out:
+	return ret;
 }
 
 static int
-- 
2.22.0


  parent reply	other threads:[~2022-09-30  7:24 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-30  7:22 [PATCH 00/19] some bugfixes and clean code for hns3 - part2 Dongdong Liu
2022-09-30  7:22 ` [PATCH 01/19] net/hns3: fix have no valid RSS rule Dongdong Liu
2022-09-30  7:22 ` Dongdong Liu [this message]
2022-09-30  7:22 ` [PATCH 03/19] net/hns3: fix the lock protection of RSS flow rule Dongdong Liu
2022-09-30  7:22 ` [PATCH 04/19] net/hns3: fix RSS flow rule restore failed Dongdong Liu
2022-09-30  7:22 ` [PATCH 05/19] net/hns3: move flow direction rule recovery position Dongdong Liu
2022-09-30  7:22 ` [PATCH 06/19] net/hns3: fix hns3 restore filter function input Dongdong Liu
2022-09-30  7:22 ` [PATCH 07/19] net/hns3: fix gcov compile warning Dongdong Liu
2022-09-30  7:22 ` [PATCH 08/19] net/hns3: fix incorrect packet type report for GENEVE Dongdong Liu
2022-09-30  7:22 ` [PATCH 09/19] net/hns3: fix magic numbers Dongdong Liu
2022-09-30  7:22 ` [PATCH 10/19] net/hns3: fix header file self contained Dongdong Liu
2022-09-30  7:22 ` [PATCH 11/19] net/hns3: remove unused structure definition Dongdong Liu
2022-09-30  7:22 ` [PATCH 12/19] net/hns3: do not use reserved identifier macro Dongdong Liu
2022-09-30  7:22 ` [PATCH 13/19] net/hns3: fix fail to enable IPV4 or IPV6 packet RSS Dongdong Liu
2022-09-30  7:22 ` [PATCH 14/19] net/hns3: fix some spelling errors Dongdong Liu
2022-09-30  7:22 ` [PATCH 15/19] net/hns3: fix inconsistent RSS behavior Dongdong Liu
2022-09-30  7:22 ` [PATCH 16/19] net/hns3: add check for L3 and L4 type Dongdong Liu
2022-09-30  7:22 ` [PATCH 17/19] net/hns3: revert fix mailbox communication with HW Dongdong Liu
2022-09-30  7:22 ` [PATCH 18/19] net/hns3: fix VF mark wrong message processed Dongdong Liu
2022-09-30  7:22 ` [PATCH 19/19] net/hns3: fix the obtaination of minimum Tx frame length Dongdong Liu
2022-10-05  6:18 ` [PATCH 00/19] some bugfixes and clean code for hns3 - part2 Andrew Rybchenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220930072220.20753-3-liudongdong3@huawei.com \
    --to=liudongdong3@huawei.com \
    --cc=andrew.rybchenko@oktetlabs.ru \
    --cc=dev@dpdk.org \
    --cc=fengchengwen@huawei.com \
    --cc=ferruh.yigit@amd.com \
    --cc=haijie1@huawei.com \
    --cc=lihuisong@huawei.com \
    --cc=stable@dpdk.org \
    --cc=thomas@monjalon.net \
    --cc=yisen.zhuang@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).