]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blame - include/net/tc_act/tc_gact.h
net/sched: Macro instead of CONFIG_NET_CLS_ACT ifdef
[mirror_ubuntu-artful-kernel.git] / include / net / tc_act / tc_gact.h
CommitLineData
1da177e4
LT
1#ifndef __NET_TC_GACT_H
2#define __NET_TC_GACT_H
3
4#include <net/act_api.h>
3b01cf56 5#include <linux/tc_act/tc_gact.h>
1da177e4 6
e9ce1cd3
DM
7struct tcf_gact {
8 struct tcf_common common;
1da177e4 9#ifdef CONFIG_GACT_PROB
cc6510a9
ED
10 u16 tcfg_ptype;
11 u16 tcfg_pval;
12 int tcfg_paction;
13 atomic_t packets;
1da177e4 14#endif
1da177e4 15};
86062033
WC
16#define to_gact(a) \
17 container_of(a->priv, struct tcf_gact, common)
e9ce1cd3 18
3b01cf56
JF
19static inline bool is_tcf_gact_shot(const struct tc_action *a)
20{
00175aec 21#ifdef CONFIG_NET_CLS_ACT
3b01cf56
JF
22 struct tcf_gact *gact;
23
24 if (a->ops && a->ops->type != TCA_ACT_GACT)
25 return false;
26
27 gact = a->priv;
28 if (gact->tcf_action == TC_ACT_SHOT)
29 return true;
30
00175aec 31#endif
3b01cf56
JF
32 return false;
33}
e9ce1cd3 34#endif /* __NET_TC_GACT_H */