net/hns3: clear hash map on flow director clear
authorChengwen Feng <fengchengwen@huawei.com>
Fri, 7 May 2021 09:08:16 +0000 (17:08 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Tue, 11 May 2021 16:27:25 +0000 (18:27 +0200)
The fdir hash map hold the pointers of fdir rule elements, it needs to
be set to NULL when clear all fdir rules.

Fixes: fcba820d9b9e ("net/hns3: support flow director")
Cc: stable@dpdk.org
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
drivers/net/hns3/hns3_fdir.c

index e116d87..d043f57 100644 (file)
@@ -1033,6 +1033,10 @@ int hns3_clear_all_fdir_filter(struct hns3_adapter *hns)
        /* flush flow director */
        rte_hash_reset(fdir_info->hash_handle);
 
+       memset(fdir_info->hash_map, 0,
+              sizeof(struct hns3_fdir_rule_ele *) *
+              fdir_info->fd_cfg.rule_num[HNS3_FD_STAGE_1]);
+
        fdir_filter = TAILQ_FIRST(&fdir_info->fdir_list);
        while (fdir_filter) {
                TAILQ_REMOVE(&fdir_info->fdir_list, fdir_filter, entries);