diff options
author | Vlad Buslov <vladbu@mellanox.com> | 2019-10-30 16:09:06 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-10-30 18:07:51 -0700 |
commit | e38226786022d2d8e5876ab7bc37e82b0eb57e65 (patch) | |
tree | bd7467ea5f747e37672228c41d99c3d64ee3995f /net/sched/act_tunnel_key.c | |
parent | abbb0d33632ce931ca9c814813ee131351f6b92f (diff) | |
download | linux-e38226786022d2d8e5876ab7bc37e82b0eb57e65.tar.gz linux-e38226786022d2d8e5876ab7bc37e82b0eb57e65.tar.bz2 linux-e38226786022d2d8e5876ab7bc37e82b0eb57e65.zip |
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>
Diffstat (limited to 'net/sched/act_tunnel_key.c')
-rw-r--r-- | net/sched/act_tunnel_key.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/net/sched/act_tunnel_key.c b/net/sched/act_tunnel_key.c index b25e5124f571..cb34e5d57aaa 100644 --- a/net/sched/act_tunnel_key.c +++ b/net/sched/act_tunnel_key.c @@ -347,8 +347,9 @@ static int tunnel_key_init(struct net *net, struct nlattr *nla, } if (!exists) { - ret = tcf_idr_create(tn, index, est, a, - &act_tunnel_key_ops, bind, true); + ret = tcf_idr_create_from_flags(tn, index, est, a, + &act_tunnel_key_ops, bind, + act_flags); if (ret) { NL_SET_ERR_MSG(extack, "Cannot create TC IDR"); goto release_tun_meta; |