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 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_MAX,
    231 };
    232 #define TCA_GRED_MAX (__TCA_GRED_MAX - 1)
    233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    234 struct tc_gred_qopt {
    235  __u32 limit;
    236  __u32 qth_min;
    237  __u32 qth_max;
    238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    239  __u32 DP;
    240  __u32 backlog;
    241  __u32 qave;
    242  __u32 forced;
    243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    244  __u32 early;
    245  __u32 other;
    246  __u32 pdrop;
    247  __u8 Wlog;
    248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    249  __u8 Plog;
    250  __u8 Scell_log;
    251  __u8 prio;
    252  __u32 packets;
    253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    254  __u32 bytesin;
    255 };
    256 struct tc_gred_sopt {
    257  __u32 DPs;
    258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    259  __u32 def_DP;
    260  __u8 grio;
    261  __u8 flags;
    262  __u16 pad1;
    263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    264 };
    265 enum {
    266  TCA_CHOKE_UNSPEC,
    267  TCA_CHOKE_PARMS,
    268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    269  TCA_CHOKE_STAB,
    270  TCA_CHOKE_MAX_P,
    271  __TCA_CHOKE_MAX,
    272 };
    273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    274 #define TCA_CHOKE_MAX (__TCA_CHOKE_MAX - 1)
    275 struct tc_choke_qopt {
    276  __u32 limit;
    277  __u32 qth_min;
    278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    279  __u32 qth_max;
    280  unsigned char Wlog;
    281  unsigned char Plog;
    282  unsigned char Scell_log;
    283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    284  unsigned char flags;
    285 };
    286 struct tc_choke_xstats {
    287  __u32 early;
    288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    289  __u32 pdrop;
    290  __u32 other;
    291  __u32 marked;
    292  __u32 matched;
    293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    294 };
    295 #define TC_HTB_NUMPRIO 8
    296 #define TC_HTB_MAXDEPTH 8
    297 #define TC_HTB_PROTOVER 3
    298 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    299 struct tc_htb_opt {
    300  struct tc_ratespec rate;
    301  struct tc_ratespec ceil;
    302  __u32 buffer;
    303 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    304  __u32 cbuffer;
    305  __u32 quantum;
    306  __u32 level;
    307  __u32 prio;
    308 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    309 };
    310 struct tc_htb_glob {
    311  __u32 version;
    312  __u32 rate2quantum;
    313 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    314  __u32 defcls;
    315  __u32 debug;
    316  __u32 direct_pkts;
    317 };
    318 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    319 enum {
    320  TCA_HTB_UNSPEC,
    321  TCA_HTB_PARMS,
    322  TCA_HTB_INIT,
    323 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    324  TCA_HTB_CTAB,
    325  TCA_HTB_RTAB,
    326  TCA_HTB_DIRECT_QLEN,
    327  TCA_HTB_RATE64,
    328 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    329  TCA_HTB_CEIL64,
    330  __TCA_HTB_MAX,
    331 };
    332 #define TCA_HTB_MAX (__TCA_HTB_MAX - 1)
    333 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    334 struct tc_htb_xstats {
    335  __u32 lends;
    336  __u32 borrows;
    337  __u32 giants;
    338 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    339  __u32 tokens;
    340  __u32 ctokens;
    341 };
    342 struct tc_hfsc_qopt {
    343 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    344  __u16 defcls;
    345 };
    346 struct tc_service_curve {
    347  __u32 m1;
    348 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    349  __u32 d;
    350  __u32 m2;
    351 };
    352 struct tc_hfsc_stats {
    353 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    354  __u64 work;
    355  __u64 rtwork;
    356  __u32 period;
    357  __u32 level;
    358 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    359 };
    360 enum {
    361  TCA_HFSC_UNSPEC,
    362  TCA_HFSC_RSC,
    363 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    364  TCA_HFSC_FSC,
    365  TCA_HFSC_USC,
    366  __TCA_HFSC_MAX,
    367 };
    368 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    369 #define TCA_HFSC_MAX (__TCA_HFSC_MAX - 1)
    370 #define TC_CBQ_MAXPRIO 8
    371 #define TC_CBQ_MAXLEVEL 8
    372 #define TC_CBQ_DEF_EWMA 5
    373 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    374 struct tc_cbq_lssopt {
    375  unsigned char change;
    376  unsigned char flags;
    377 #define TCF_CBQ_LSS_BOUNDED 1
    378 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    379 #define TCF_CBQ_LSS_ISOLATED 2
    380  unsigned char ewma_log;
    381  unsigned char level;
    382 #define TCF_CBQ_LSS_FLAGS 1
    383 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    384 #define TCF_CBQ_LSS_EWMA 2
    385 #define TCF_CBQ_LSS_MAXIDLE 4
    386 #define TCF_CBQ_LSS_MINIDLE 8
    387 #define TCF_CBQ_LSS_OFFTIME 0x10
    388 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    389 #define TCF_CBQ_LSS_AVPKT 0x20
    390  __u32 maxidle;
    391  __u32 minidle;
    392  __u32 offtime;
    393 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    394  __u32 avpkt;
    395 };
    396 struct tc_cbq_wrropt {
    397  unsigned char flags;
    398 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    399  unsigned char priority;
    400  unsigned char cpriority;
    401  unsigned char __reserved;
    402  __u32 allot;
    403 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    404  __u32 weight;
    405 };
    406 struct tc_cbq_ovl {
    407  unsigned char strategy;
    408 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    409 #define TC_CBQ_OVL_CLASSIC 0
    410 #define TC_CBQ_OVL_DELAY 1
    411 #define TC_CBQ_OVL_LOWPRIO 2
    412 #define TC_CBQ_OVL_DROP 3
    413 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    414 #define TC_CBQ_OVL_RCLASSIC 4
    415  unsigned char priority2;
    416  __u16 pad;
    417  __u32 penalty;
    418 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    419 };
    420 struct tc_cbq_police {
    421  unsigned char police;
    422  unsigned char __res1;
    423 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    424  unsigned short __res2;
    425 };
    426 struct tc_cbq_fopt {
    427  __u32 split;
    428 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    429  __u32 defmap;
    430  __u32 defchange;
    431 };
    432 struct tc_cbq_xstats {
    433 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    434  __u32 borrows;
    435  __u32 overactions;
    436  __s32 avgidle;
    437  __s32 undertime;
    438 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    439 };
    440 enum {
    441  TCA_CBQ_UNSPEC,
    442  TCA_CBQ_LSSOPT,
    443 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    444  TCA_CBQ_WRROPT,
    445  TCA_CBQ_FOPT,
    446  TCA_CBQ_OVL_STRATEGY,
    447  TCA_CBQ_RATE,
    448 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    449  TCA_CBQ_RTAB,
    450  TCA_CBQ_POLICE,
    451  __TCA_CBQ_MAX,
    452 };
    453 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    454 #define TCA_CBQ_MAX (__TCA_CBQ_MAX - 1)
    455 enum {
    456  TCA_DSMARK_UNSPEC,
    457  TCA_DSMARK_INDICES,
    458 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    459  TCA_DSMARK_DEFAULT_INDEX,
    460  TCA_DSMARK_SET_TC_INDEX,
    461  TCA_DSMARK_MASK,
    462  TCA_DSMARK_VALUE,
    463 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    464  __TCA_DSMARK_MAX,
    465 };
    466 #define TCA_DSMARK_MAX (__TCA_DSMARK_MAX - 1)
    467 enum {
    468 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    469  TCA_ATM_UNSPEC,
    470  TCA_ATM_FD,
    471  TCA_ATM_PTR,
    472  TCA_ATM_HDR,
    473 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    474  TCA_ATM_EXCESS,
    475  TCA_ATM_ADDR,
    476  TCA_ATM_STATE,
    477  __TCA_ATM_MAX,
    478 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    479 };
    480 #define TCA_ATM_MAX (__TCA_ATM_MAX - 1)
    481 enum {
    482  TCA_NETEM_UNSPEC,
    483 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    484  TCA_NETEM_CORR,
    485  TCA_NETEM_DELAY_DIST,
    486  TCA_NETEM_REORDER,
    487  TCA_NETEM_CORRUPT,
    488 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    489  TCA_NETEM_LOSS,
    490  TCA_NETEM_RATE,
    491  TCA_NETEM_ECN,
    492  TCA_NETEM_RATE64,
    493 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    494  __TCA_NETEM_MAX,
    495 };
    496 #define TCA_NETEM_MAX (__TCA_NETEM_MAX - 1)
    497 struct tc_netem_qopt {
    498 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    499  __u32 latency;
    500  __u32 limit;
    501  __u32 loss;
    502  __u32 gap;
    503 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    504  __u32 duplicate;
    505  __u32 jitter;
    506 };
    507 struct tc_netem_corr {
    508 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    509  __u32 delay_corr;
    510  __u32 loss_corr;
    511  __u32 dup_corr;
    512 };
    513 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    514 struct tc_netem_reorder {
    515  __u32 probability;
    516  __u32 correlation;
    517 };
    518 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    519 struct tc_netem_corrupt {
    520  __u32 probability;
    521  __u32 correlation;
    522 };
    523 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    524 struct tc_netem_rate {
    525  __u32 rate;
    526  __s32 packet_overhead;
    527  __u32 cell_size;
    528 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    529  __s32 cell_overhead;
    530 };
    531 enum {
    532  NETEM_LOSS_UNSPEC,
    533 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    534  NETEM_LOSS_GI,
    535  NETEM_LOSS_GE,
    536  __NETEM_LOSS_MAX
    537 };
    538 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    539 #define NETEM_LOSS_MAX (__NETEM_LOSS_MAX - 1)
    540 struct tc_netem_gimodel {
    541  __u32 p13;
    542  __u32 p31;
    543 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    544  __u32 p32;
    545  __u32 p14;
    546  __u32 p23;
    547 };
    548 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    549 struct tc_netem_gemodel {
    550  __u32 p;
    551  __u32 r;
    552  __u32 h;
    553 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    554  __u32 k1;
    555 };
    556 #define NETEM_DIST_SCALE 8192
    557 #define NETEM_DIST_MAX 16384
    558 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    559 enum {
    560  TCA_DRR_UNSPEC,
    561  TCA_DRR_QUANTUM,
    562  __TCA_DRR_MAX
    563 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    564 };
    565 #define TCA_DRR_MAX (__TCA_DRR_MAX - 1)
    566 struct tc_drr_stats {
    567  __u32 deficit;
    568 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    569 };
    570 #define TC_QOPT_BITMASK 15
    571 #define TC_QOPT_MAX_QUEUE 16
    572 struct tc_mqprio_qopt {
    573 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    574  __u8 num_tc;
    575  __u8 prio_tc_map[TC_QOPT_BITMASK + 1];
    576  __u8 hw;
    577  __u16 count[TC_QOPT_MAX_QUEUE];
    578 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    579  __u16 offset[TC_QOPT_MAX_QUEUE];
    580 };
    581 enum {
    582  TCA_SFB_UNSPEC,
    583 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    584  TCA_SFB_PARMS,
    585  __TCA_SFB_MAX,
    586 };
    587 #define TCA_SFB_MAX (__TCA_SFB_MAX - 1)
    588 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    589 struct tc_sfb_qopt {
    590  __u32 rehash_interval;
    591  __u32 warmup_time;
    592  __u32 max;
    593 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    594  __u32 bin_size;
    595  __u32 increment;
    596  __u32 decrement;
    597  __u32 limit;
    598 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    599  __u32 penalty_rate;
    600  __u32 penalty_burst;
    601 };
    602 struct tc_sfb_xstats {
    603 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    604  __u32 earlydrop;
    605  __u32 penaltydrop;
    606  __u32 bucketdrop;
    607  __u32 queuedrop;
    608 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    609  __u32 childdrop;
    610  __u32 marked;
    611  __u32 maxqlen;
    612  __u32 maxprob;
    613 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    614  __u32 avgprob;
    615 };
    616 #define SFB_MAX_PROB 0xFFFF
    617 enum {
    618 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    619  TCA_QFQ_UNSPEC,
    620  TCA_QFQ_WEIGHT,
    621  TCA_QFQ_LMAX,
    622  __TCA_QFQ_MAX
    623 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    624 };
    625 #define TCA_QFQ_MAX (__TCA_QFQ_MAX - 1)
    626 struct tc_qfq_stats {
    627  __u32 weight;
    628 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    629  __u32 lmax;
    630 };
    631 enum {
    632  TCA_CODEL_UNSPEC,
    633 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    634  TCA_CODEL_TARGET,
    635  TCA_CODEL_LIMIT,
    636  TCA_CODEL_INTERVAL,
    637  TCA_CODEL_ECN,
    638 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    639  __TCA_CODEL_MAX
    640 };
    641 #define TCA_CODEL_MAX (__TCA_CODEL_MAX - 1)
    642 struct tc_codel_xstats {
    643 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    644  __u32 maxpacket;
    645  __u32 count;
    646  __u32 lastcount;
    647  __u32 ldelay;
    648 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    649  __s32 drop_next;
    650  __u32 drop_overlimit;
    651  __u32 ecn_mark;
    652  __u32 dropping;
    653 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    654 };
    655 enum {
    656  TCA_FQ_CODEL_UNSPEC,
    657  TCA_FQ_CODEL_TARGET,
    658 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    659  TCA_FQ_CODEL_LIMIT,
    660  TCA_FQ_CODEL_INTERVAL,
    661  TCA_FQ_CODEL_ECN,
    662  TCA_FQ_CODEL_FLOWS,
    663 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    664  TCA_FQ_CODEL_QUANTUM,
    665  __TCA_FQ_CODEL_MAX
    666 };
    667 #define TCA_FQ_CODEL_MAX (__TCA_FQ_CODEL_MAX - 1)
    668 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    669 enum {
    670  TCA_FQ_CODEL_XSTATS_QDISC,
    671  TCA_FQ_CODEL_XSTATS_CLASS,
    672 };
    673 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    674 struct tc_fq_codel_qd_stats {
    675  __u32 maxpacket;
    676  __u32 drop_overlimit;
    677  __u32 ecn_mark;
    678 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    679  __u32 new_flow_count;
    680  __u32 new_flows_len;
    681  __u32 old_flows_len;
    682 };
    683 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    684 struct tc_fq_codel_cl_stats {
    685  __s32 deficit;
    686  __u32 ldelay;
    687  __u32 count;
    688 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    689  __u32 lastcount;
    690  __u32 dropping;
    691  __s32 drop_next;
    692 };
    693 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    694 struct tc_fq_codel_xstats {
    695  __u32 type;
    696  union {
    697  struct tc_fq_codel_qd_stats qdisc_stats;
    698 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    699  struct tc_fq_codel_cl_stats class_stats;
    700  };
    701 };
    702 enum {
    703 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    704  TCA_FQ_UNSPEC,
    705  TCA_FQ_PLIMIT,
    706  TCA_FQ_FLOW_PLIMIT,
    707  TCA_FQ_QUANTUM,
    708 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    709  TCA_FQ_INITIAL_QUANTUM,
    710  TCA_FQ_RATE_ENABLE,
    711  TCA_FQ_FLOW_DEFAULT_RATE,
    712  TCA_FQ_FLOW_MAX_RATE,
    713 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    714  TCA_FQ_BUCKETS_LOG,
    715  TCA_FQ_FLOW_REFILL_DELAY,
    716  __TCA_FQ_MAX
    717 };
    718 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    719 #define TCA_FQ_MAX (__TCA_FQ_MAX - 1)
    720 struct tc_fq_qd_stats {
    721  __u64 gc_flows;
    722  __u64 highprio_packets;
    723 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    724  __u64 tcp_retrans;
    725  __u64 throttled;
    726  __u64 flows_plimit;
    727  __u64 pkts_too_long;
    728 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    729  __u64 allocation_errors;
    730  __s64 time_next_delayed_flow;
    731  __u32 flows;
    732  __u32 inactive_flows;
    733 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    734  __u32 throttled_flows;
    735  __u32 pad;
    736 };
    737 enum {
    738 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    739  TCA_HHF_UNSPEC,
    740  TCA_HHF_BACKLOG_LIMIT,
    741  TCA_HHF_QUANTUM,
    742  TCA_HHF_HH_FLOWS_LIMIT,
    743 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    744  TCA_HHF_RESET_TIMEOUT,
    745  TCA_HHF_ADMIT_BYTES,
    746  TCA_HHF_EVICT_TIMEOUT,
    747  TCA_HHF_NON_HH_WEIGHT,
    748 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    749  __TCA_HHF_MAX
    750 };
    751 #define TCA_HHF_MAX (__TCA_HHF_MAX - 1)
    752 struct tc_hhf_xstats {
    753 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    754  __u32 drop_overlimit;
    755  __u32 hh_overlimit;
    756  __u32 hh_tot_count;
    757  __u32 hh_cur_count;
    758 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    759 };
    760 enum {
    761  TCA_PIE_UNSPEC,
    762  TCA_PIE_TARGET,
    763 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    764  TCA_PIE_LIMIT,
    765  TCA_PIE_TUPDATE,
    766  TCA_PIE_ALPHA,
    767  TCA_PIE_BETA,
    768 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    769  TCA_PIE_ECN,
    770  TCA_PIE_BYTEMODE,
    771  __TCA_PIE_MAX
    772 };
    773 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    774 #define TCA_PIE_MAX (__TCA_PIE_MAX - 1)
    775 struct tc_pie_xstats {
    776  __u32 prob;
    777  __u32 delay;
    778 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    779  __u32 avg_dq_rate;
    780  __u32 packets_in;
    781  __u32 dropped;
    782  __u32 overlimit;
    783 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    784  __u32 maxq;
    785  __u32 ecn_mark;
    786 };
    787 #endif
    788 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    789