cls_flower: don't expose TC actions to drivers anymore
authorPablo Neira Ayuso <pablo@netfilter.org>
Sat, 2 Feb 2019 11:50:49 +0000 (12:50 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 6 Feb 2019 18:38:26 +0000 (10:38 -0800)
Now that drivers have been converted to use the flow action
infrastructure, remove this field from the tc_cls_flower_offload
structure.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/pkt_cls.h
net/sched/cls_flower.c

index bea1b1c3ea9bbdad19ab9f0b333d3fd5b5afb856..cb8be396a11f8a77cbcc561f81d461a73bd0be67 100644 (file)
@@ -766,7 +766,6 @@ struct tc_cls_flower_offload {
        unsigned long cookie;
        struct flow_rule *rule;
        struct flow_stats stats;
-       struct tcf_exts *exts;
        u32 classid;
 };
 
index 8ec85056aa0d5434c3d944eab7281a0ac6fded75..c5d1db3a3db76583c3e2a9a8f7aec230e8cf2560 100644 (file)
@@ -391,7 +391,6 @@ static int fl_hw_replace_filter(struct tcf_proto *tp,
        cls_flower.rule->match.dissector = &f->mask->dissector;
        cls_flower.rule->match.mask = &f->mask->key;
        cls_flower.rule->match.key = &f->mkey;
-       cls_flower.exts = &f->exts;
        cls_flower.classid = f->res.classid;
 
        err = tc_setup_flow_action(&cls_flower.rule->action, &f->exts);
@@ -425,7 +424,6 @@ static void fl_hw_update_stats(struct tcf_proto *tp, struct cls_fl_filter *f)
        tc_cls_common_offload_init(&cls_flower.common, tp, f->flags, NULL);
        cls_flower.command = TC_CLSFLOWER_STATS;
        cls_flower.cookie = (unsigned long) f;
-       cls_flower.exts = &f->exts;
        cls_flower.classid = f->res.classid;
 
        tc_setup_cb_call(block, TC_SETUP_CLSFLOWER, &cls_flower, false);
@@ -1492,7 +1490,6 @@ static int fl_reoffload(struct tcf_proto *tp, bool add, tc_setup_cb_t *cb,
                        cls_flower.rule->match.dissector = &mask->dissector;
                        cls_flower.rule->match.mask = &mask->key;
                        cls_flower.rule->match.key = &f->mkey;
-                       cls_flower.exts = &f->exts;
 
                        err = tc_setup_flow_action(&cls_flower.rule->action,
                                                   &f->exts);
@@ -1525,7 +1522,6 @@ static int fl_hw_create_tmplt(struct tcf_chain *chain,
 {
        struct tc_cls_flower_offload cls_flower = {};
        struct tcf_block *block = chain->block;
-       struct tcf_exts dummy_exts = { 0, };
 
        cls_flower.rule = flow_rule_alloc(0);
        if (!cls_flower.rule)
@@ -1537,7 +1533,6 @@ static int fl_hw_create_tmplt(struct tcf_chain *chain,
        cls_flower.rule->match.dissector = &tmplt->dissector;
        cls_flower.rule->match.mask = &tmplt->mask;
        cls_flower.rule->match.key = &tmplt->dummy_key;
-       cls_flower.exts = &dummy_exts;
 
        /* We don't care if driver (any of them) fails to handle this
         * call. It serves just as a hint for it.