Home | History | Annotate | Download | only in linux
      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 {
     72  TCA_ACT_UNSPEC,
     73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     74  TCA_ACT_KIND,
     75  TCA_ACT_OPTIONS,
     76  TCA_ACT_INDEX,
     77  TCA_ACT_STATS,
     78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     79  __TCA_ACT_MAX
     80 };
     81 #define TCA_ACT_MAX __TCA_ACT_MAX
     82 #define TCA_OLD_COMPAT (TCA_ACT_MAX+1)
     83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     84 #define TCA_ACT_MAX_PRIO 32
     85 #define TCA_ACT_BIND 1
     86 #define TCA_ACT_NOBIND 0
     87 #define TCA_ACT_UNBIND 1
     88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     89 #define TCA_ACT_NOUNBIND 0
     90 #define TCA_ACT_REPLACE 1
     91 #define TCA_ACT_NOREPLACE 0
     92 #define MAX_REC_LOOP 4
     93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     94 #define MAX_RED_LOOP 4
     95 #define TC_ACT_UNSPEC (-1)
     96 #define TC_ACT_OK 0
     97 #define TC_ACT_RECLASSIFY 1
     98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     99 #define TC_ACT_SHOT 2
    100 #define TC_ACT_PIPE 3
    101 #define TC_ACT_STOLEN 4
    102 #define TC_ACT_QUEUED 5
    103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    104 #define TC_ACT_REPEAT 6
    105 #define TC_ACT_JUMP 0x10000000
    106 enum
    107 {
    108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    109  TCA_ID_UNSPEC=0,
    110  TCA_ID_POLICE=1,
    111  __TCA_ID_MAX=255
    112 };
    113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    114 #define TCA_ID_MAX __TCA_ID_MAX
    115 struct tc_police
    116 {
    117  __u32 index;
    118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    119  int action;
    120 #define TC_POLICE_UNSPEC TC_ACT_UNSPEC
    121 #define TC_POLICE_OK TC_ACT_OK
    122 #define TC_POLICE_RECLASSIFY TC_ACT_RECLASSIFY
    123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    124 #define TC_POLICE_SHOT TC_ACT_SHOT
    125 #define TC_POLICE_PIPE TC_ACT_PIPE
    126  __u32 limit;
    127  __u32 burst;
    128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    129  __u32 mtu;
    130  struct tc_ratespec rate;
    131  struct tc_ratespec peakrate;
    132  int refcnt;
    133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    134  int bindcnt;
    135  __u32 capab;
    136 };
    137 struct tcf_t
    138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    139 {
    140  __u64 install;
    141  __u64 lastuse;
    142  __u64 expires;
    143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    144 };
    145 struct tc_cnt
    146 {
    147  int refcnt;
    148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    149  int bindcnt;
    150 };
    151 #define tc_gen   __u32 index;   __u32 capab;   int action;   int refcnt;   int bindcnt
    152 enum
    153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    154 {
    155  TCA_POLICE_UNSPEC,
    156  TCA_POLICE_TBF,
    157  TCA_POLICE_RATE,
    158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    159  TCA_POLICE_PEAKRATE,
    160  TCA_POLICE_AVRATE,
    161  TCA_POLICE_RESULT,
    162  __TCA_POLICE_MAX
    163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    164 #define TCA_POLICE_RESULT TCA_POLICE_RESULT
    165 };
    166 #define TCA_POLICE_MAX (__TCA_POLICE_MAX - 1)
    167 #define TC_U32_HTID(h) ((h)&0xFFF00000)
    168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    169 #define TC_U32_USERHTID(h) (TC_U32_HTID(h)>>20)
    170 #define TC_U32_HASH(h) (((h)>>12)&0xFF)
    171 #define TC_U32_NODE(h) ((h)&0xFFF)
    172 #define TC_U32_KEY(h) ((h)&0xFFFFF)
    173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    174 #define TC_U32_UNSPEC 0
    175 #define TC_U32_ROOT (0xFFF00000)
    176 enum
    177 {
    178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    179  TCA_U32_UNSPEC,
    180  TCA_U32_CLASSID,
    181  TCA_U32_HASH,
    182  TCA_U32_LINK,
    183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    184  TCA_U32_DIVISOR,
    185  TCA_U32_SEL,
    186  TCA_U32_POLICE,
    187  TCA_U32_ACT,
    188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    189  TCA_U32_INDEV,
    190  TCA_U32_PCNT,
    191  TCA_U32_MARK,
    192  __TCA_U32_MAX
    193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    194 };
    195 #define TCA_U32_MAX (__TCA_U32_MAX - 1)
    196 struct tc_u32_key
    197 {
    198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    199  __be32 mask;
    200  __be32 val;
    201  int off;
    202  int offmask;
    203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    204 };
    205 struct tc_u32_sel
    206 {
    207  unsigned char flags;
    208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    209  unsigned char offshift;
    210  unsigned char nkeys;
    211  __be16 offmask;
    212  __u16 off;
    213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    214  short offoff;
    215  short hoff;
    216  __be32 hmask;
    217  struct tc_u32_key keys[0];
    218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    219 };
    220 struct tc_u32_mark
    221 {
    222  __u32 val;
    223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    224  __u32 mask;
    225  __u32 success;
    226 };
    227 struct tc_u32_pcnt
    228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    229 {
    230  __u64 rcnt;
    231  __u64 rhit;
    232  __u64 kcnts[0];
    233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    234 };
    235 #define TC_U32_TERMINAL 1
    236 #define TC_U32_OFFSET 2
    237 #define TC_U32_VAROFFSET 4
    238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    239 #define TC_U32_EAT 8
    240 #define TC_U32_MAXDEPTH 8
    241 enum
    242 {
    243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    244  TCA_RSVP_UNSPEC,
    245  TCA_RSVP_CLASSID,
    246  TCA_RSVP_DST,
    247  TCA_RSVP_SRC,
    248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    249  TCA_RSVP_PINFO,
    250  TCA_RSVP_POLICE,
    251  TCA_RSVP_ACT,
    252  __TCA_RSVP_MAX
    253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    254 };
    255 #define TCA_RSVP_MAX (__TCA_RSVP_MAX - 1 )
    256 struct tc_rsvp_gpi
    257 {
    258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    259  __u32 key;
    260  __u32 mask;
    261  int offset;
    262 };
    263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    264 struct tc_rsvp_pinfo
    265 {
    266  struct tc_rsvp_gpi dpi;
    267  struct tc_rsvp_gpi spi;
    268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    269  __u8 protocol;
    270  __u8 tunnelid;
    271  __u8 tunnelhdr;
    272  __u8 pad;
    273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    274 };
    275 enum
    276 {
    277  TCA_ROUTE4_UNSPEC,
    278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    279  TCA_ROUTE4_CLASSID,
    280  TCA_ROUTE4_TO,
    281  TCA_ROUTE4_FROM,
    282  TCA_ROUTE4_IIF,
    283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    284  TCA_ROUTE4_POLICE,
    285  TCA_ROUTE4_ACT,
    286  __TCA_ROUTE4_MAX
    287 };
    288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    289 #define TCA_ROUTE4_MAX (__TCA_ROUTE4_MAX - 1)
    290 enum
    291 {
    292  TCA_FW_UNSPEC,
    293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    294  TCA_FW_CLASSID,
    295  TCA_FW_POLICE,
    296  TCA_FW_INDEV,
    297  TCA_FW_ACT,
    298 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    299  TCA_FW_MASK,
    300  __TCA_FW_MAX
    301 };
    302 #define TCA_FW_MAX (__TCA_FW_MAX - 1)
    303 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    304 enum
    305 {
    306  TCA_TCINDEX_UNSPEC,
    307  TCA_TCINDEX_HASH,
    308 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    309  TCA_TCINDEX_MASK,
    310  TCA_TCINDEX_SHIFT,
    311  TCA_TCINDEX_FALL_THROUGH,
    312  TCA_TCINDEX_CLASSID,
    313 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    314  TCA_TCINDEX_POLICE,
    315  TCA_TCINDEX_ACT,
    316  __TCA_TCINDEX_MAX
    317 };
    318 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    319 #define TCA_TCINDEX_MAX (__TCA_TCINDEX_MAX - 1)
    320 enum
    321 {
    322  FLOW_KEY_SRC,
    323 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    324  FLOW_KEY_DST,
    325  FLOW_KEY_PROTO,
    326  FLOW_KEY_PROTO_SRC,
    327  FLOW_KEY_PROTO_DST,
    328 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    329  FLOW_KEY_IIF,
    330  FLOW_KEY_PRIORITY,
    331  FLOW_KEY_MARK,
    332  FLOW_KEY_NFCT,
    333 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    334  FLOW_KEY_NFCT_SRC,
    335  FLOW_KEY_NFCT_DST,
    336  FLOW_KEY_NFCT_PROTO_SRC,
    337  FLOW_KEY_NFCT_PROTO_DST,
    338 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    339  FLOW_KEY_RTCLASSID,
    340  FLOW_KEY_SKUID,
    341  FLOW_KEY_SKGID,
    342  FLOW_KEY_VLAN_TAG,
    343 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    344  __FLOW_KEY_MAX,
    345 };
    346 #define FLOW_KEY_MAX (__FLOW_KEY_MAX - 1)
    347 enum
    348 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    349 {
    350  FLOW_MODE_MAP,
    351  FLOW_MODE_HASH,
    352 };
    353 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    354 enum
    355 {
    356  TCA_FLOW_UNSPEC,
    357  TCA_FLOW_KEYS,
    358 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    359  TCA_FLOW_MODE,
    360  TCA_FLOW_BASECLASS,
    361  TCA_FLOW_RSHIFT,
    362  TCA_FLOW_ADDEND,
    363 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    364  TCA_FLOW_MASK,
    365  TCA_FLOW_XOR,
    366  TCA_FLOW_DIVISOR,
    367  TCA_FLOW_ACT,
    368 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    369  TCA_FLOW_POLICE,
    370  TCA_FLOW_EMATCHES,
    371  TCA_FLOW_PERTURB,
    372  __TCA_FLOW_MAX
    373 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    374 };
    375 #define TCA_FLOW_MAX (__TCA_FLOW_MAX - 1)
    376 enum
    377 {
    378 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    379  TCA_BASIC_UNSPEC,
    380  TCA_BASIC_CLASSID,
    381  TCA_BASIC_EMATCHES,
    382  TCA_BASIC_ACT,
    383 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    384  TCA_BASIC_POLICE,
    385  __TCA_BASIC_MAX
    386 };
    387 #define TCA_BASIC_MAX (__TCA_BASIC_MAX - 1)
    388 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    389 enum
    390 {
    391  TCA_CGROUP_UNSPEC,
    392  TCA_CGROUP_ACT,
    393 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    394  TCA_CGROUP_POLICE,
    395  TCA_CGROUP_EMATCHES,
    396  __TCA_CGROUP_MAX,
    397 };
    398 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    399 #define TCA_CGROUP_MAX (__TCA_CGROUP_MAX - 1)
    400 struct tcf_ematch_tree_hdr
    401 {
    402  __u16 nmatches;
    403 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    404  __u16 progid;
    405 };
    406 enum
    407 {
    408 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    409  TCA_EMATCH_TREE_UNSPEC,
    410  TCA_EMATCH_TREE_HDR,
    411  TCA_EMATCH_TREE_LIST,
    412  __TCA_EMATCH_TREE_MAX
    413 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    414 };
    415 #define TCA_EMATCH_TREE_MAX (__TCA_EMATCH_TREE_MAX - 1)
    416 struct tcf_ematch_hdr
    417 {
    418 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    419  __u16 matchid;
    420  __u16 kind;
    421  __u16 flags;
    422  __u16 pad;
    423 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    424 };
    425 #define TCF_EM_REL_END 0
    426 #define TCF_EM_REL_AND (1<<0)
    427 #define TCF_EM_REL_OR (1<<1)
    428 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    429 #define TCF_EM_INVERT (1<<2)
    430 #define TCF_EM_SIMPLE (1<<3)
    431 #define TCF_EM_REL_MASK 3
    432 #define TCF_EM_REL_VALID(v) (((v) & TCF_EM_REL_MASK) != TCF_EM_REL_MASK)
    433 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    434 enum
    435 {
    436  TCF_LAYER_LINK,
    437  TCF_LAYER_NETWORK,
    438 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    439  TCF_LAYER_TRANSPORT,
    440  __TCF_LAYER_MAX
    441 };
    442 #define TCF_LAYER_MAX (__TCF_LAYER_MAX - 1)
    443 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    444 #define TCF_EM_CONTAINER 0
    445 #define TCF_EM_CMP 1
    446 #define TCF_EM_NBYTE 2
    447 #define TCF_EM_U32 3
    448 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    449 #define TCF_EM_META 4
    450 #define TCF_EM_TEXT 5
    451 #define TCF_EM_VLAN 6
    452 #define TCF_EM_MAX 6
    453 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    454 enum
    455 {
    456  TCF_EM_PROG_TC
    457 };
    458 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    459 enum
    460 {
    461  TCF_EM_OPND_EQ,
    462  TCF_EM_OPND_GT,
    463 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    464  TCF_EM_OPND_LT
    465 };
    466 #endif
    467