130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#ifndef __LINUX_TC_MIR_H
230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define __LINUX_TC_MIR_H
330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#include <linux/types.h>
530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#include <linux/pkt_cls.h>
630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define TCA_ACT_MIRRED 8
830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define TCA_EGRESS_REDIR 1  /* packet redirect to EGRESS*/
930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define TCA_EGRESS_MIRROR 2 /* mirror packet to EGRESS */
1030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define TCA_INGRESS_REDIR 3  /* packet redirect to INGRESS*/
1130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define TCA_INGRESS_MIRROR 4 /* mirror packet to INGRESS */
1230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
1330692c65c4174412c90e79489e98ab85c1a7412fBen Chengstruct tc_mirred {
1430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	tc_gen;
1530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	int                     eaction;   /* one of IN/EGRESS_MIRROR/REDIR */
1630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	__u32                   ifindex;  /* ifindex of egress port */
1730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng};
1830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
1930692c65c4174412c90e79489e98ab85c1a7412fBen Chengenum {
2030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	TCA_MIRRED_UNSPEC,
2130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	TCA_MIRRED_TM,
2230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	TCA_MIRRED_PARMS,
2330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	__TCA_MIRRED_MAX
2430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng};
2530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define TCA_MIRRED_MAX (__TCA_MIRRED_MAX - 1)
2630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
2730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#endif
28