Linux-libre 4.9.189-gnu
[librecmc/linux-libre.git] / include / uapi / linux / tc_act / tc_ife.h
1 #ifndef __UAPI_TC_IFE_H
2 #define __UAPI_TC_IFE_H
3
4 #include <linux/types.h>
5 #include <linux/pkt_cls.h>
6
7 #define TCA_ACT_IFE 25
8 /* Flag bits for now just encoding/decoding; mutually exclusive */
9 #define IFE_ENCODE 1
10 #define IFE_DECODE 0
11
12 struct tc_ife {
13         tc_gen;
14         __u16 flags;
15 };
16
17 /*XXX: We need to encode the total number of bytes consumed */
18 enum {
19         TCA_IFE_UNSPEC,
20         TCA_IFE_PARMS,
21         TCA_IFE_TM,
22         TCA_IFE_DMAC,
23         TCA_IFE_SMAC,
24         TCA_IFE_TYPE,
25         TCA_IFE_METALST,
26         TCA_IFE_PAD,
27         __TCA_IFE_MAX
28 };
29 #define TCA_IFE_MAX (__TCA_IFE_MAX - 1)
30
31 #define IFE_META_SKBMARK 1
32 #define IFE_META_HASHID 2
33 #define IFE_META_PRIO 3
34 #define IFE_META_QMAP 4
35 #define IFE_META_TCINDEX 5
36 /*Can be overridden at runtime by module option*/
37 #define __IFE_META_MAX 6
38 #define IFE_META_MAX (__IFE_META_MAX - 1)
39
40 #endif