net: sched: update action implementations to support flags

Extend struct tc_action with new "tcfa_flags" field. Set the field in
tcf_idr_create() function and provide new helper
tcf_idr_create_from_flags() that derives 'cpustats' boolean from flags
value. Update individual hardware-offloaded actions init() to pass their
"flags" argument to new helper in order to skip percpu stats allocation
when user requested it through flags.

Signed-off-by: Vlad Buslov <vladbu@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Vlad Buslov
2019-10-30 16:09:06 +02:00
committed by David S. Miller
parent abbb0d3363
commit e382267860
21 changed files with 53 additions and 27 deletions

View File

@@ -68,8 +68,8 @@ static int tcf_csum_init(struct net *net, struct nlattr *nla,
index = parm->index;
err = tcf_idr_check_alloc(tn, &index, a, bind);
if (!err) {
ret = tcf_idr_create(tn, index, est, a,
&act_csum_ops, bind, true);
ret = tcf_idr_create_from_flags(tn, index, est, a,
&act_csum_ops, bind, flags);
if (ret) {
tcf_idr_cleanup(tn, index);
return ret;