aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/tc_act
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/tc_act')
-rw-r--r--include/linux/tc_act/tc_gact.h34
-rw-r--r--include/linux/tc_act/tc_ipt.h21
-rw-r--r--include/linux/tc_act/tc_mirred.h28
-rw-r--r--include/linux/tc_act/tc_pedit.h36
4 files changed, 119 insertions, 0 deletions
diff --git a/include/linux/tc_act/tc_gact.h b/include/linux/tc_act/tc_gact.h
new file mode 100644
index 000000000000..23a03eb630db
--- /dev/null
+++ b/include/linux/tc_act/tc_gact.h
@@ -0,0 +1,34 @@
1#ifndef __LINUX_TC_GACT_H
2#define __LINUX_TC_GACT_H
3
4#include <linux/pkt_cls.h>
5
6#define TCA_ACT_GACT 5
7struct tc_gact
8{
9 tc_gen;
10
11};
12
13struct tc_gact_p
14{
15#define PGACT_NONE 0
16#define PGACT_NETRAND 1
17#define PGACT_DETERM 2
18#define MAX_RAND (PGACT_DETERM + 1 )
19 __u16 ptype;
20 __u16 pval;
21 int paction;
22};
23
24enum
25{
26 TCA_GACT_UNSPEC,
27 TCA_GACT_TM,
28 TCA_GACT_PARMS,
29 TCA_GACT_PROB,
30 __TCA_GACT_MAX
31};
32#define TCA_GACT_MAX (__TCA_GACT_MAX - 1)
33
34#endif
diff --git a/include/linux/tc_act/tc_ipt.h b/include/linux/tc_act/tc_ipt.h
new file mode 100644
index 000000000000..4b6f7b6c7a79
--- /dev/null
+++ b/include/linux/tc_act/tc_ipt.h
@@ -0,0 +1,21 @@
1#ifndef __LINUX_TC_IPT_H
2#define __LINUX_TC_IPT_H
3
4#include <linux/pkt_cls.h>
5
6#define TCA_ACT_IPT 6
7
8enum
9{
10 TCA_IPT_UNSPEC,
11 TCA_IPT_TABLE,
12 TCA_IPT_HOOK,
13 TCA_IPT_INDEX,
14 TCA_IPT_CNT,
15 TCA_IPT_TM,
16 TCA_IPT_TARG,
17 __TCA_IPT_MAX
18};
19#define TCA_IPT_MAX (__TCA_IPT_MAX - 1)
20
21#endif
diff --git a/include/linux/tc_act/tc_mirred.h b/include/linux/tc_act/tc_mirred.h
new file mode 100644
index 000000000000..71d63409d568
--- /dev/null
+++ b/include/linux/tc_act/tc_mirred.h
@@ -0,0 +1,28 @@
1#ifndef __LINUX_TC_MIR_H
2#define __LINUX_TC_MIR_H
3
4#include <linux/pkt_cls.h>
5
6#define TCA_ACT_MIRRED 8
7#define TCA_EGRESS_REDIR 1 /* packet redirect to EGRESS*/
8#define TCA_EGRESS_MIRROR 2 /* mirror packet to EGRESS */
9#define TCA_INGRESS_REDIR 3 /* packet redirect to INGRESS*/
10#define TCA_INGRESS_MIRROR 4 /* mirror packet to INGRESS */
11
12struct tc_mirred
13{
14 tc_gen;
15 int eaction; /* one of IN/EGRESS_MIRROR/REDIR */
16 __u32 ifindex; /* ifindex of egress port */
17};
18
19enum
20{
21 TCA_MIRRED_UNSPEC,
22 TCA_MIRRED_TM,
23 TCA_MIRRED_PARMS,
24 __TCA_MIRRED_MAX
25};
26#define TCA_MIRRED_MAX (__TCA_MIRRED_MAX - 1)
27
28#endif
diff --git a/include/linux/tc_act/tc_pedit.h b/include/linux/tc_act/tc_pedit.h
new file mode 100644
index 000000000000..83e56e32e8e0
--- /dev/null
+++ b/include/linux/tc_act/tc_pedit.h
@@ -0,0 +1,36 @@
1#ifndef __LINUX_TC_PED_H
2#define __LINUX_TC_PED_H
3
4#include <linux/pkt_cls.h>
5
6#define TCA_ACT_PEDIT 7
7
8enum
9{
10 TCA_PEDIT_UNSPEC,
11 TCA_PEDIT_TM,
12 TCA_PEDIT_PARMS,
13 __TCA_PEDIT_MAX
14};
15#define TCA_PEDIT_MAX (__TCA_PEDIT_MAX - 1)
16
17struct tc_pedit_key
18{
19 __u32 mask; /* AND */
20 __u32 val; /*XOR */
21 __u32 off; /*offset */
22 __u32 at;
23 __u32 offmask;
24 __u32 shift;
25};
26
27struct tc_pedit_sel
28{
29 tc_gen;
30 unsigned char nkeys;
31 unsigned char flags;
32 struct tc_pedit_key keys[0];
33};
34#define tc_pedit tc_pedit_sel
35
36#endif