• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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