From 58ab4881de0966ab351fc2d423fd98cfb3c0332f Mon Sep 17 00:00:00 2001
From: Dengdui Huang <huangdengdui@huawei.com>
Date: Thu, 7 Nov 2024 19:56:45 +0800
Subject: [PATCH] net/hns3: fix fully use hardware flow director table

[ upstream commit b8e60c33168a2999604c17322dd0198a6746428f ]

The hns3 driver checks whether the flow rule is repeatedly inserted
based on rte_hash. Currently, the rte_hash extendable bucket table
feature is not enabled. When there are many hash conflicts, the hash
table space cannot be fully used. So the flow rule maybe cannot be
inserted even if the hardware flow director table there are still free.
This patch fix it by enabling the rte_hash extensible bucket table
feature.

Fixes: fcba820d9b9e ("net/hns3: support flow director")
Cc: stable@dpdk.org

Signed-off-by: Dengdui Huang <huangdengdui@huawei.com>
Signed-off-by: Jie Hai <haijie1@huawei.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
---
 drivers/net/hns3/hns3_fdir.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/hns3/hns3_fdir.c b/drivers/net/hns3/hns3_fdir.c
index 1e9932b..d645471 100644
--- a/drivers/net/hns3/hns3_fdir.c
+++ b/drivers/net/hns3/hns3_fdir.c
@@ -900,6 +900,7 @@ int hns3_fdir_filter_init(struct hns3_adapter *hns)
 		.key_len = sizeof(struct hns3_fdir_key_conf),
 		.hash_func = rte_hash_crc,
 		.hash_func_init_val = 0,
+		.extra_flag = RTE_HASH_EXTRA_FLAGS_EXT_TABLE,
 	};
 	int ret;
 
-- 
2.33.0

