netfilter: nf_flow_table_offload: Fix block_cb tc_setup_type as TC_SETUP_CLSFLOWER
authorwenxu <wenxu@ucloud.cn>
Wed, 20 Nov 2019 05:12:22 +0000 (13:12 +0800)
committerPablo Neira Ayuso <pablo@netfilter.org>
Sat, 30 Nov 2019 18:45:39 +0000 (19:45 +0100)
Add/del/stats flows through block_cb call must set the tc_setup_type as
TC_SETUP_CLSFLOWER.

Fixes: c29f74e0df7a ("netfilter: nf_flow_table: hardware offload support")
Signed-off-by: wenxu <wenxu@ucloud.cn>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
net/netfilter/nf_flow_table_offload.c

index 6067268..b3ad285 100644 (file)
@@ -574,7 +574,7 @@ static int flow_offload_tuple_add(struct flow_offload_work *offload,
        cls_flow.rule = flow_rule->rule;
 
        list_for_each_entry(block_cb, &flowtable->flow_block.cb_list, list) {
-               err = block_cb->cb(TC_SETUP_FT, &cls_flow,
+               err = block_cb->cb(TC_SETUP_CLSFLOWER, &cls_flow,
                                   block_cb->cb_priv);
                if (err < 0)
                        continue;
@@ -599,7 +599,7 @@ static void flow_offload_tuple_del(struct flow_offload_work *offload,
                             &offload->flow->tuplehash[dir].tuple, &extack);
 
        list_for_each_entry(block_cb, &flowtable->flow_block.cb_list, list)
-               block_cb->cb(TC_SETUP_FT, &cls_flow, block_cb->cb_priv);
+               block_cb->cb(TC_SETUP_CLSFLOWER, &cls_flow, block_cb->cb_priv);
 
        offload->flow->flags |= FLOW_OFFLOAD_HW_DEAD;
 }
@@ -656,7 +656,7 @@ static void flow_offload_tuple_stats(struct flow_offload_work *offload,
                             &offload->flow->tuplehash[dir].tuple, &extack);
 
        list_for_each_entry(block_cb, &flowtable->flow_block.cb_list, list)
-               block_cb->cb(TC_SETUP_FT, &cls_flow, block_cb->cb_priv);
+               block_cb->cb(TC_SETUP_CLSFLOWER, &cls_flow, block_cb->cb_priv);
        memcpy(stats, &cls_flow.stats, sizeof(*stats));
 }