pkt_sched.h revision 6a9755d20a995756487bb1aafb7e954f4fd868a7
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 */
59#define TC_H_CLSACT TC_H_INGRESS
60#define TC_H_MIN_INGRESS 0xFFF2U
61#define TC_H_MIN_EGRESS 0xFFF3U
62enum 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
70struct 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
81struct 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 */
94enum {
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)
102struct 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 */
109struct 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 */
114struct 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 */
124struct tc_plug_qopt {
125  int action;
126  __u32 limit;
127};
128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129struct 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};
137enum {
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 */
154struct 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};
162struct 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};
172struct 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};
190struct tc_sfq_xstats {
191  __s32 allot;
192};
193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194enum {
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 */
204struct 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 */
219struct 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
227enum {
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)
240struct 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};
262struct 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};
271enum {
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)
281struct 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};
292struct 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
305struct 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};
316struct 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};
325enum {
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)
341struct 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};
350struct tc_hfsc_qopt {
351  __u16 defcls;
352};
353/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
354struct 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};
360struct 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};
367enum {
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
381struct 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 */
404struct 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 */
414struct 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};
427struct 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 */
434struct 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};
440struct 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};
447enum {
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)
462enum {
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)
475enum {
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 */
489enum {
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)
506struct 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};
516struct 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};
522struct tc_netem_reorder {
523/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
524  __u32 probability;
525  __u32 correlation;
526};
527struct tc_netem_corrupt {
528/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
529  __u32 probability;
530  __u32 correlation;
531};
532struct 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};
540enum {
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 */
549struct 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};
557struct 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
567enum {
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)
575struct 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
581struct 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};
590enum {
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)
597struct 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};
611struct 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
626enum {
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)
635struct tc_qfq_stats {
636  __u32 weight;
637  __u32 lmax;
638/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
639};
640enum {
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)
652struct 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};
666enum {
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 */
684enum {
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 */
689struct 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};
702struct 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};
712struct 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};
721enum {
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)
741struct 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 */
759enum {
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 */
774struct 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};
781enum {
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)
796struct 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