xref: /linux/include/uapi/linux/tc_act/tc_mirred.h (revision 611128eb3927941abcfdca5b7515cf02aab601ec)
1*611128ebSDavid Howells #ifndef __LINUX_TC_MIR_H
2*611128ebSDavid Howells #define __LINUX_TC_MIR_H
3*611128ebSDavid Howells 
4*611128ebSDavid Howells #include <linux/types.h>
5*611128ebSDavid Howells #include <linux/pkt_cls.h>
6*611128ebSDavid Howells 
7*611128ebSDavid Howells #define TCA_ACT_MIRRED 8
8*611128ebSDavid Howells #define TCA_EGRESS_REDIR 1  /* packet redirect to EGRESS*/
9*611128ebSDavid Howells #define TCA_EGRESS_MIRROR 2 /* mirror packet to EGRESS */
10*611128ebSDavid Howells #define TCA_INGRESS_REDIR 3  /* packet redirect to INGRESS*/
11*611128ebSDavid Howells #define TCA_INGRESS_MIRROR 4 /* mirror packet to INGRESS */
12*611128ebSDavid Howells 
13*611128ebSDavid Howells struct tc_mirred {
14*611128ebSDavid Howells 	tc_gen;
15*611128ebSDavid Howells 	int                     eaction;   /* one of IN/EGRESS_MIRROR/REDIR */
16*611128ebSDavid Howells 	__u32                   ifindex;  /* ifindex of egress port */
17*611128ebSDavid Howells };
18*611128ebSDavid Howells 
19*611128ebSDavid Howells enum {
20*611128ebSDavid Howells 	TCA_MIRRED_UNSPEC,
21*611128ebSDavid Howells 	TCA_MIRRED_TM,
22*611128ebSDavid Howells 	TCA_MIRRED_PARMS,
23*611128ebSDavid Howells 	__TCA_MIRRED_MAX
24*611128ebSDavid Howells };
25*611128ebSDavid Howells #define TCA_MIRRED_MAX (__TCA_MIRRED_MAX - 1)
26*611128ebSDavid Howells 
27*611128ebSDavid Howells #endif
28