1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ***   To edit the content of this header, modify the corresponding
11  ***   source file (e.g. under external/kernel-headers/original/) then
12  ***   run bionic/libc/kernel/tools/update_all.py
13  ***
14  ***   Any manual change here will be lost the next time this script will
15  ***   be run. You've been warned!
16  ***
17  ****************************************************************************
18  ****************************************************************************/
19 #ifndef __LINUX_PKT_CLS_H
20 #define __LINUX_PKT_CLS_H
21 #include <linux/types.h>
22 #include <linux/pkt_sched.h>
23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24 #define _TC_MAKE32(x) ((x))
25 #define _TC_MAKEMASK1(n) (_TC_MAKE32(1) << _TC_MAKE32(n))
26 #define _TC_MAKEMASK(v,n) (_TC_MAKE32((_TC_MAKE32(1) << (v)) - 1) << _TC_MAKE32(n))
27 #define _TC_MAKEVALUE(v,n) (_TC_MAKE32(v) << _TC_MAKE32(n))
28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29 #define _TC_GETVALUE(v,n,m) ((_TC_MAKE32(v) & _TC_MAKE32(m)) >> _TC_MAKE32(n))
30 #define TC_MUNGED _TC_MAKEMASK1(0)
31 #define SET_TC_MUNGED(v) (TC_MUNGED | (v & ~TC_MUNGED))
32 #define CLR_TC_MUNGED(v) (v & ~TC_MUNGED)
33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34 #define TC_OK2MUNGE _TC_MAKEMASK1(1)
35 #define SET_TC_OK2MUNGE(v) (TC_OK2MUNGE | (v & ~TC_OK2MUNGE))
36 #define CLR_TC_OK2MUNGE(v) (v & ~TC_OK2MUNGE)
37 #define S_TC_VERD _TC_MAKE32(2)
38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39 #define M_TC_VERD _TC_MAKEMASK(4, S_TC_VERD)
40 #define G_TC_VERD(x) _TC_GETVALUE(x, S_TC_VERD, M_TC_VERD)
41 #define V_TC_VERD(x) _TC_MAKEVALUE(x, S_TC_VERD)
42 #define SET_TC_VERD(v,n) ((V_TC_VERD(n)) | (v & ~M_TC_VERD))
43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44 #define S_TC_FROM _TC_MAKE32(6)
45 #define M_TC_FROM _TC_MAKEMASK(2, S_TC_FROM)
46 #define G_TC_FROM(x) _TC_GETVALUE(x, S_TC_FROM, M_TC_FROM)
47 #define V_TC_FROM(x) _TC_MAKEVALUE(x, S_TC_FROM)
48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49 #define SET_TC_FROM(v,n) ((V_TC_FROM(n)) | (v & ~M_TC_FROM))
50 #define AT_STACK 0x0
51 #define AT_INGRESS 0x1
52 #define AT_EGRESS 0x2
53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54 #define TC_NCLS _TC_MAKEMASK1(8)
55 #define SET_TC_NCLS(v) (TC_NCLS | (v & ~TC_NCLS))
56 #define CLR_TC_NCLS(v) (v & ~TC_NCLS)
57 #define S_TC_RTTL _TC_MAKE32(9)
58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59 #define M_TC_RTTL _TC_MAKEMASK(3, S_TC_RTTL)
60 #define G_TC_RTTL(x) _TC_GETVALUE(x, S_TC_RTTL, M_TC_RTTL)
61 #define V_TC_RTTL(x) _TC_MAKEVALUE(x, S_TC_RTTL)
62 #define SET_TC_RTTL(v,n) ((V_TC_RTTL(n)) | (v & ~M_TC_RTTL))
63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64 #define S_TC_AT _TC_MAKE32(12)
65 #define M_TC_AT _TC_MAKEMASK(2, S_TC_AT)
66 #define G_TC_AT(x) _TC_GETVALUE(x, S_TC_AT, M_TC_AT)
67 #define V_TC_AT(x) _TC_MAKEVALUE(x, S_TC_AT)
68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69 #define SET_TC_AT(v,n) ((V_TC_AT(n)) | (v & ~M_TC_AT))
70 enum {
71   TCA_ACT_UNSPEC,
72   TCA_ACT_KIND,
73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74   TCA_ACT_OPTIONS,
75   TCA_ACT_INDEX,
76   TCA_ACT_STATS,
77   __TCA_ACT_MAX
78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79 };
80 #define TCA_ACT_MAX __TCA_ACT_MAX
81 #define TCA_OLD_COMPAT (TCA_ACT_MAX + 1)
82 #define TCA_ACT_MAX_PRIO 32
83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84 #define TCA_ACT_BIND 1
85 #define TCA_ACT_NOBIND 0
86 #define TCA_ACT_UNBIND 1
87 #define TCA_ACT_NOUNBIND 0
88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89 #define TCA_ACT_REPLACE 1
90 #define TCA_ACT_NOREPLACE 0
91 #define MAX_REC_LOOP 4
92 #define MAX_RED_LOOP 4
93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94 #define TC_ACT_UNSPEC (- 1)
95 #define TC_ACT_OK 0
96 #define TC_ACT_RECLASSIFY 1
97 #define TC_ACT_SHOT 2
98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99 #define TC_ACT_PIPE 3
100 #define TC_ACT_STOLEN 4
101 #define TC_ACT_QUEUED 5
102 #define TC_ACT_REPEAT 6
103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104 #define TC_ACT_JUMP 0x10000000
105 enum {
106   TCA_ID_UNSPEC = 0,
107   TCA_ID_POLICE = 1,
108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109   __TCA_ID_MAX = 255
110 };
111 #define TCA_ID_MAX __TCA_ID_MAX
112 struct tc_police {
113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114   __u32 index;
115   int action;
116 #define TC_POLICE_UNSPEC TC_ACT_UNSPEC
117 #define TC_POLICE_OK TC_ACT_OK
118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119 #define TC_POLICE_RECLASSIFY TC_ACT_RECLASSIFY
120 #define TC_POLICE_SHOT TC_ACT_SHOT
121 #define TC_POLICE_PIPE TC_ACT_PIPE
122   __u32 limit;
123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124   __u32 burst;
125   __u32 mtu;
126   struct tc_ratespec rate;
127   struct tc_ratespec peakrate;
128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129   int refcnt;
130   int bindcnt;
131   __u32 capab;
132 };
133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134 struct tcf_t {
135   __u64 install;
136   __u64 lastuse;
137   __u64 expires;
138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139 };
140 struct tc_cnt {
141   int refcnt;
142   int bindcnt;
143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144 };
145 #define tc_gen __u32 index; __u32 capab; int action; int refcnt; int bindcnt
146 enum {
147   TCA_POLICE_UNSPEC,
148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149   TCA_POLICE_TBF,
150   TCA_POLICE_RATE,
151   TCA_POLICE_PEAKRATE,
152   TCA_POLICE_AVRATE,
153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154   TCA_POLICE_RESULT,
155   __TCA_POLICE_MAX
156 #define TCA_POLICE_RESULT TCA_POLICE_RESULT
157 };
158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159 #define TCA_POLICE_MAX (__TCA_POLICE_MAX - 1)
160 #define TC_U32_HTID(h) ((h) & 0xFFF00000)
161 #define TC_U32_USERHTID(h) (TC_U32_HTID(h) >> 20)
162 #define TC_U32_HASH(h) (((h) >> 12) & 0xFF)
163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164 #define TC_U32_NODE(h) ((h) & 0xFFF)
165 #define TC_U32_KEY(h) ((h) & 0xFFFFF)
166 #define TC_U32_UNSPEC 0
167 #define TC_U32_ROOT (0xFFF00000)
168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169 enum {
170   TCA_U32_UNSPEC,
171   TCA_U32_CLASSID,
172   TCA_U32_HASH,
173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174   TCA_U32_LINK,
175   TCA_U32_DIVISOR,
176   TCA_U32_SEL,
177   TCA_U32_POLICE,
178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179   TCA_U32_ACT,
180   TCA_U32_INDEV,
181   TCA_U32_PCNT,
182   TCA_U32_MARK,
183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184   __TCA_U32_MAX
185 };
186 #define TCA_U32_MAX (__TCA_U32_MAX - 1)
187 struct tc_u32_key {
188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189   __be32 mask;
190   __be32 val;
191   int off;
192   int offmask;
193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194 };
195 struct tc_u32_sel {
196   unsigned char flags;
197   unsigned char offshift;
198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199   unsigned char nkeys;
200   __be16 offmask;
201   __u16 off;
202   short offoff;
203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204   short hoff;
205   __be32 hmask;
206   struct tc_u32_key keys[0];
207 };
208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209 struct tc_u32_mark {
210   __u32 val;
211   __u32 mask;
212   __u32 success;
213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
214 };
215 struct tc_u32_pcnt {
216   __u64 rcnt;
217   __u64 rhit;
218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219   __u64 kcnts[0];
220 };
221 #define TC_U32_TERMINAL 1
222 #define TC_U32_OFFSET 2
223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
224 #define TC_U32_VAROFFSET 4
225 #define TC_U32_EAT 8
226 #define TC_U32_MAXDEPTH 8
227 enum {
228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
229   TCA_RSVP_UNSPEC,
230   TCA_RSVP_CLASSID,
231   TCA_RSVP_DST,
232   TCA_RSVP_SRC,
233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
234   TCA_RSVP_PINFO,
235   TCA_RSVP_POLICE,
236   TCA_RSVP_ACT,
237   __TCA_RSVP_MAX
238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
239 };
240 #define TCA_RSVP_MAX (__TCA_RSVP_MAX - 1)
241 struct tc_rsvp_gpi {
242   __u32 key;
243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
244   __u32 mask;
245   int offset;
246 };
247 struct tc_rsvp_pinfo {
248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
249   struct tc_rsvp_gpi dpi;
250   struct tc_rsvp_gpi spi;
251   __u8 protocol;
252   __u8 tunnelid;
253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
254   __u8 tunnelhdr;
255   __u8 pad;
256 };
257 enum {
258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
259   TCA_ROUTE4_UNSPEC,
260   TCA_ROUTE4_CLASSID,
261   TCA_ROUTE4_TO,
262   TCA_ROUTE4_FROM,
263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
264   TCA_ROUTE4_IIF,
265   TCA_ROUTE4_POLICE,
266   TCA_ROUTE4_ACT,
267   __TCA_ROUTE4_MAX
268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
269 };
270 #define TCA_ROUTE4_MAX (__TCA_ROUTE4_MAX - 1)
271 enum {
272   TCA_FW_UNSPEC,
273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
274   TCA_FW_CLASSID,
275   TCA_FW_POLICE,
276   TCA_FW_INDEV,
277   TCA_FW_ACT,
278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
279   TCA_FW_MASK,
280   __TCA_FW_MAX
281 };
282 #define TCA_FW_MAX (__TCA_FW_MAX - 1)
283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
284 enum {
285   TCA_TCINDEX_UNSPEC,
286   TCA_TCINDEX_HASH,
287   TCA_TCINDEX_MASK,
288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
289   TCA_TCINDEX_SHIFT,
290   TCA_TCINDEX_FALL_THROUGH,
291   TCA_TCINDEX_CLASSID,
292   TCA_TCINDEX_POLICE,
293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
294   TCA_TCINDEX_ACT,
295   __TCA_TCINDEX_MAX
296 };
297 #define TCA_TCINDEX_MAX (__TCA_TCINDEX_MAX - 1)
298 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
299 enum {
300   FLOW_KEY_SRC,
301   FLOW_KEY_DST,
302   FLOW_KEY_PROTO,
303 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
304   FLOW_KEY_PROTO_SRC,
305   FLOW_KEY_PROTO_DST,
306   FLOW_KEY_IIF,
307   FLOW_KEY_PRIORITY,
308 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
309   FLOW_KEY_MARK,
310   FLOW_KEY_NFCT,
311   FLOW_KEY_NFCT_SRC,
312   FLOW_KEY_NFCT_DST,
313 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
314   FLOW_KEY_NFCT_PROTO_SRC,
315   FLOW_KEY_NFCT_PROTO_DST,
316   FLOW_KEY_RTCLASSID,
317   FLOW_KEY_SKUID,
318 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
319   FLOW_KEY_SKGID,
320   FLOW_KEY_VLAN_TAG,
321   FLOW_KEY_RXHASH,
322   __FLOW_KEY_MAX,
323 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
324 };
325 #define FLOW_KEY_MAX (__FLOW_KEY_MAX - 1)
326 enum {
327   FLOW_MODE_MAP,
328 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
329   FLOW_MODE_HASH,
330 };
331 enum {
332   TCA_FLOW_UNSPEC,
333 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
334   TCA_FLOW_KEYS,
335   TCA_FLOW_MODE,
336   TCA_FLOW_BASECLASS,
337   TCA_FLOW_RSHIFT,
338 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
339   TCA_FLOW_ADDEND,
340   TCA_FLOW_MASK,
341   TCA_FLOW_XOR,
342   TCA_FLOW_DIVISOR,
343 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
344   TCA_FLOW_ACT,
345   TCA_FLOW_POLICE,
346   TCA_FLOW_EMATCHES,
347   TCA_FLOW_PERTURB,
348 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
349   __TCA_FLOW_MAX
350 };
351 #define TCA_FLOW_MAX (__TCA_FLOW_MAX - 1)
352 enum {
353 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
354   TCA_BASIC_UNSPEC,
355   TCA_BASIC_CLASSID,
356   TCA_BASIC_EMATCHES,
357   TCA_BASIC_ACT,
358 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
359   TCA_BASIC_POLICE,
360   __TCA_BASIC_MAX
361 };
362 #define TCA_BASIC_MAX (__TCA_BASIC_MAX - 1)
363 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
364 enum {
365   TCA_CGROUP_UNSPEC,
366   TCA_CGROUP_ACT,
367   TCA_CGROUP_POLICE,
368 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
369   TCA_CGROUP_EMATCHES,
370   __TCA_CGROUP_MAX,
371 };
372 #define TCA_CGROUP_MAX (__TCA_CGROUP_MAX - 1)
373 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
374 enum {
375   TCA_BPF_UNSPEC,
376   TCA_BPF_ACT,
377   TCA_BPF_POLICE,
378 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
379   TCA_BPF_CLASSID,
380   TCA_BPF_OPS_LEN,
381   TCA_BPF_OPS,
382   __TCA_BPF_MAX,
383 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
384 };
385 #define TCA_BPF_MAX (__TCA_BPF_MAX - 1)
386 struct tcf_ematch_tree_hdr {
387   __u16 nmatches;
388 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
389   __u16 progid;
390 };
391 enum {
392   TCA_EMATCH_TREE_UNSPEC,
393 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
394   TCA_EMATCH_TREE_HDR,
395   TCA_EMATCH_TREE_LIST,
396   __TCA_EMATCH_TREE_MAX
397 };
398 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
399 #define TCA_EMATCH_TREE_MAX (__TCA_EMATCH_TREE_MAX - 1)
400 struct tcf_ematch_hdr {
401   __u16 matchid;
402   __u16 kind;
403 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
404   __u16 flags;
405   __u16 pad;
406 };
407 #define TCF_EM_REL_END 0
408 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
409 #define TCF_EM_REL_AND (1 << 0)
410 #define TCF_EM_REL_OR (1 << 1)
411 #define TCF_EM_INVERT (1 << 2)
412 #define TCF_EM_SIMPLE (1 << 3)
413 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
414 #define TCF_EM_REL_MASK 3
415 #define TCF_EM_REL_VALID(v) (((v) & TCF_EM_REL_MASK) != TCF_EM_REL_MASK)
416 enum {
417   TCF_LAYER_LINK,
418 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
419   TCF_LAYER_NETWORK,
420   TCF_LAYER_TRANSPORT,
421   __TCF_LAYER_MAX
422 };
423 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
424 #define TCF_LAYER_MAX (__TCF_LAYER_MAX - 1)
425 #define TCF_EM_CONTAINER 0
426 #define TCF_EM_CMP 1
427 #define TCF_EM_NBYTE 2
428 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
429 #define TCF_EM_U32 3
430 #define TCF_EM_META 4
431 #define TCF_EM_TEXT 5
432 #define TCF_EM_VLAN 6
433 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
434 #define TCF_EM_CANID 7
435 #define TCF_EM_IPSET 8
436 #define TCF_EM_MAX 8
437 enum {
438 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
439   TCF_EM_PROG_TC
440 };
441 enum {
442   TCF_EM_OPND_EQ,
443 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
444   TCF_EM_OPND_GT,
445   TCF_EM_OPND_LT
446 };
447 #endif
448 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
449