1 Star 0 Fork 75

sky/dpdk

forked from src-openEuler/dpdk 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
0148-net-hns3-move-flow-direction-rule-recovery.patch 2.10 KB
一键复制 编辑 原始数据 按行查看 历史
From d982e1518b7fc217dbf14816b0b929079d742137 Mon Sep 17 00:00:00 2001
From: Huisong Li <lihuisong@huawei.com>
Date: Fri, 21 Oct 2022 15:36:24 +0800
Subject: [PATCH 148/189] net/hns3: move flow direction rule recovery
The 'hns3_restore_filter' is used to restore flow rules from
rte_flow API during the reset process. This patch moves the
recovery of flow direction rule to this function to improve
code maintainability.
Fixes: fcba820d9b9e ("net/hns3: support flow director")
Cc: stable@dpdk.org
Signed-off-by: Huisong Li <lihuisong@huawei.com>
Signed-off-by: Dongdong Liu <liudongdong3@huawei.com>
---
drivers/net/hns3/hns3_ethdev.c | 4 ----
drivers/net/hns3/hns3_fdir.c | 3 +++
drivers/net/hns3/hns3_flow.c | 7 +++++++
3 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/drivers/net/hns3/hns3_ethdev.c b/drivers/net/hns3/hns3_ethdev.c
index fc3fc76a40..01c13f8d70 100644
--- a/drivers/net/hns3/hns3_ethdev.c
+++ b/drivers/net/hns3/hns3_ethdev.c
@@ -5907,10 +5907,6 @@ hns3_restore_conf(struct hns3_adapter *hns)
if (ret)
goto err_promisc;
- ret = hns3_restore_all_fdir_filter(hns);
- if (ret)
- goto err_promisc;
-
ret = hns3_restore_ptp(hns);
if (ret)
goto err_promisc;
diff --git a/drivers/net/hns3/hns3_fdir.c b/drivers/net/hns3/hns3_fdir.c
index 30e5e66772..48a91fb517 100644
--- a/drivers/net/hns3/hns3_fdir.c
+++ b/drivers/net/hns3/hns3_fdir.c
@@ -1068,6 +1068,9 @@ int hns3_restore_all_fdir_filter(struct hns3_adapter *hns)
bool err = false;
int ret;
+ if (hns->is_vf)
+ return 0;
+
/*
* This API is called in the reset recovery process, the parent function
* must hold hw->lock.
diff --git a/drivers/net/hns3/hns3_flow.c b/drivers/net/hns3/hns3_flow.c
index 7bd2f0bf7a..17c4274123 100644
--- a/drivers/net/hns3/hns3_flow.c
+++ b/drivers/net/hns3/hns3_flow.c
@@ -1675,6 +1675,13 @@ hns3_restore_rss_filter(struct rte_eth_dev *dev)
int
hns3_restore_filter(struct rte_eth_dev *dev)
{
+ struct hns3_adapter *hns = dev->data->dev_private;
+ int ret;
+
+ ret = hns3_restore_all_fdir_filter(hns);
+ if (ret != 0)
+ return ret;
+
return hns3_restore_rss_filter(dev);
}
--
2.23.0
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/nlgwcy/dpdk.git
git@gitee.com:nlgwcy/dpdk.git
nlgwcy
dpdk
dpdk
master

搜索帮助