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