dpdk/backport-0005-net-hinic-fix-TCAM-filter-set.patch
jiangheng12 6039ff0fe0 sync patches to enable hinic flow director
(cherry picked from commit c352e315a8aec2f3a9200b9073b072e945daead1)
2023-03-10 10:35:34 +08:00

41 lines
1.5 KiB
Diff

From 19cc028345f3c2318fad89db34eec276a0af4dd2 Mon Sep 17 00:00:00 2001
From: Xiaoyun Wang <cloud.wangxiaoyun@huawei.com>
Date: Mon, 14 Sep 2020 22:31:43 +0800
Subject: [PATCH] net/hinic: fix TCAM filter set
hinic supports two methods: linear table and tcam table,
if tcam filter enables failed but linear table is ok,
which also needs to enable filter, so for this scene,
driver should not close fdir switch.
Fixes: f4ca3fd54c4d ("net/hinic: create and destroy flow director filter")
Cc: stable@dpdk.org
Signed-off-by: Xiaoyun Wang <cloud.wangxiaoyun@huawei.com>
---
drivers/net/hinic/hinic_pmd_flow.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/net/hinic/hinic_pmd_flow.c b/drivers/net/hinic/hinic_pmd_flow.c
index 9888a8793b..d71a42afbd 100644
--- a/drivers/net/hinic/hinic_pmd_flow.c
+++ b/drivers/net/hinic/hinic_pmd_flow.c
@@ -2809,8 +2809,12 @@ static int hinic_add_tcam_filter(struct rte_eth_dev *dev,
rc = hinic_set_fdir_tcam_rule_filter(nic_dev->hwdev, true);
if (rc && rc != HINIC_MGMT_CMD_UNSUPPORTED) {
- (void)hinic_set_fdir_filter(nic_dev->hwdev, 0, 0, 0,
- false);
+ /*
+ * hinic supports two methods: linear table and tcam
+ * table, if tcam filter enables failed but linear table
+ * is ok, which also needs to enable filter, so for this
+ * scene, driver should not close fdir switch.
+ */
(void)hinic_del_tcam_rule(nic_dev->hwdev,
fdir_tcam_rule->index);
return rc;
--
2.23.0