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