diff options
author | John Fastabend <john.fastabend@gmail.com> | 2016-02-16 21:18:03 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-02-17 09:47:36 -0500 |
commit | 3b01cf56daf96acf9b155d6201d94bc8b4de218e (patch) | |
tree | 54c9b0a98a3659aadb1aa7313a6ebe1af217bc7c /include/net/tc_act/tc_gact.h | |
parent | 1c78c64e9c6f43a490427d55cd2d213b7c6795c1 (diff) |
net: tc: helper functions to query action types
This is a helper function drivers can use to learn if the
action type is a drop action.
Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/tc_act/tc_gact.h')
-rw-r--r-- | include/net/tc_act/tc_gact.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/include/net/tc_act/tc_gact.h b/include/net/tc_act/tc_gact.h index 592a6bc02b0b..04a31830711b 100644 --- a/include/net/tc_act/tc_gact.h +++ b/include/net/tc_act/tc_gact.h @@ -2,6 +2,7 @@ #define __NET_TC_GACT_H #include <net/act_api.h> +#include <linux/tc_act/tc_gact.h> struct tcf_gact { struct tcf_common common; @@ -15,4 +16,19 @@ struct tcf_gact { #define to_gact(a) \ container_of(a->priv, struct tcf_gact, common) +#ifdef CONFIG_NET_CLS_ACT +static inline bool is_tcf_gact_shot(const struct tc_action *a) +{ + struct tcf_gact *gact; + + if (a->ops && a->ops->type != TCA_ACT_GACT) + return false; + + gact = a->priv; + if (gact->tcf_action == TC_ACT_SHOT) + return true; + + return false; +} +#endif #endif /* __NET_TC_GACT_H */ |