[2/2] net/hns3: fix cannot fully use hardware flow director table
Checks
Commit Message
From: Dengdui Huang <huangdengdui@huawei.com>
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>
---
drivers/net/hns3/hns3_fdir.c | 1 +
1 file changed, 1 insertion(+)
Comments
On Thu, 7 Nov 2024 19:56:45 +0800
Jie Hai <haijie1@huawei.com> wrote:
> From: Dengdui Huang <huangdengdui@huawei.com>
>
> 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>
@@ -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;