pkt_sched.h revision 05d08e9716b5974d6ed08973f44930804890b902
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_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 */
149struct 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};
157struct 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};
167struct 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};
185struct tc_sfq_xstats {
186  __s32 allot;
187};
188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189enum {
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 */
199struct 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 */
214struct 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
222enum {
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)
235struct 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};
257struct 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};
266enum {
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)
276struct 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};
287struct 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
300struct 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};
311struct 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};
320enum {
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)
335struct 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 */
344struct tc_hfsc_qopt {
345  __u16 defcls;
346};
347struct 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 */
354struct 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};
361enum {
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
375struct 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};
397struct 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};
407struct 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};
421struct 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};
427struct 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 */
434struct 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};
441enum {
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)
456enum {
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 */
469enum {
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)
482enum {
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 */
499struct 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 */
509struct 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};
515struct tc_netem_reorder {
516  __u32 probability;
517  __u32 correlation;
518/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
519};
520struct tc_netem_corrupt {
521  __u32 probability;
522  __u32 correlation;
523/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
524};
525struct 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};
532enum {
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)
541struct 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};
550struct 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
560enum {
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)
567struct 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 */
574struct 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};
582enum {
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)
590struct 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 */
604struct 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 */
619enum {
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)
627struct tc_qfq_stats {
628/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
629  __u32 weight;
630  __u32 lmax;
631};
632enum {
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)
645struct 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 */
659enum {
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 */
674enum {
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 */
679struct 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};
690struct 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};
700struct 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 */
709enum {
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)
727struct 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};
745enum {
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)
760struct 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};
767enum {
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)
782struct 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