diff options
Diffstat (limited to 'include/linux/tc_act')
-rw-r--r-- | include/linux/tc_act/tc_gact.h | 34 | ||||
-rw-r--r-- | include/linux/tc_act/tc_ipt.h | 21 | ||||
-rw-r--r-- | include/linux/tc_act/tc_mirred.h | 28 | ||||
-rw-r--r-- | include/linux/tc_act/tc_pedit.h | 36 |
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 | ||
7 | struct tc_gact | ||
8 | { | ||
9 | tc_gen; | ||
10 | |||
11 | }; | ||
12 | |||
13 | struct 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 | |||
24 | enum | ||
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 | |||
8 | enum | ||
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 | |||
12 | struct tc_mirred | ||
13 | { | ||
14 | tc_gen; | ||
15 | int eaction; /* one of IN/EGRESS_MIRROR/REDIR */ | ||
16 | __u32 ifindex; /* ifindex of egress port */ | ||
17 | }; | ||
18 | |||
19 | enum | ||
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 | |||
8 | enum | ||
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 | |||
17 | struct 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 | |||
27 | struct 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 | ||