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