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_SCHED_H 20 #define __LINUX_PKT_SCHED_H 21 #include <linux/types.h> 22 #define TC_PRIO_BESTEFFORT 0 23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 24 #define TC_PRIO_FILLER 1 25 #define TC_PRIO_BULK 2 26 #define TC_PRIO_INTERACTIVE_BULK 4 27 #define TC_PRIO_INTERACTIVE 6 28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 29 #define TC_PRIO_CONTROL 7 30 #define TC_PRIO_MAX 15 31 struct tc_stats { 32 __u64 bytes; 33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 34 __u32 packets; 35 __u32 drops; 36 __u32 overlimits; 37 __u32 bps; 38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 39 __u32 pps; 40 __u32 qlen; 41 __u32 backlog; 42 }; 43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 44 struct tc_estimator { 45 signed char interval; 46 unsigned char ewma_log; 47 }; 48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 49 #define TC_H_MAJ_MASK (0xFFFF0000U) 50 #define TC_H_MIN_MASK (0x0000FFFFU) 51 #define TC_H_MAJ(h) ((h) & TC_H_MAJ_MASK) 52 #define TC_H_MIN(h) ((h) & TC_H_MIN_MASK) 53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 54 #define TC_H_MAKE(maj,min) (((maj) & TC_H_MAJ_MASK) | ((min) & TC_H_MIN_MASK)) 55 #define TC_H_UNSPEC (0U) 56 #define TC_H_ROOT (0xFFFFFFFFU) 57 #define TC_H_INGRESS (0xFFFFFFF1U) 58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 59 #define TC_H_CLSACT TC_H_INGRESS 60 #define TC_H_MIN_INGRESS 0xFFF2U 61 #define TC_H_MIN_EGRESS 0xFFF3U 62 enum tc_link_layer { 63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 64 TC_LINKLAYER_UNAWARE, 65 TC_LINKLAYER_ETHERNET, 66 TC_LINKLAYER_ATM, 67 }; 68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 69 #define TC_LINKLAYER_MASK 0x0F 70 struct tc_ratespec { 71 unsigned char cell_log; 72 __u8 linklayer; 73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 74 unsigned short overhead; 75 short cell_align; 76 unsigned short mpu; 77 __u32 rate; 78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 79 }; 80 #define TC_RTAB_SIZE 1024 81 struct tc_sizespec { 82 unsigned char cell_log; 83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 84 unsigned char size_log; 85 short cell_align; 86 int overhead; 87 unsigned int linklayer; 88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 89 unsigned int mpu; 90 unsigned int mtu; 91 unsigned int tsize; 92 }; 93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 94 enum { 95 TCA_STAB_UNSPEC, 96 TCA_STAB_BASE, 97 TCA_STAB_DATA, 98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 99 __TCA_STAB_MAX 100 }; 101 #define TCA_STAB_MAX (__TCA_STAB_MAX - 1) 102 struct tc_fifo_qopt { 103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 104 __u32 limit; 105 }; 106 #define TCQ_PRIO_BANDS 16 107 #define TCQ_MIN_PRIO_BANDS 2 108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 109 struct tc_prio_qopt { 110 int bands; 111 __u8 priomap[TC_PRIO_MAX + 1]; 112 }; 113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 114 struct tc_multiq_qopt { 115 __u16 bands; 116 __u16 max_bands; 117 }; 118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 119 #define TCQ_PLUG_BUFFER 0 120 #define TCQ_PLUG_RELEASE_ONE 1 121 #define TCQ_PLUG_RELEASE_INDEFINITE 2 122 #define TCQ_PLUG_LIMIT 3 123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 124 struct tc_plug_qopt { 125 int action; 126 __u32 limit; 127 }; 128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 129 struct tc_tbf_qopt { 130 struct tc_ratespec rate; 131 struct tc_ratespec peakrate; 132 __u32 limit; 133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 134 __u32 buffer; 135 __u32 mtu; 136 }; 137 enum { 138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 139 TCA_TBF_UNSPEC, 140 TCA_TBF_PARMS, 141 TCA_TBF_RTAB, 142 TCA_TBF_PTAB, 143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 144 TCA_TBF_RATE64, 145 TCA_TBF_PRATE64, 146 TCA_TBF_BURST, 147 TCA_TBF_PBURST, 148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 149 TCA_TBF_PAD, 150 __TCA_TBF_MAX, 151 }; 152 #define TCA_TBF_MAX (__TCA_TBF_MAX - 1) 153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 154 struct tc_sfq_qopt { 155 unsigned quantum; 156 int perturb_period; 157 __u32 limit; 158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 159 unsigned divisor; 160 unsigned flows; 161 }; 162 struct tc_sfqred_stats { 163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 164 __u32 prob_drop; 165 __u32 forced_drop; 166 __u32 prob_mark; 167 __u32 forced_mark; 168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 169 __u32 prob_mark_head; 170 __u32 forced_mark_head; 171 }; 172 struct tc_sfq_qopt_v1 { 173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 174 struct tc_sfq_qopt v0; 175 unsigned int depth; 176 unsigned int headdrop; 177 __u32 limit; 178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 179 __u32 qth_min; 180 __u32 qth_max; 181 unsigned char Wlog; 182 unsigned char Plog; 183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 184 unsigned char Scell_log; 185 unsigned char flags; 186 __u32 max_P; 187 struct tc_sfqred_stats stats; 188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 189 }; 190 struct tc_sfq_xstats { 191 __s32 allot; 192 }; 193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 194 enum { 195 TCA_RED_UNSPEC, 196 TCA_RED_PARMS, 197 TCA_RED_STAB, 198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 199 TCA_RED_MAX_P, 200 __TCA_RED_MAX, 201 }; 202 #define TCA_RED_MAX (__TCA_RED_MAX - 1) 203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 204 struct tc_red_qopt { 205 __u32 limit; 206 __u32 qth_min; 207 __u32 qth_max; 208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 209 unsigned char Wlog; 210 unsigned char Plog; 211 unsigned char Scell_log; 212 unsigned char flags; 213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 214 #define TC_RED_ECN 1 215 #define TC_RED_HARDDROP 2 216 #define TC_RED_ADAPTATIVE 4 217 }; 218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 219 struct tc_red_xstats { 220 __u32 early; 221 __u32 pdrop; 222 __u32 other; 223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 224 __u32 marked; 225 }; 226 #define MAX_DPs 16 227 enum { 228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 229 TCA_GRED_UNSPEC, 230 TCA_GRED_PARMS, 231 TCA_GRED_STAB, 232 TCA_GRED_DPS, 233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 234 TCA_GRED_MAX_P, 235 TCA_GRED_LIMIT, 236 __TCA_GRED_MAX, 237 }; 238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 239 #define TCA_GRED_MAX (__TCA_GRED_MAX - 1) 240 struct tc_gred_qopt { 241 __u32 limit; 242 __u32 qth_min; 243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 244 __u32 qth_max; 245 __u32 DP; 246 __u32 backlog; 247 __u32 qave; 248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 249 __u32 forced; 250 __u32 early; 251 __u32 other; 252 __u32 pdrop; 253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 254 __u8 Wlog; 255 __u8 Plog; 256 __u8 Scell_log; 257 __u8 prio; 258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 259 __u32 packets; 260 __u32 bytesin; 261 }; 262 struct tc_gred_sopt { 263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 264 __u32 DPs; 265 __u32 def_DP; 266 __u8 grio; 267 __u8 flags; 268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 269 __u16 pad1; 270 }; 271 enum { 272 TCA_CHOKE_UNSPEC, 273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 274 TCA_CHOKE_PARMS, 275 TCA_CHOKE_STAB, 276 TCA_CHOKE_MAX_P, 277 __TCA_CHOKE_MAX, 278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 279 }; 280 #define TCA_CHOKE_MAX (__TCA_CHOKE_MAX - 1) 281 struct tc_choke_qopt { 282 __u32 limit; 283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 284 __u32 qth_min; 285 __u32 qth_max; 286 unsigned char Wlog; 287 unsigned char Plog; 288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 289 unsigned char Scell_log; 290 unsigned char flags; 291 }; 292 struct tc_choke_xstats { 293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 294 __u32 early; 295 __u32 pdrop; 296 __u32 other; 297 __u32 marked; 298 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 299 __u32 matched; 300 }; 301 #define TC_HTB_NUMPRIO 8 302 #define TC_HTB_MAXDEPTH 8 303 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 304 #define TC_HTB_PROTOVER 3 305 struct tc_htb_opt { 306 struct tc_ratespec rate; 307 struct tc_ratespec ceil; 308 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 309 __u32 buffer; 310 __u32 cbuffer; 311 __u32 quantum; 312 __u32 level; 313 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 314 __u32 prio; 315 }; 316 struct tc_htb_glob { 317 __u32 version; 318 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 319 __u32 rate2quantum; 320 __u32 defcls; 321 __u32 debug; 322 __u32 direct_pkts; 323 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 324 }; 325 enum { 326 TCA_HTB_UNSPEC, 327 TCA_HTB_PARMS, 328 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 329 TCA_HTB_INIT, 330 TCA_HTB_CTAB, 331 TCA_HTB_RTAB, 332 TCA_HTB_DIRECT_QLEN, 333 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 334 TCA_HTB_RATE64, 335 TCA_HTB_CEIL64, 336 TCA_HTB_PAD, 337 __TCA_HTB_MAX, 338 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 339 }; 340 #define TCA_HTB_MAX (__TCA_HTB_MAX - 1) 341 struct tc_htb_xstats { 342 __u32 lends; 343 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 344 __u32 borrows; 345 __u32 giants; 346 __u32 tokens; 347 __u32 ctokens; 348 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 349 }; 350 struct tc_hfsc_qopt { 351 __u16 defcls; 352 }; 353 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 354 struct tc_service_curve { 355 __u32 m1; 356 __u32 d; 357 __u32 m2; 358 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 359 }; 360 struct tc_hfsc_stats { 361 __u64 work; 362 __u64 rtwork; 363 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 364 __u32 period; 365 __u32 level; 366 }; 367 enum { 368 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 369 TCA_HFSC_UNSPEC, 370 TCA_HFSC_RSC, 371 TCA_HFSC_FSC, 372 TCA_HFSC_USC, 373 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 374 __TCA_HFSC_MAX, 375 }; 376 #define TCA_HFSC_MAX (__TCA_HFSC_MAX - 1) 377 #define TC_CBQ_MAXPRIO 8 378 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 379 #define TC_CBQ_MAXLEVEL 8 380 #define TC_CBQ_DEF_EWMA 5 381 struct tc_cbq_lssopt { 382 unsigned char change; 383 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 384 unsigned char flags; 385 #define TCF_CBQ_LSS_BOUNDED 1 386 #define TCF_CBQ_LSS_ISOLATED 2 387 unsigned char ewma_log; 388 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 389 unsigned char level; 390 #define TCF_CBQ_LSS_FLAGS 1 391 #define TCF_CBQ_LSS_EWMA 2 392 #define TCF_CBQ_LSS_MAXIDLE 4 393 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 394 #define TCF_CBQ_LSS_MINIDLE 8 395 #define TCF_CBQ_LSS_OFFTIME 0x10 396 #define TCF_CBQ_LSS_AVPKT 0x20 397 __u32 maxidle; 398 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 399 __u32 minidle; 400 __u32 offtime; 401 __u32 avpkt; 402 }; 403 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 404 struct tc_cbq_wrropt { 405 unsigned char flags; 406 unsigned char priority; 407 unsigned char cpriority; 408 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 409 unsigned char __reserved; 410 __u32 allot; 411 __u32 weight; 412 }; 413 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 414 struct tc_cbq_ovl { 415 unsigned char strategy; 416 #define TC_CBQ_OVL_CLASSIC 0 417 #define TC_CBQ_OVL_DELAY 1 418 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 419 #define TC_CBQ_OVL_LOWPRIO 2 420 #define TC_CBQ_OVL_DROP 3 421 #define TC_CBQ_OVL_RCLASSIC 4 422 unsigned char priority2; 423 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 424 __u16 pad; 425 __u32 penalty; 426 }; 427 struct tc_cbq_police { 428 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 429 unsigned char police; 430 unsigned char __res1; 431 unsigned short __res2; 432 }; 433 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 434 struct tc_cbq_fopt { 435 __u32 split; 436 __u32 defmap; 437 __u32 defchange; 438 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 439 }; 440 struct tc_cbq_xstats { 441 __u32 borrows; 442 __u32 overactions; 443 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 444 __s32 avgidle; 445 __s32 undertime; 446 }; 447 enum { 448 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 449 TCA_CBQ_UNSPEC, 450 TCA_CBQ_LSSOPT, 451 TCA_CBQ_WRROPT, 452 TCA_CBQ_FOPT, 453 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 454 TCA_CBQ_OVL_STRATEGY, 455 TCA_CBQ_RATE, 456 TCA_CBQ_RTAB, 457 TCA_CBQ_POLICE, 458 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 459 __TCA_CBQ_MAX, 460 }; 461 #define TCA_CBQ_MAX (__TCA_CBQ_MAX - 1) 462 enum { 463 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 464 TCA_DSMARK_UNSPEC, 465 TCA_DSMARK_INDICES, 466 TCA_DSMARK_DEFAULT_INDEX, 467 TCA_DSMARK_SET_TC_INDEX, 468 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 469 TCA_DSMARK_MASK, 470 TCA_DSMARK_VALUE, 471 __TCA_DSMARK_MAX, 472 }; 473 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 474 #define TCA_DSMARK_MAX (__TCA_DSMARK_MAX - 1) 475 enum { 476 TCA_ATM_UNSPEC, 477 TCA_ATM_FD, 478 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 479 TCA_ATM_PTR, 480 TCA_ATM_HDR, 481 TCA_ATM_EXCESS, 482 TCA_ATM_ADDR, 483 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 484 TCA_ATM_STATE, 485 __TCA_ATM_MAX, 486 }; 487 #define TCA_ATM_MAX (__TCA_ATM_MAX - 1) 488 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 489 enum { 490 TCA_NETEM_UNSPEC, 491 TCA_NETEM_CORR, 492 TCA_NETEM_DELAY_DIST, 493 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 494 TCA_NETEM_REORDER, 495 TCA_NETEM_CORRUPT, 496 TCA_NETEM_LOSS, 497 TCA_NETEM_RATE, 498 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 499 TCA_NETEM_ECN, 500 TCA_NETEM_RATE64, 501 TCA_NETEM_PAD, 502 __TCA_NETEM_MAX, 503 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 504 }; 505 #define TCA_NETEM_MAX (__TCA_NETEM_MAX - 1) 506 struct tc_netem_qopt { 507 __u32 latency; 508 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 509 __u32 limit; 510 __u32 loss; 511 __u32 gap; 512 __u32 duplicate; 513 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 514 __u32 jitter; 515 }; 516 struct tc_netem_corr { 517 __u32 delay_corr; 518 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 519 __u32 loss_corr; 520 __u32 dup_corr; 521 }; 522 struct tc_netem_reorder { 523 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 524 __u32 probability; 525 __u32 correlation; 526 }; 527 struct tc_netem_corrupt { 528 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 529 __u32 probability; 530 __u32 correlation; 531 }; 532 struct tc_netem_rate { 533 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 534 __u32 rate; 535 __s32 packet_overhead; 536 __u32 cell_size; 537 __s32 cell_overhead; 538 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 539 }; 540 enum { 541 NETEM_LOSS_UNSPEC, 542 NETEM_LOSS_GI, 543 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 544 NETEM_LOSS_GE, 545 __NETEM_LOSS_MAX 546 }; 547 #define NETEM_LOSS_MAX (__NETEM_LOSS_MAX - 1) 548 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 549 struct tc_netem_gimodel { 550 __u32 p13; 551 __u32 p31; 552 __u32 p32; 553 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 554 __u32 p14; 555 __u32 p23; 556 }; 557 struct tc_netem_gemodel { 558 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 559 __u32 p; 560 __u32 r; 561 __u32 h; 562 __u32 k1; 563 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 564 }; 565 #define NETEM_DIST_SCALE 8192 566 #define NETEM_DIST_MAX 16384 567 enum { 568 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 569 TCA_DRR_UNSPEC, 570 TCA_DRR_QUANTUM, 571 __TCA_DRR_MAX 572 }; 573 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 574 #define TCA_DRR_MAX (__TCA_DRR_MAX - 1) 575 struct tc_drr_stats { 576 __u32 deficit; 577 }; 578 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 579 #define TC_QOPT_BITMASK 15 580 #define TC_QOPT_MAX_QUEUE 16 581 struct tc_mqprio_qopt { 582 __u8 num_tc; 583 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 584 __u8 prio_tc_map[TC_QOPT_BITMASK + 1]; 585 __u8 hw; 586 __u16 count[TC_QOPT_MAX_QUEUE]; 587 __u16 offset[TC_QOPT_MAX_QUEUE]; 588 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 589 }; 590 enum { 591 TCA_SFB_UNSPEC, 592 TCA_SFB_PARMS, 593 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 594 __TCA_SFB_MAX, 595 }; 596 #define TCA_SFB_MAX (__TCA_SFB_MAX - 1) 597 struct tc_sfb_qopt { 598 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 599 __u32 rehash_interval; 600 __u32 warmup_time; 601 __u32 max; 602 __u32 bin_size; 603 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 604 __u32 increment; 605 __u32 decrement; 606 __u32 limit; 607 __u32 penalty_rate; 608 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 609 __u32 penalty_burst; 610 }; 611 struct tc_sfb_xstats { 612 __u32 earlydrop; 613 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 614 __u32 penaltydrop; 615 __u32 bucketdrop; 616 __u32 queuedrop; 617 __u32 childdrop; 618 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 619 __u32 marked; 620 __u32 maxqlen; 621 __u32 maxprob; 622 __u32 avgprob; 623 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 624 }; 625 #define SFB_MAX_PROB 0xFFFF 626 enum { 627 TCA_QFQ_UNSPEC, 628 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 629 TCA_QFQ_WEIGHT, 630 TCA_QFQ_LMAX, 631 __TCA_QFQ_MAX 632 }; 633 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 634 #define TCA_QFQ_MAX (__TCA_QFQ_MAX - 1) 635 struct tc_qfq_stats { 636 __u32 weight; 637 __u32 lmax; 638 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 639 }; 640 enum { 641 TCA_CODEL_UNSPEC, 642 TCA_CODEL_TARGET, 643 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 644 TCA_CODEL_LIMIT, 645 TCA_CODEL_INTERVAL, 646 TCA_CODEL_ECN, 647 TCA_CODEL_CE_THRESHOLD, 648 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 649 __TCA_CODEL_MAX 650 }; 651 #define TCA_CODEL_MAX (__TCA_CODEL_MAX - 1) 652 struct tc_codel_xstats { 653 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 654 __u32 maxpacket; 655 __u32 count; 656 __u32 lastcount; 657 __u32 ldelay; 658 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 659 __s32 drop_next; 660 __u32 drop_overlimit; 661 __u32 ecn_mark; 662 __u32 dropping; 663 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 664 __u32 ce_mark; 665 }; 666 enum { 667 TCA_FQ_CODEL_UNSPEC, 668 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 669 TCA_FQ_CODEL_TARGET, 670 TCA_FQ_CODEL_LIMIT, 671 TCA_FQ_CODEL_INTERVAL, 672 TCA_FQ_CODEL_ECN, 673 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 674 TCA_FQ_CODEL_FLOWS, 675 TCA_FQ_CODEL_QUANTUM, 676 TCA_FQ_CODEL_CE_THRESHOLD, 677 TCA_FQ_CODEL_DROP_BATCH_SIZE, 678 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 679 TCA_FQ_CODEL_MEMORY_LIMIT, 680 __TCA_FQ_CODEL_MAX 681 }; 682 #define TCA_FQ_CODEL_MAX (__TCA_FQ_CODEL_MAX - 1) 683 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 684 enum { 685 TCA_FQ_CODEL_XSTATS_QDISC, 686 TCA_FQ_CODEL_XSTATS_CLASS, 687 }; 688 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 689 struct tc_fq_codel_qd_stats { 690 __u32 maxpacket; 691 __u32 drop_overlimit; 692 __u32 ecn_mark; 693 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 694 __u32 new_flow_count; 695 __u32 new_flows_len; 696 __u32 old_flows_len; 697 __u32 ce_mark; 698 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 699 __u32 memory_usage; 700 __u32 drop_overmemory; 701 }; 702 struct tc_fq_codel_cl_stats { 703 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 704 __s32 deficit; 705 __u32 ldelay; 706 __u32 count; 707 __u32 lastcount; 708 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 709 __u32 dropping; 710 __s32 drop_next; 711 }; 712 struct tc_fq_codel_xstats { 713 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 714 __u32 type; 715 union { 716 struct tc_fq_codel_qd_stats qdisc_stats; 717 struct tc_fq_codel_cl_stats class_stats; 718 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 719 }; 720 }; 721 enum { 722 TCA_FQ_UNSPEC, 723 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 724 TCA_FQ_PLIMIT, 725 TCA_FQ_FLOW_PLIMIT, 726 TCA_FQ_QUANTUM, 727 TCA_FQ_INITIAL_QUANTUM, 728 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 729 TCA_FQ_RATE_ENABLE, 730 TCA_FQ_FLOW_DEFAULT_RATE, 731 TCA_FQ_FLOW_MAX_RATE, 732 TCA_FQ_BUCKETS_LOG, 733 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 734 TCA_FQ_FLOW_REFILL_DELAY, 735 TCA_FQ_ORPHAN_MASK, 736 TCA_FQ_LOW_RATE_THRESHOLD, 737 __TCA_FQ_MAX 738 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 739 }; 740 #define TCA_FQ_MAX (__TCA_FQ_MAX - 1) 741 struct tc_fq_qd_stats { 742 __u64 gc_flows; 743 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 744 __u64 highprio_packets; 745 __u64 tcp_retrans; 746 __u64 throttled; 747 __u64 flows_plimit; 748 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 749 __u64 pkts_too_long; 750 __u64 allocation_errors; 751 __s64 time_next_delayed_flow; 752 __u32 flows; 753 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 754 __u32 inactive_flows; 755 __u32 throttled_flows; 756 __u32 unthrottle_latency_ns; 757 }; 758 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 759 enum { 760 TCA_HHF_UNSPEC, 761 TCA_HHF_BACKLOG_LIMIT, 762 TCA_HHF_QUANTUM, 763 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 764 TCA_HHF_HH_FLOWS_LIMIT, 765 TCA_HHF_RESET_TIMEOUT, 766 TCA_HHF_ADMIT_BYTES, 767 TCA_HHF_EVICT_TIMEOUT, 768 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 769 TCA_HHF_NON_HH_WEIGHT, 770 __TCA_HHF_MAX 771 }; 772 #define TCA_HHF_MAX (__TCA_HHF_MAX - 1) 773 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 774 struct tc_hhf_xstats { 775 __u32 drop_overlimit; 776 __u32 hh_overlimit; 777 __u32 hh_tot_count; 778 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 779 __u32 hh_cur_count; 780 }; 781 enum { 782 TCA_PIE_UNSPEC, 783 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 784 TCA_PIE_TARGET, 785 TCA_PIE_LIMIT, 786 TCA_PIE_TUPDATE, 787 TCA_PIE_ALPHA, 788 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 789 TCA_PIE_BETA, 790 TCA_PIE_ECN, 791 TCA_PIE_BYTEMODE, 792 __TCA_PIE_MAX 793 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 794 }; 795 #define TCA_PIE_MAX (__TCA_PIE_MAX - 1) 796 struct tc_pie_xstats { 797 __u32 prob; 798 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 799 __u32 delay; 800 __u32 avg_dq_rate; 801 __u32 packets_in; 802 __u32 dropped; 803 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 804 __u32 overlimit; 805 __u32 maxq; 806 __u32 ecn_mark; 807 }; 808 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 809 #endif 810