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