diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2019-02-02 12:50:45 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-02-06 10:38:25 -0800 |
commit | e3ab786b42535da00c731c3585165e88bf35ab09 (patch) | |
tree | 5f988db3d1322f794a250abd16ae281ad18aa170 /net/sched/cls_flower.c | |
parent | net/mlx5e: support for two independent packet edit actions (diff) | |
download | linux-dev-e3ab786b42535da00c731c3585165e88bf35ab09.tar.xz linux-dev-e3ab786b42535da00c731c3585165e88bf35ab09.zip |
flow_offload: add flow action infrastructure
This new infrastructure defines the nic actions that you can perform
from existing network drivers. This infrastructure allows us to avoid a
direct dependency with the native software TC action representation.
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>
Diffstat (limited to '')
-rw-r--r-- | net/sched/cls_flower.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/net/sched/cls_flower.c b/net/sched/cls_flower.c index aaffea0b66e9..0062c9133a22 100644 --- a/net/sched/cls_flower.c +++ b/net/sched/cls_flower.c @@ -381,7 +381,7 @@ static int fl_hw_replace_filter(struct tcf_proto *tp, bool skip_sw = tc_skip_sw(f->flags); int err; - cls_flower.rule = flow_rule_alloc(); + cls_flower.rule = flow_rule_alloc(tcf_exts_num_actions(&f->exts)); if (!cls_flower.rule) return -ENOMEM; @@ -1469,7 +1469,8 @@ static int fl_reoffload(struct tcf_proto *tp, bool add, tc_setup_cb_t *cb, if (tc_skip_hw(f->flags)) continue; - cls_flower.rule = flow_rule_alloc(); + cls_flower.rule = + flow_rule_alloc(tcf_exts_num_actions(&f->exts)); if (!cls_flower.rule) return -ENOMEM; @@ -1508,7 +1509,7 @@ static int fl_hw_create_tmplt(struct tcf_chain *chain, struct tcf_block *block = chain->block; struct tcf_exts dummy_exts = { 0, }; - cls_flower.rule = flow_rule_alloc(); + cls_flower.rule = flow_rule_alloc(0); if (!cls_flower.rule) return -ENOMEM; |