summaryrefslogtreecommitdiffstats
path: root/net/sched/act_tunnel_key.c
diff options
context:
space:
mode:
authorVlad Buslov <vladbu@mellanox.com>2019-10-30 16:09:06 +0200
committerDavid S. Miller <davem@davemloft.net>2019-10-30 18:07:51 -0700
commite38226786022d2d8e5876ab7bc37e82b0eb57e65 (patch)
treebd7467ea5f747e37672228c41d99c3d64ee3995f /net/sched/act_tunnel_key.c
parentabbb0d33632ce931ca9c814813ee131351f6b92f (diff)
downloadlinux-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.c5
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;