pkt_sched.h revision 655a7c081f83b8351ed5f11a6c6accd9458293a8
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 31struct 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 */ 44struct 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 */ 59enum 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 66struct 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 77struct 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}; 90enum { 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 */ 99struct 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 105struct 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}; 110struct 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 120struct tc_plug_qopt { 121 int action; 122 __u32 limit; 123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 124}; 125struct 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 */ 134enum { 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_MAX, 141}; 142#define TCA_TBF_MAX (__TCA_TBF_MAX - 1) 143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 144struct tc_sfq_qopt { 145 unsigned quantum; 146 int perturb_period; 147 __u32 limit; 148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 149 unsigned divisor; 150 unsigned flows; 151}; 152struct tc_sfqred_stats { 153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 154 __u32 prob_drop; 155 __u32 forced_drop; 156 __u32 prob_mark; 157 __u32 forced_mark; 158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 159 __u32 prob_mark_head; 160 __u32 forced_mark_head; 161}; 162struct tc_sfq_qopt_v1 { 163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 164 struct tc_sfq_qopt v0; 165 unsigned int depth; 166 unsigned int headdrop; 167 __u32 limit; 168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 169 __u32 qth_min; 170 __u32 qth_max; 171 unsigned char Wlog; 172 unsigned char Plog; 173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 174 unsigned char Scell_log; 175 unsigned char flags; 176 __u32 max_P; 177 struct tc_sfqred_stats stats; 178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 179}; 180struct tc_sfq_xstats { 181 __s32 allot; 182}; 183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 184enum { 185 TCA_RED_UNSPEC, 186 TCA_RED_PARMS, 187 TCA_RED_STAB, 188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 189 TCA_RED_MAX_P, 190 __TCA_RED_MAX, 191}; 192#define TCA_RED_MAX (__TCA_RED_MAX - 1) 193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 194struct tc_red_qopt { 195 __u32 limit; 196 __u32 qth_min; 197 __u32 qth_max; 198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 199 unsigned char Wlog; 200 unsigned char Plog; 201 unsigned char Scell_log; 202 unsigned char flags; 203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 204#define TC_RED_ECN 1 205#define TC_RED_HARDDROP 2 206#define TC_RED_ADAPTATIVE 4 207}; 208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 209struct tc_red_xstats { 210 __u32 early; 211 __u32 pdrop; 212 __u32 other; 213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 214 __u32 marked; 215}; 216#define MAX_DPs 16 217enum { 218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 219 TCA_GRED_UNSPEC, 220 TCA_GRED_PARMS, 221 TCA_GRED_STAB, 222 TCA_GRED_DPS, 223/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 224 TCA_GRED_MAX_P, 225 __TCA_GRED_MAX, 226}; 227#define TCA_GRED_MAX (__TCA_GRED_MAX - 1) 228/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 229struct tc_gred_qopt { 230 __u32 limit; 231 __u32 qth_min; 232 __u32 qth_max; 233/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 234 __u32 DP; 235 __u32 backlog; 236 __u32 qave; 237 __u32 forced; 238/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 239 __u32 early; 240 __u32 other; 241 __u32 pdrop; 242 __u8 Wlog; 243/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 244 __u8 Plog; 245 __u8 Scell_log; 246 __u8 prio; 247 __u32 packets; 248/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 249 __u32 bytesin; 250}; 251struct tc_gred_sopt { 252 __u32 DPs; 253/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 254 __u32 def_DP; 255 __u8 grio; 256 __u8 flags; 257 __u16 pad1; 258/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 259}; 260enum { 261 TCA_CHOKE_UNSPEC, 262 TCA_CHOKE_PARMS, 263/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 264 TCA_CHOKE_STAB, 265 TCA_CHOKE_MAX_P, 266 __TCA_CHOKE_MAX, 267}; 268/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 269#define TCA_CHOKE_MAX (__TCA_CHOKE_MAX - 1) 270struct tc_choke_qopt { 271 __u32 limit; 272 __u32 qth_min; 273/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 274 __u32 qth_max; 275 unsigned char Wlog; 276 unsigned char Plog; 277 unsigned char Scell_log; 278/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 279 unsigned char flags; 280}; 281struct tc_choke_xstats { 282 __u32 early; 283/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 284 __u32 pdrop; 285 __u32 other; 286 __u32 marked; 287 __u32 matched; 288/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 289}; 290#define TC_HTB_NUMPRIO 8 291#define TC_HTB_MAXDEPTH 8 292#define TC_HTB_PROTOVER 3 293/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 294struct tc_htb_opt { 295 struct tc_ratespec rate; 296 struct tc_ratespec ceil; 297 __u32 buffer; 298/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 299 __u32 cbuffer; 300 __u32 quantum; 301 __u32 level; 302 __u32 prio; 303/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 304}; 305struct tc_htb_glob { 306 __u32 version; 307 __u32 rate2quantum; 308/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 309 __u32 defcls; 310 __u32 debug; 311 __u32 direct_pkts; 312}; 313/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 314enum { 315 TCA_HTB_UNSPEC, 316 TCA_HTB_PARMS, 317 TCA_HTB_INIT, 318/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 319 TCA_HTB_CTAB, 320 TCA_HTB_RTAB, 321 TCA_HTB_DIRECT_QLEN, 322 __TCA_HTB_MAX, 323/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 324}; 325#define TCA_HTB_MAX (__TCA_HTB_MAX - 1) 326struct tc_htb_xstats { 327 __u32 lends; 328/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 329 __u32 borrows; 330 __u32 giants; 331 __u32 tokens; 332 __u32 ctokens; 333/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 334}; 335struct tc_hfsc_qopt { 336 __u16 defcls; 337}; 338/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 339struct tc_service_curve { 340 __u32 m1; 341 __u32 d; 342 __u32 m2; 343/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 344}; 345struct tc_hfsc_stats { 346 __u64 work; 347 __u64 rtwork; 348/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 349 __u32 period; 350 __u32 level; 351}; 352enum { 353/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 354 TCA_HFSC_UNSPEC, 355 TCA_HFSC_RSC, 356 TCA_HFSC_FSC, 357 TCA_HFSC_USC, 358/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 359 __TCA_HFSC_MAX, 360}; 361#define TCA_HFSC_MAX (__TCA_HFSC_MAX - 1) 362#define TC_CBQ_MAXPRIO 8 363/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 364#define TC_CBQ_MAXLEVEL 8 365#define TC_CBQ_DEF_EWMA 5 366struct tc_cbq_lssopt { 367 unsigned char change; 368/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 369 unsigned char flags; 370#define TCF_CBQ_LSS_BOUNDED 1 371#define TCF_CBQ_LSS_ISOLATED 2 372 unsigned char ewma_log; 373/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 374 unsigned char level; 375#define TCF_CBQ_LSS_FLAGS 1 376#define TCF_CBQ_LSS_EWMA 2 377#define TCF_CBQ_LSS_MAXIDLE 4 378/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 379#define TCF_CBQ_LSS_MINIDLE 8 380#define TCF_CBQ_LSS_OFFTIME 0x10 381#define TCF_CBQ_LSS_AVPKT 0x20 382 __u32 maxidle; 383/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 384 __u32 minidle; 385 __u32 offtime; 386 __u32 avpkt; 387}; 388/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 389struct tc_cbq_wrropt { 390 unsigned char flags; 391 unsigned char priority; 392 unsigned char cpriority; 393/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 394 unsigned char __reserved; 395 __u32 allot; 396 __u32 weight; 397}; 398/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 399struct tc_cbq_ovl { 400 unsigned char strategy; 401#define TC_CBQ_OVL_CLASSIC 0 402#define TC_CBQ_OVL_DELAY 1 403/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 404#define TC_CBQ_OVL_LOWPRIO 2 405#define TC_CBQ_OVL_DROP 3 406#define TC_CBQ_OVL_RCLASSIC 4 407 unsigned char priority2; 408/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 409 __u16 pad; 410 __u32 penalty; 411}; 412struct tc_cbq_police { 413/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 414 unsigned char police; 415 unsigned char __res1; 416 unsigned short __res2; 417}; 418/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 419struct tc_cbq_fopt { 420 __u32 split; 421 __u32 defmap; 422 __u32 defchange; 423/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 424}; 425struct tc_cbq_xstats { 426 __u32 borrows; 427 __u32 overactions; 428/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 429 __s32 avgidle; 430 __s32 undertime; 431}; 432enum { 433/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 434 TCA_CBQ_UNSPEC, 435 TCA_CBQ_LSSOPT, 436 TCA_CBQ_WRROPT, 437 TCA_CBQ_FOPT, 438/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 439 TCA_CBQ_OVL_STRATEGY, 440 TCA_CBQ_RATE, 441 TCA_CBQ_RTAB, 442 TCA_CBQ_POLICE, 443/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 444 __TCA_CBQ_MAX, 445}; 446#define TCA_CBQ_MAX (__TCA_CBQ_MAX - 1) 447enum { 448/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 449 TCA_DSMARK_UNSPEC, 450 TCA_DSMARK_INDICES, 451 TCA_DSMARK_DEFAULT_INDEX, 452 TCA_DSMARK_SET_TC_INDEX, 453/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 454 TCA_DSMARK_MASK, 455 TCA_DSMARK_VALUE, 456 __TCA_DSMARK_MAX, 457}; 458/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 459#define TCA_DSMARK_MAX (__TCA_DSMARK_MAX - 1) 460enum { 461 TCA_ATM_UNSPEC, 462 TCA_ATM_FD, 463/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 464 TCA_ATM_PTR, 465 TCA_ATM_HDR, 466 TCA_ATM_EXCESS, 467 TCA_ATM_ADDR, 468/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 469 TCA_ATM_STATE, 470 __TCA_ATM_MAX, 471}; 472#define TCA_ATM_MAX (__TCA_ATM_MAX - 1) 473/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 474enum { 475 TCA_NETEM_UNSPEC, 476 TCA_NETEM_CORR, 477 TCA_NETEM_DELAY_DIST, 478/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 479 TCA_NETEM_REORDER, 480 TCA_NETEM_CORRUPT, 481 TCA_NETEM_LOSS, 482 TCA_NETEM_RATE, 483/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 484 TCA_NETEM_ECN, 485 __TCA_NETEM_MAX, 486}; 487#define TCA_NETEM_MAX (__TCA_NETEM_MAX - 1) 488/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 489struct tc_netem_qopt { 490 __u32 latency; 491 __u32 limit; 492 __u32 loss; 493/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 494 __u32 gap; 495 __u32 duplicate; 496 __u32 jitter; 497}; 498/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 499struct tc_netem_corr { 500 __u32 delay_corr; 501 __u32 loss_corr; 502 __u32 dup_corr; 503/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 504}; 505struct tc_netem_reorder { 506 __u32 probability; 507 __u32 correlation; 508/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 509}; 510struct tc_netem_corrupt { 511 __u32 probability; 512 __u32 correlation; 513/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 514}; 515struct tc_netem_rate { 516 __u32 rate; 517 __s32 packet_overhead; 518/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 519 __u32 cell_size; 520 __s32 cell_overhead; 521}; 522enum { 523/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 524 NETEM_LOSS_UNSPEC, 525 NETEM_LOSS_GI, 526 NETEM_LOSS_GE, 527 __NETEM_LOSS_MAX 528/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 529}; 530#define NETEM_LOSS_MAX (__NETEM_LOSS_MAX - 1) 531struct tc_netem_gimodel { 532 __u32 p13; 533/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 534 __u32 p31; 535 __u32 p32; 536 __u32 p14; 537 __u32 p23; 538/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 539}; 540struct tc_netem_gemodel { 541 __u32 p; 542 __u32 r; 543/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 544 __u32 h; 545 __u32 k1; 546}; 547#define NETEM_DIST_SCALE 8192 548/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 549#define NETEM_DIST_MAX 16384 550enum { 551 TCA_DRR_UNSPEC, 552 TCA_DRR_QUANTUM, 553/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 554 __TCA_DRR_MAX 555}; 556#define TCA_DRR_MAX (__TCA_DRR_MAX - 1) 557struct tc_drr_stats { 558/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 559 __u32 deficit; 560}; 561#define TC_QOPT_BITMASK 15 562#define TC_QOPT_MAX_QUEUE 16 563/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 564struct tc_mqprio_qopt { 565 __u8 num_tc; 566 __u8 prio_tc_map[TC_QOPT_BITMASK + 1]; 567 __u8 hw; 568/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 569 __u16 count[TC_QOPT_MAX_QUEUE]; 570 __u16 offset[TC_QOPT_MAX_QUEUE]; 571}; 572enum { 573/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 574 TCA_SFB_UNSPEC, 575 TCA_SFB_PARMS, 576 __TCA_SFB_MAX, 577}; 578/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 579#define TCA_SFB_MAX (__TCA_SFB_MAX - 1) 580struct tc_sfb_qopt { 581 __u32 rehash_interval; 582 __u32 warmup_time; 583/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 584 __u32 max; 585 __u32 bin_size; 586 __u32 increment; 587 __u32 decrement; 588/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 589 __u32 limit; 590 __u32 penalty_rate; 591 __u32 penalty_burst; 592}; 593/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 594struct tc_sfb_xstats { 595 __u32 earlydrop; 596 __u32 penaltydrop; 597 __u32 bucketdrop; 598/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 599 __u32 queuedrop; 600 __u32 childdrop; 601 __u32 marked; 602 __u32 maxqlen; 603/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 604 __u32 maxprob; 605 __u32 avgprob; 606}; 607#define SFB_MAX_PROB 0xFFFF 608/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 609enum { 610 TCA_QFQ_UNSPEC, 611 TCA_QFQ_WEIGHT, 612 TCA_QFQ_LMAX, 613/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 614 __TCA_QFQ_MAX 615}; 616#define TCA_QFQ_MAX (__TCA_QFQ_MAX - 1) 617struct tc_qfq_stats { 618/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 619 __u32 weight; 620 __u32 lmax; 621}; 622enum { 623/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 624 TCA_CODEL_UNSPEC, 625 TCA_CODEL_TARGET, 626 TCA_CODEL_LIMIT, 627 TCA_CODEL_INTERVAL, 628/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 629 TCA_CODEL_ECN, 630 __TCA_CODEL_MAX 631}; 632#define TCA_CODEL_MAX (__TCA_CODEL_MAX - 1) 633/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 634struct tc_codel_xstats { 635 __u32 maxpacket; 636 __u32 count; 637 __u32 lastcount; 638/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 639 __u32 ldelay; 640 __s32 drop_next; 641 __u32 drop_overlimit; 642 __u32 ecn_mark; 643/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 644 __u32 dropping; 645}; 646enum { 647 TCA_FQ_CODEL_UNSPEC, 648/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 649 TCA_FQ_CODEL_TARGET, 650 TCA_FQ_CODEL_LIMIT, 651 TCA_FQ_CODEL_INTERVAL, 652 TCA_FQ_CODEL_ECN, 653/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 654 TCA_FQ_CODEL_FLOWS, 655 TCA_FQ_CODEL_QUANTUM, 656 __TCA_FQ_CODEL_MAX 657}; 658/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 659#define TCA_FQ_CODEL_MAX (__TCA_FQ_CODEL_MAX - 1) 660enum { 661 TCA_FQ_CODEL_XSTATS_QDISC, 662 TCA_FQ_CODEL_XSTATS_CLASS, 663/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 664}; 665struct tc_fq_codel_qd_stats { 666 __u32 maxpacket; 667 __u32 drop_overlimit; 668/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 669 __u32 ecn_mark; 670 __u32 new_flow_count; 671 __u32 new_flows_len; 672 __u32 old_flows_len; 673/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 674}; 675struct tc_fq_codel_cl_stats { 676 __s32 deficit; 677 __u32 ldelay; 678/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 679 __u32 count; 680 __u32 lastcount; 681 __u32 dropping; 682 __s32 drop_next; 683/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 684}; 685struct tc_fq_codel_xstats { 686 __u32 type; 687 union { 688/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 689 struct tc_fq_codel_qd_stats qdisc_stats; 690 struct tc_fq_codel_cl_stats class_stats; 691 }; 692}; 693/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 694#endif 695