1# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
2
3name: tc
4protocol: netlink-raw
5protonum: 0
6
7doc:
8  Netlink raw family for tc qdisc, chain, class and filter configuration
9  over rtnetlink.
10
11definitions:
12  -
13    name: tcmsg
14    type: struct
15    members:
16      -
17        name: family
18        type: u8
19      -
20        name: pad
21        type: pad
22        len: 3
23      -
24        name: ifindex
25        type: s32
26      -
27        name: handle
28        type: u32
29      -
30        name: parent
31        type: u32
32      -
33        name: info
34        type: u32
35  -
36    name: tc-cls-flags
37    type: flags
38    entries:
39      - skip-hw
40      - skip-sw
41      - in-hw
42      - not-in-nw
43      - verbose
44  -
45    name: tc-flower-key-ctrl-flags
46    type: flags
47    entries:
48      - frag
49      - firstfrag
50      - tuncsum
51      - tundf
52      - tunoam
53      - tuncrit
54  -
55    name: tc-stats
56    type: struct
57    members:
58      -
59        name: bytes
60        type: u64
61        doc: Number of enqueued bytes
62      -
63        name: packets
64        type: u32
65        doc: Number of enqueued packets
66      -
67        name: drops
68        type: u32
69        doc: Packets dropped because of lack of resources
70      -
71        name: overlimits
72        type: u32
73        doc: |
74          Number of throttle events when this flow goes out of allocated bandwidth
75      -
76        name: bps
77        type: u32
78        doc: Current flow byte rate
79      -
80        name: pps
81        type: u32
82        doc: Current flow packet rate
83      -
84        name: qlen
85        type: u32
86      -
87        name: backlog
88        type: u32
89  -
90    name: tc-cbs-qopt
91    type: struct
92    members:
93      -
94        name: offload
95        type: u8
96      -
97        name: pad
98        type: pad
99        len: 3
100      -
101        name: hicredit
102        type: s32
103      -
104        name: locredit
105        type: s32
106      -
107        name: idleslope
108        type: s32
109      -
110        name: sendslope
111        type: s32
112  -
113    name: tc-etf-qopt
114    type: struct
115    members:
116      -
117        name: delta
118        type: s32
119      -
120        name: clockid
121        type: s32
122      -
123        name: flags
124        type: s32
125  -
126    name: tc-fifo-qopt
127    type: struct
128    members:
129      -
130        name: limit
131        type: u32
132        doc: Queue length; bytes for bfifo, packets for pfifo
133  -
134    name: tc-htb-opt
135    type: struct
136    members:
137      -
138        name: rate
139        type: binary
140        struct: tc-ratespec
141      -
142        name: ceil
143        type: binary
144        struct: tc-ratespec
145      -
146        name: buffer
147        type: u32
148      -
149        name: cbuffer
150        type: u32
151      -
152        name: quantum
153        type: u32
154      -
155        name: level
156        type: u32
157      -
158        name: prio
159        type: u32
160  -
161    name: tc-htb-glob
162    type: struct
163    members:
164      -
165        name: version
166        type: u32
167      -
168        name: rate2quantum
169        type: u32
170        doc: bps->quantum divisor
171      -
172        name: defcls
173        type: u32
174        doc: Default class number
175      -
176        name: debug
177        type: u32
178        doc: Debug flags
179      -
180        name: direct-pkts
181        type: u32
182        doc: Count of non shaped packets
183  -
184    name: tc-gred-qopt
185    type: struct
186    members:
187      -
188        name: limit
189        type: u32
190        doc: HARD maximal queue length in bytes
191      -
192        name: qth-min
193        type: u32
194        doc: Min average length threshold in bytes
195      -
196        name: qth-max
197        type: u32
198        doc: Max average length threshold in bytes
199      -
200        name: DP
201        type: u32
202        doc: Up to 2^32 DPs
203      -
204        name: backlog
205        type: u32
206      -
207        name: qave
208        type: u32
209      -
210        name: forced
211        type: u32
212      -
213        name: early
214        type: u32
215      -
216        name: other
217        type: u32
218      -
219        name: pdrop
220        type: u32
221      -
222        name: Wlog
223        type: u8
224        doc: log(W)
225      -
226        name: Plog
227        type: u8
228        doc: log(P_max / (qth-max - qth-min))
229      -
230        name: Scell_log
231        type: u8
232        doc: cell size for idle damping
233      -
234        name: prio
235        type: u8
236        doc: Priority of this VQ
237      -
238        name: packets
239        type: u32
240      -
241        name: bytesin
242        type: u32
243  -
244    name: tc-gred-sopt
245    type: struct
246    members:
247      -
248        name: DPs
249        type: u32
250      -
251        name: def_DP
252        type: u32
253      -
254        name: grio
255        type: u8
256      -
257        name: flags
258        type: u8
259      -
260        name: pad
261        type: pad
262        len: 2
263  -
264    name: tc-hfsc-qopt
265    type: struct
266    members:
267      -
268        name: defcls
269        type: u16
270  -
271    name: tc-mqprio-qopt
272    type: struct
273    members:
274      -
275        name: num-tc
276        type: u8
277      -
278        name: prio-tc-map
279        type: binary
280        len: 16
281      -
282        name: hw
283        type: u8
284      -
285        name: count
286        type: binary
287        len: 32
288      -
289        name: offset
290        type: binary
291        len: 32
292  -
293    name: tc-multiq-qopt
294    type: struct
295    members:
296      -
297        name: bands
298        type: u16
299        doc: Number of bands
300      -
301        name: max-bands
302        type: u16
303        doc: Maximum number of queues
304  -
305    name: tc-netem-qopt
306    type: struct
307    members:
308      -
309        name: latency
310        type: u32
311        doc: Added delay in microseconds
312      -
313        name: limit
314        type: u32
315        doc: Fifo limit in packets
316      -
317        name: loss
318        type: u32
319        doc: Random packet loss (0=none, ~0=100%)
320      -
321        name: gap
322        type: u32
323        doc: Re-ordering gap (0 for none)
324      -
325        name: duplicate
326        type: u32
327        doc: Random packet duplication (0=none, ~0=100%)
328      -
329        name: jitter
330        type: u32
331        doc: Random jitter latency in microseconds
332  -
333    name: tc-netem-gimodel
334    doc: State transition probabilities for 4 state model
335    type: struct
336    members:
337      -
338        name: p13
339        type: u32
340      -
341        name: p31
342        type: u32
343      -
344        name: p32
345        type: u32
346      -
347        name: p14
348        type: u32
349      -
350        name: p23
351        type: u32
352  -
353    name: tc-netem-gemodel
354    doc: Gilbert-Elliot models
355    type: struct
356    members:
357      -
358        name: p
359        type: u32
360      -
361        name: r
362        type: u32
363      -
364        name: h
365        type: u32
366      -
367        name: k1
368        type: u32
369  -
370    name: tc-netem-corr
371    type: struct
372    members:
373      -
374        name: delay-corr
375        type: u32
376        doc: Delay correlation
377      -
378        name: loss-corr
379        type: u32
380        doc: Packet loss correlation
381      -
382        name: dup-corr
383        type: u32
384        doc: Duplicate correlation
385  -
386    name: tc-netem-reorder
387    type: struct
388    members:
389      -
390        name: probability
391        type: u32
392      -
393        name: correlation
394        type: u32
395  -
396    name: tc-netem-corrupt
397    type: struct
398    members:
399      -
400        name: probability
401        type: u32
402      -
403        name: correlation
404        type: u32
405  -
406    name: tc-netem-rate
407    type: struct
408    members:
409      -
410        name: rate
411        type: u32
412      -
413        name: packet-overhead
414        type: s32
415      -
416        name: cell-size
417        type: u32
418      -
419        name: cell-overhead
420        type: s32
421  -
422    name: tc-netem-slot
423    type: struct
424    members:
425      -
426        name: min-delay
427        type: s64
428      -
429        name: max-delay
430        type: s64
431      -
432        name: max-packets
433        type: s32
434      -
435        name: max-bytes
436        type: s32
437      -
438        name: dist-delay
439        type: s64
440      -
441        name: dist-jitter
442        type: s64
443  -
444    name: tc-plug-qopt
445    type: struct
446    members:
447      -
448        name: action
449        type: s32
450      -
451        name: limit
452        type: u32
453  -
454    name: tc-prio-qopt
455    type: struct
456    members:
457      -
458        name: bands
459        type: u32
460        doc: Number of bands
461      -
462        name: priomap
463        type: binary
464        len: 16
465        doc: Map of logical priority -> PRIO band
466  -
467    name: tc-red-qopt
468    type: struct
469    members:
470      -
471        name: limit
472        type: u32
473        doc: Hard queue length in packets
474      -
475        name: qth-min
476        type: u32
477        doc: Min average threshold in packets
478      -
479        name: qth-max
480        type: u32
481        doc: Max average threshold in packets
482      -
483        name: Wlog
484        type: u8
485        doc: log(W)
486      -
487        name: Plog
488        type: u8
489        doc: log(P_max / (qth-max - qth-min))
490      -
491        name: Scell-log
492        type: u8
493        doc: Cell size for idle damping
494      -
495        name: flags
496        type: u8
497  -
498    name: tc-sfb-qopt
499    type: struct
500    members:
501      -
502        name: rehash-interval
503        type: u32
504      -
505        name: warmup-time
506        type: u32
507      -
508        name: max
509        type: u32
510      -
511        name: bin-size
512        type: u32
513      -
514        name: increment
515        type: u32
516      -
517        name: decrement
518        type: u32
519      -
520        name: limit
521        type: u32
522      -
523        name: penalty-rate
524        type: u32
525      -
526        name: penalty-burst
527        type: u32
528  -
529    name: tc-sfq-qopt
530    type: struct
531    members:
532      -
533        name: quantum
534        type: u32
535        doc: Bytes per round allocated to flow
536      -
537        name: perturb-period
538        type: s32
539        doc: Period of hash perturbation
540      -
541        name: limit
542        type: u32
543        doc: Maximal packets in queue
544      -
545        name: divisor
546        type: u32
547        doc: Hash divisor
548      -
549        name: flows
550        type: u32
551        doc: Maximal number of flows
552  -
553    name: tc-sfqred-stats
554    type: struct
555    members:
556      -
557        name: prob-drop
558        type: u32
559        doc: Early drops, below max threshold
560      -
561        name: forced-drop
562        type: u32
563        doc: Early drops, after max threshold
564      -
565        name: prob-mark
566        type: u32
567        doc: Marked packets, below max threshold
568      -
569        name: forced-mark
570        type: u32
571        doc: Marked packets, after max threshold
572      -
573        name: prob-mark-head
574        type: u32
575        doc: Marked packets, below max threshold
576      -
577        name: forced-mark-head
578        type: u32
579        doc: Marked packets, after max threshold
580  -
581    name: tc-sfq-qopt-v1
582    type: struct
583    members:
584      -
585        name: v0
586        type: binary
587        struct: tc-sfq-qopt
588      -
589        name: depth
590        type: u32
591        doc: Maximum number of packets per flow
592      -
593        name: headdrop
594        type: u32
595      -
596        name: limit
597        type: u32
598        doc: HARD maximal flow queue length in bytes
599      -
600        name: qth-min
601        type: u32
602        doc: Min average length threshold in bytes
603      -
604        name: qth-max
605        type: u32
606        doc: Max average length threshold in bytes
607      -
608        name: Wlog
609        type: u8
610        doc: log(W)
611      -
612        name: Plog
613        type: u8
614        doc: log(P_max / (qth-max - qth-min))
615      -
616        name: Scell-log
617        type: u8
618        doc: Cell size for idle damping
619      -
620        name: flags
621        type: u8
622      -
623        name: max-P
624        type: u32
625        doc: probability, high resolution
626      -
627        name: stats
628        type: binary
629        struct: tc-sfqred-stats
630  -
631    name: tc-ratespec
632    type: struct
633    members:
634      -
635        name: cell-log
636        type: u8
637      -
638        name: linklayer
639        type: u8
640      -
641        name: overhead
642        type: u8
643      -
644        name: cell-align
645        type: u8
646      -
647        name: mpu
648        type: u8
649      -
650        name: rate
651        type: u32
652  -
653    name: tc-tbf-qopt
654    type: struct
655    members:
656      -
657        name: rate
658        type: binary
659        struct: tc-ratespec
660      -
661        name: peakrate
662        type: binary
663        struct: tc-ratespec
664      -
665        name: limit
666        type: u32
667      -
668        name: buffer
669        type: u32
670      -
671        name: mtu
672        type: u32
673  -
674    name: tc-sizespec
675    type: struct
676    members:
677      -
678        name: cell-log
679        type: u8
680      -
681        name: size-log
682        type: u8
683      -
684        name: cell-align
685        type: s16
686      -
687        name: overhead
688        type: s32
689      -
690        name: linklayer
691        type: u32
692      -
693        name: mpu
694        type: u32
695      -
696        name: mtu
697        type: u32
698      -
699        name: tsize
700        type: u32
701  -
702    name: gnet-estimator
703    type: struct
704    members:
705      -
706        name: interval
707        type: s8
708        doc: Sampling period
709      -
710        name: ewma-log
711        type: u8
712        doc: The log() of measurement window weight
713  -
714    name: tc-choke-xstats
715    type: struct
716    members:
717      -
718        name: early
719        type: u32
720        doc: Early drops
721      -
722        name: pdrop
723        type: u32
724        doc: Drops due to queue limits
725      -
726        name: other
727        type: u32
728        doc: Drops due to drop() calls
729      -
730        name: marked
731        type: u32
732        doc: Marked packets
733      -
734        name: matched
735        type: u32
736        doc: Drops due to flow match
737  -
738    name: tc-codel-xstats
739    type: struct
740    members:
741      -
742        name: maxpacket
743        type: u32
744        doc: Largest packet we've seen so far
745      -
746        name: count
747        type: u32
748        doc: How many drops we've done since the last time we entered dropping state
749      -
750        name: lastcount
751        type: u32
752        doc: Count at entry to dropping state
753      -
754        name: ldelay
755        type: u32
756        doc: in-queue delay seen by most recently dequeued packet
757      -
758        name: drop-next
759        type: s32
760        doc: Time to drop next packet
761      -
762        name: drop-overlimit
763        type: u32
764        doc: Number of times max qdisc packet limit was hit
765      -
766        name: ecn-mark
767        type: u32
768        doc: Number of packets we've ECN marked instead of dropped
769      -
770        name: dropping
771        type: u32
772        doc: Are we in a dropping state?
773      -
774        name: ce-mark
775        type: u32
776        doc: Number of CE marked packets because of ce-threshold
777  -
778    name: tc-fq-codel-xstats
779    type: struct
780    members:
781      -
782        name: type
783        type: u32
784      -
785        name: maxpacket
786        type: u32
787        doc: Largest packet we've seen so far
788      -
789        name: drop-overlimit
790        type: u32
791        doc: Number of times max qdisc packet limit was hit
792      -
793        name: ecn-mark
794        type: u32
795        doc: Number of packets we ECN marked instead of being dropped
796      -
797        name: new-flow-count
798        type: u32
799        doc: Number of times packets created a new flow
800      -
801        name: new-flows-len
802        type: u32
803        doc: Count of flows in new list
804      -
805        name: old-flows-len
806        type: u32
807        doc: Count of flows in old list
808      -
809        name: ce-mark
810        type: u32
811        doc: Packets above ce-threshold
812      -
813        name: memory-usage
814        type: u32
815        doc: Memory usage in bytes
816      -
817        name: drop-overmemory
818        type: u32
819  -
820    name: tc-fq-pie-xstats
821    type: struct
822    members:
823      -
824        name: packets-in
825        type: u32
826        doc: Total number of packets enqueued
827      -
828        name: dropped
829        type: u32
830        doc: Packets dropped due to fq_pie_action
831      -
832        name: overlimit
833        type: u32
834        doc: Dropped due to lack of space in queue
835      -
836        name: overmemory
837        type: u32
838        doc: Dropped due to lack of memory in queue
839      -
840        name: ecn-mark
841        type: u32
842        doc: Packets marked with ecn
843      -
844        name: new-flow-count
845        type: u32
846        doc: Count of new flows created by packets
847      -
848        name: new-flows-len
849        type: u32
850        doc: Count of flows in new list
851      -
852        name: old-flows-len
853        type: u32
854        doc: Count of flows in old list
855      -
856        name: memory-usage
857        type: u32
858        doc: Total memory across all queues
859  -
860    name: tc-fq-qd-stats
861    type: struct
862    members:
863      -
864        name: gc-flows
865        type: u64
866      -
867        name: highprio-packets
868        type: u64
869        doc: obsolete
870      -
871        name: tcp-retrans
872        type: u64
873        doc: obsolete
874      -
875        name: throttled
876        type: u64
877      -
878        name: flows-plimit
879        type: u64
880      -
881        name: pkts-too-long
882        type: u64
883      -
884        name: allocation-errors
885        type: u64
886      -
887        name: time-next-delayed-flow
888        type: s64
889      -
890        name: flows
891        type: u32
892      -
893        name: inactive-flows
894        type: u32
895      -
896        name: throttled-flows
897        type: u32
898      -
899        name: unthrottle-latency-ns
900        type: u32
901      -
902        name: ce-mark
903        type: u64
904        doc: Packets above ce-threshold
905      -
906        name: horizon-drops
907        type: u64
908      -
909        name: horizon-caps
910        type: u64
911      -
912        name: fastpath-packets
913        type: u64
914      -
915        name: band-drops
916        type: binary
917        len: 24
918      -
919        name: band-pkt-count
920        type: binary
921        len: 12
922      -
923        name: pad
924        type: pad
925        len: 4
926  -
927    name: tc-hhf-xstats
928    type: struct
929    members:
930      -
931        name: drop-overlimit
932        type: u32
933        doc: Number of times max qdisc packet limit was hit
934      -
935        name: hh-overlimit
936        type: u32
937        doc: Number of times max heavy-hitters was hit
938      -
939        name: hh-tot-count
940        type: u32
941        doc: Number of captured heavy-hitters so far
942      -
943        name: hh-cur-count
944        type: u32
945        doc: Number of current heavy-hitters
946  -
947    name: tc-pie-xstats
948    type: struct
949    members:
950      -
951        name: prob
952        type: u64
953        doc: Current probability
954      -
955        name: delay
956        type: u32
957        doc: Current delay in ms
958      -
959        name: avg-dq-rate
960        type: u32
961        doc: Current average dq rate in bits/pie-time
962      -
963        name: dq-rate-estimating
964        type: u32
965        doc: Is avg-dq-rate being calculated?
966      -
967        name: packets-in
968        type: u32
969        doc: Total number of packets enqueued
970      -
971        name: dropped
972        type: u32
973        doc: Packets dropped due to pie action
974      -
975        name: overlimit
976        type: u32
977        doc: Dropped due to lack of space in queue
978      -
979        name: maxq
980        type: u32
981        doc: Maximum queue size
982      -
983        name: ecn-mark
984        type: u32
985        doc: Packets marked with ecn
986  -
987    name: tc-red-xstats
988    type: struct
989    members:
990      -
991        name: early
992        type: u32
993        doc: Early drops
994      -
995        name: pdrop
996        type: u32
997        doc: Drops due to queue limits
998      -
999        name: other
1000        type: u32
1001        doc: Drops due to drop() calls
1002      -
1003        name: marked
1004        type: u32
1005        doc: Marked packets
1006  -
1007    name: tc-sfb-xstats
1008    type: struct
1009    members:
1010      -
1011        name: earlydrop
1012        type: u32
1013      -
1014        name: penaltydrop
1015        type: u32
1016      -
1017        name: bucketdrop
1018        type: u32
1019      -
1020        name: queuedrop
1021        type: u32
1022      -
1023        name: childdrop
1024        type: u32
1025        doc: drops in child qdisc
1026      -
1027        name: marked
1028        type: u32
1029      -
1030        name: maxqlen
1031        type: u32
1032      -
1033        name: maxprob
1034        type: u32
1035      -
1036        name: avgprob
1037        type: u32
1038  -
1039    name: tc-sfq-xstats
1040    type: struct
1041    members:
1042      -
1043        name: allot
1044        type: s32
1045  -
1046    name: gnet-stats-basic
1047    type: struct
1048    members:
1049      -
1050        name: bytes
1051        type: u64
1052      -
1053        name: packets
1054        type: u32
1055  -
1056    name: gnet-stats-rate-est
1057    type: struct
1058    members:
1059      -
1060        name: bps
1061        type: u32
1062      -
1063        name: pps
1064        type: u32
1065  -
1066    name: gnet-stats-rate-est64
1067    type: struct
1068    members:
1069      -
1070        name: bps
1071        type: u64
1072      -
1073        name: pps
1074        type: u64
1075  -
1076    name: gnet-stats-queue
1077    type: struct
1078    members:
1079      -
1080        name: qlen
1081        type: u32
1082      -
1083        name: backlog
1084        type: u32
1085      -
1086        name: drops
1087        type: u32
1088      -
1089        name: requeues
1090        type: u32
1091      -
1092        name: overlimits
1093        type: u32
1094  -
1095    name: tc-u32-key
1096    type: struct
1097    members:
1098      -
1099        name: mask
1100        type: u32
1101        byte-order: big-endian
1102      -
1103        name: val
1104        type: u32
1105        byte-order: big-endian
1106      -
1107        name: "off"
1108        type: s32
1109      -
1110        name: offmask
1111        type: s32
1112  -
1113    name: tc-u32-mark
1114    type: struct
1115    members:
1116      -
1117        name: val
1118        type: u32
1119      -
1120        name: mask
1121        type: u32
1122      -
1123        name: success
1124        type: u32
1125  -
1126    name: tc-u32-sel
1127    type: struct
1128    members:
1129      -
1130        name: flags
1131        type: u8
1132      -
1133        name: offshift
1134        type: u8
1135      -
1136        name: nkeys
1137        type: u8
1138      -
1139        name: offmask
1140        type: u16
1141        byte-order: big-endian
1142      -
1143        name: "off"
1144        type: u16
1145      -
1146        name: offoff
1147        type: s16
1148      -
1149        name: hoff
1150        type: s16
1151      -
1152        name: hmask
1153        type: u32
1154        byte-order: big-endian
1155      -
1156        name: keys
1157        type: binary
1158        struct: tc-u32-key # TODO: array
1159  -
1160    name: tc-u32-pcnt
1161    type: struct
1162    members:
1163      -
1164        name: rcnt
1165        type: u64
1166      -
1167        name: rhit
1168        type: u64
1169      -
1170        name: kcnts
1171        type: u64 # TODO: array
1172  -
1173    name: tcf-t
1174    type: struct
1175    members:
1176      -
1177        name: install
1178        type: u64
1179      -
1180        name: lastuse
1181        type: u64
1182      -
1183        name: expires
1184        type: u64
1185      -
1186        name: firstuse
1187        type: u64
1188  -
1189    name: tc-gen
1190    type: struct
1191    members:
1192      -
1193        name: index
1194        type: u32
1195      -
1196        name: capab
1197        type: u32
1198      -
1199        name: action
1200        type: s32
1201      -
1202        name: refcnt
1203        type: s32
1204      -
1205        name: bindcnt
1206        type: s32
1207  -
1208    name: tc-gact-p
1209    type: struct
1210    members:
1211      -
1212        name: ptype
1213        type: u16
1214      -
1215        name: pval
1216        type: u16
1217      -
1218        name: paction
1219        type: s32
1220  -
1221    name: tcf-ematch-tree-hdr
1222    type: struct
1223    members:
1224      -
1225        name: nmatches
1226        type: u16
1227      -
1228        name: progid
1229        type: u16
1230  -
1231    name: tc-basic-pcnt
1232    type: struct
1233    members:
1234      -
1235        name: rcnt
1236        type: u64
1237      -
1238        name: rhit
1239        type: u64
1240  -
1241    name: tc-matchall-pcnt
1242    type: struct
1243    members:
1244      -
1245        name: rhit
1246        type: u64
1247  -
1248    name: tc-mpls
1249    type: struct
1250    members:
1251      -
1252        name: index
1253        type: u32
1254      -
1255        name: capab
1256        type: u32
1257      -
1258        name: action
1259        type: s32
1260      -
1261        name: refcnt
1262        type: s32
1263      -
1264        name: bindcnt
1265        type: s32
1266      -
1267        name: m-action
1268        type: s32
1269  -
1270    name: tc-police
1271    type: struct
1272    members:
1273      -
1274        name: index
1275        type: u32
1276      -
1277        name: action
1278        type: s32
1279      -
1280        name: limit
1281        type: u32
1282      -
1283        name: burst
1284        type: u32
1285      -
1286        name: mtu
1287        type: u32
1288      -
1289        name: rate
1290        type: binary
1291        struct: tc-ratespec
1292      -
1293        name: peakrate
1294        type: binary
1295        struct: tc-ratespec
1296      -
1297        name: refcnt
1298        type: s32
1299      -
1300        name: bindcnt
1301        type: s32
1302      -
1303        name: capab
1304        type: u32
1305  -
1306    name: tc-pedit-sel
1307    type: struct
1308    members:
1309      -
1310        name: index
1311        type: u32
1312      -
1313        name: capab
1314        type: u32
1315      -
1316        name: action
1317        type: s32
1318      -
1319        name: refcnt
1320        type: s32
1321      -
1322        name: bindcnt
1323        type: s32
1324      -
1325        name: nkeys
1326        type: u8
1327      -
1328        name: flags
1329        type: u8
1330      -
1331        name: keys
1332        type: binary
1333        struct: tc-pedit-key # TODO: array
1334  -
1335    name: tc-pedit-key
1336    type: struct
1337    members:
1338      -
1339        name: mask
1340        type: u32
1341      -
1342        name: val
1343        type: u32
1344      -
1345        name: "off"
1346        type: u32
1347      -
1348        name: at
1349        type: u32
1350      -
1351        name: offmask
1352        type: u32
1353      -
1354        name: shift
1355        type: u32
1356  -
1357    name: tc-vlan
1358    type: struct
1359    members:
1360      -
1361        name: index
1362        type: u32
1363      -
1364        name: capab
1365        type: u32
1366      -
1367        name: action
1368        type: s32
1369      -
1370        name: refcnt
1371        type: s32
1372      -
1373        name: bindcnt
1374        type: s32
1375      -
1376        name: v-action
1377        type: s32
1378attribute-sets:
1379  -
1380    name: tc-attrs
1381    attributes:
1382      -
1383        name: kind
1384        type: string
1385      -
1386        name: options
1387        type: sub-message
1388        sub-message: tc-options-msg
1389        selector: kind
1390      -
1391        name: stats
1392        type: binary
1393        struct: tc-stats
1394      -
1395        name: xstats
1396        type: sub-message
1397        sub-message: tca-stats-app-msg
1398        selector: kind
1399      -
1400        name: rate
1401        type: binary
1402        struct: gnet-estimator
1403      -
1404        name: fcnt
1405        type: u32
1406      -
1407        name: stats2
1408        type: nest
1409        nested-attributes: tca-stats-attrs
1410      -
1411        name: stab
1412        type: nest
1413        nested-attributes: tca-stab-attrs
1414      -
1415        name: pad
1416        type: pad
1417      -
1418        name: dump-invisible
1419        type: flag
1420      -
1421        name: chain
1422        type: u32
1423      -
1424        name: hw-offload
1425        type: u8
1426      -
1427        name: ingress-block
1428        type: u32
1429      -
1430        name: egress-block
1431        type: u32
1432      -
1433        name: dump-flags
1434        type: bitfield32
1435      -
1436        name: ext-warn-msg
1437        type: string
1438  -
1439    name: tc-act-attrs
1440    attributes:
1441      -
1442        name: kind
1443        type: string
1444      -
1445        name: options
1446        type: sub-message
1447        sub-message: tc-act-options-msg
1448        selector: kind
1449      -
1450        name: index
1451        type: u32
1452      -
1453        name: stats
1454        type: nest
1455        nested-attributes: tc-act-stats-attrs
1456      -
1457        name: pad
1458        type: pad
1459      -
1460        name: cookie
1461        type: binary
1462      -
1463        name: flags
1464        type: bitfield32
1465      -
1466        name: hw-stats
1467        type: bitfield32
1468      -
1469        name: used-hw-stats
1470        type: bitfield32
1471      -
1472        name: in-hw-count
1473        type: u32
1474  -
1475    name: tc-act-stats-attrs
1476    attributes:
1477      -
1478        name: basic
1479        type: binary
1480        struct: gnet-stats-basic
1481      -
1482        name: rate-est
1483        type: binary
1484        struct: gnet-stats-rate-est
1485      -
1486        name: queue
1487        type: binary
1488        struct: gnet-stats-queue
1489      -
1490        name: app
1491        type: binary
1492      -
1493        name: rate-est64
1494        type: binary
1495        struct: gnet-stats-rate-est64
1496      -
1497        name: pad
1498        type: pad
1499      -
1500        name: basic-hw
1501        type: binary
1502        struct: gnet-stats-basic
1503      -
1504        name: pkt64
1505        type: u64
1506  -
1507    name: tc-act-bpf-attrs
1508    attributes:
1509      -
1510        name: tm
1511        type: binary
1512        struct: tcf-t
1513      -
1514        name: parms
1515        type: binary
1516      -
1517        name: ops-len
1518        type: u16
1519      -
1520        name: ops
1521        type: binary
1522      -
1523        name: fd
1524        type: u32
1525      -
1526        name: name
1527        type: string
1528      -
1529        name: pad
1530        type: pad
1531      -
1532        name: tag
1533        type: binary
1534      -
1535        name: id
1536        type: binary
1537  -
1538    name: tc-act-connmark-attrs
1539    attributes:
1540      -
1541        name: parms
1542        type: binary
1543      -
1544        name: tm
1545        type: binary
1546        struct: tcf-t
1547      -
1548        name: pad
1549        type: pad
1550  -
1551    name: tc-act-csum-attrs
1552    attributes:
1553      -
1554        name: parms
1555        type: binary
1556      -
1557        name: tm
1558        type: binary
1559        struct: tcf-t
1560      -
1561        name: pad
1562        type: pad
1563  -
1564    name: tc-act-ct-attrs
1565    attributes:
1566      -
1567        name: parms
1568        type: binary
1569      -
1570        name: tm
1571        type: binary
1572        struct: tcf-t
1573      -
1574        name: action
1575        type: u16
1576      -
1577        name: zone
1578        type: u16
1579      -
1580        name: mark
1581        type: u32
1582      -
1583        name: mark-mask
1584        type: u32
1585      -
1586        name: labels
1587        type: binary
1588      -
1589        name: labels-mask
1590        type: binary
1591      -
1592        name: nat-ipv4-min
1593        type: u32
1594        byte-order: big-endian
1595      -
1596        name: nat-ipv4-max
1597        type: u32
1598        byte-order: big-endian
1599      -
1600        name: nat-ipv6-min
1601        type: binary
1602      -
1603        name: nat-ipv6-max
1604        type: binary
1605      -
1606        name: nat-port-min
1607        type: u16
1608        byte-order: big-endian
1609      -
1610        name: nat-port-max
1611        type: u16
1612        byte-order: big-endian
1613      -
1614        name: pad
1615        type: pad
1616      -
1617        name: helper-name
1618        type: string
1619      -
1620        name: helper-family
1621        type: u8
1622      -
1623        name: helper-proto
1624        type: u8
1625  -
1626    name: tc-act-ctinfo-attrs
1627    attributes:
1628      -
1629        name: pad
1630        type: pad
1631      -
1632        name: tm
1633        type: binary
1634        struct: tcf-t
1635      -
1636        name: act
1637        type: binary
1638      -
1639        name: zone
1640        type: u16
1641      -
1642        name: parms-dscp-mask
1643        type: u32
1644      -
1645        name: parms-dscp-statemask
1646        type: u32
1647      -
1648        name: parms-cpmark-mask
1649        type: u32
1650      -
1651        name: stats-dscp-set
1652        type: u64
1653      -
1654        name: stats-dscp-error
1655        type: u64
1656      -
1657        name: stats-cpmark-set
1658        type: u64
1659  -
1660    name: tc-act-gate-attrs
1661    attributes:
1662      -
1663        name: tm
1664        type: binary
1665        struct: tcf-t
1666      -
1667        name: parms
1668        type: binary
1669      -
1670        name: pad
1671        type: pad
1672      -
1673        name: priority
1674        type: s32
1675      -
1676        name: entry-list
1677        type: binary
1678      -
1679        name: base-time
1680        type: u64
1681      -
1682        name: cycle-time
1683        type: u64
1684      -
1685        name: cycle-time-ext
1686        type: u64
1687      -
1688        name: flags
1689        type: u32
1690      -
1691        name: clockid
1692        type: s32
1693  -
1694    name: tc-act-ife-attrs
1695    attributes:
1696      -
1697        name: parms
1698        type: binary
1699      -
1700        name: tm
1701        type: binary
1702        struct: tcf-t
1703      -
1704        name: dmac
1705        type: binary
1706      -
1707        name: smac
1708        type: binary
1709      -
1710        name: type
1711        type: u16
1712      -
1713        name: metalst
1714        type: binary
1715      -
1716        name: pad
1717        type: pad
1718  -
1719    name: tc-act-mirred-attrs
1720    attributes:
1721      -
1722        name: tm
1723        type: binary
1724        struct: tcf-t
1725      -
1726        name: parms
1727        type: binary
1728      -
1729        name: pad
1730        type: pad
1731      -
1732        name: blockid
1733        type: binary
1734  -
1735    name: tc-act-mpls-attrs
1736    attributes:
1737      -
1738        name: tm
1739        type: binary
1740        struct: tcf-t
1741      -
1742        name: parms
1743        type: binary
1744        struct: tc-mpls
1745      -
1746        name: pad
1747        type: pad
1748      -
1749        name: proto
1750        type: u16
1751        byte-order: big-endian
1752      -
1753        name: label
1754        type: u32
1755      -
1756        name: tc
1757        type: u8
1758      -
1759        name: ttl
1760        type: u8
1761      -
1762        name: bos
1763        type: u8
1764  -
1765    name: tc-act-nat-attrs
1766    attributes:
1767      -
1768        name: parms
1769        type: binary
1770      -
1771        name: tm
1772        type: binary
1773        struct: tcf-t
1774      -
1775        name: pad
1776        type: pad
1777  -
1778    name: tc-act-pedit-attrs
1779    attributes:
1780      -
1781        name: tm
1782        type: binary
1783        struct: tcf-t
1784      -
1785        name: parms
1786        type: binary
1787        struct: tc-pedit-sel
1788      -
1789        name: pad
1790        type: pad
1791      -
1792        name: parms-ex
1793        type: binary
1794      -
1795        name: keys-ex
1796        type: binary
1797      -
1798        name: key-ex
1799        type: binary
1800  -
1801    name: tc-act-police-attrs
1802    attributes:
1803      -
1804        name: tbf
1805        type: binary
1806        struct: tc-police
1807      -
1808        name: rate
1809        type: binary # TODO
1810      -
1811        name: peakrate
1812        type: binary # TODO
1813      -
1814        name: avrate
1815        type: u32
1816      -
1817        name: result
1818        type: u32
1819      -
1820        name: tm
1821        type: binary
1822        struct: tcf-t
1823      -
1824        name: pad
1825        type: pad
1826      -
1827        name: rate64
1828        type: u64
1829      -
1830        name: peakrate64
1831        type: u64
1832      -
1833        name: pktrate64
1834        type: u64
1835      -
1836        name: pktburst64
1837        type: u64
1838  -
1839    name: tc-act-simple-attrs
1840    attributes:
1841      -
1842        name: tm
1843        type: binary
1844        struct: tcf-t
1845      -
1846        name: parms
1847        type: binary
1848      -
1849        name: data
1850        type: binary
1851      -
1852        name: pad
1853        type: pad
1854  -
1855    name: tc-act-skbedit-attrs
1856    attributes:
1857      -
1858        name: tm
1859        type: binary
1860        struct: tcf-t
1861      -
1862        name: parms
1863        type: binary
1864      -
1865        name: priority
1866        type: u32
1867      -
1868        name: queue-mapping
1869        type: u16
1870      -
1871        name: mark
1872        type: u32
1873      -
1874        name: pad
1875        type: pad
1876      -
1877        name: ptype
1878        type: u16
1879      -
1880        name: mask
1881        type: u32
1882      -
1883        name: flags
1884        type: u64
1885      -
1886        name: queue-mapping-max
1887        type: u16
1888  -
1889    name: tc-act-skbmod-attrs
1890    attributes:
1891      -
1892        name: tm
1893        type: binary
1894        struct: tcf-t
1895      -
1896        name: parms
1897        type: binary
1898      -
1899        name: dmac
1900        type: binary
1901      -
1902        name: smac
1903        type: binary
1904      -
1905        name: etype
1906        type: binary
1907      -
1908        name: pad
1909        type: pad
1910  -
1911    name: tc-act-tunnel-key-attrs
1912    attributes:
1913      -
1914        name: tm
1915        type: binary
1916        struct: tcf-t
1917      -
1918        name: parms
1919        type: binary
1920      -
1921        name: enc-ipv4-src
1922        type: u32
1923        byte-order: big-endian
1924      -
1925        name: enc-ipv4-dst
1926        type: u32
1927        byte-order: big-endian
1928      -
1929        name: enc-ipv6-src
1930        type: binary
1931      -
1932        name: enc-ipv6-dst
1933        type: binary
1934      -
1935        name: enc-key-id
1936        type: u64
1937        byte-order: big-endian
1938      -
1939        name: pad
1940        type: pad
1941      -
1942        name: enc-dst-port
1943        type: u16
1944        byte-order: big-endian
1945      -
1946        name: no-csum
1947        type: u8
1948      -
1949        name: enc-opts
1950        type: binary
1951      -
1952        name: enc-tos
1953        type: u8
1954      -
1955        name: enc-ttl
1956        type: u8
1957      -
1958        name: no-frag
1959        type: flag
1960  -
1961    name: tc-act-vlan-attrs
1962    attributes:
1963      -
1964        name: tm
1965        type: binary
1966        struct: tcf-t
1967      -
1968        name: parms
1969        type: binary
1970        struct: tc-vlan
1971      -
1972        name: push-vlan-id
1973        type: u16
1974      -
1975        name: push-vlan-protocol
1976        type: u16
1977      -
1978        name: pad
1979        type: pad
1980      -
1981        name: push-vlan-priority
1982        type: u8
1983      -
1984        name: push-eth-dst
1985        type: binary
1986      -
1987        name: push-eth-src
1988        type: binary
1989  -
1990    name: tc-basic-attrs
1991    attributes:
1992      -
1993        name: classid
1994        type: u32
1995      -
1996        name: ematches
1997        type: nest
1998        nested-attributes: tc-ematch-attrs
1999      -
2000        name: act
2001        type: indexed-array
2002        sub-type: nest
2003        nested-attributes: tc-act-attrs
2004      -
2005        name: police
2006        type: nest
2007        nested-attributes: tc-police-attrs
2008      -
2009        name: pcnt
2010        type: binary
2011        struct: tc-basic-pcnt
2012      -
2013        name: pad
2014        type: pad
2015  -
2016    name: tc-bpf-attrs
2017    attributes:
2018      -
2019        name: act
2020        type: indexed-array
2021        sub-type: nest
2022        nested-attributes: tc-act-attrs
2023      -
2024        name: police
2025        type: nest
2026        nested-attributes: tc-police-attrs
2027      -
2028        name: classid
2029        type: u32
2030      -
2031        name: ops-len
2032        type: u16
2033      -
2034        name: ops
2035        type: binary
2036      -
2037        name: fd
2038        type: u32
2039      -
2040        name: name
2041        type: string
2042      -
2043        name: flags
2044        type: u32
2045      -
2046        name: flags-gen
2047        type: u32
2048      -
2049        name: tag
2050        type: binary
2051      -
2052        name: id
2053        type: u32
2054  -
2055    name: tc-cake-attrs
2056    attributes:
2057      -
2058        name: pad
2059        type: pad
2060      -
2061        name: base-rate64
2062        type: u64
2063      -
2064        name: diffserv-mode
2065        type: u32
2066      -
2067        name: atm
2068        type: u32
2069      -
2070        name: flow-mode
2071        type: u32
2072      -
2073        name: overhead
2074        type: u32
2075      -
2076        name: rtt
2077        type: u32
2078      -
2079        name: target
2080        type: u32
2081      -
2082        name: autorate
2083        type: u32
2084      -
2085        name: memory
2086        type: u32
2087      -
2088        name: nat
2089        type: u32
2090      -
2091        name: raw
2092        type: u32
2093      -
2094        name: wash
2095        type: u32
2096      -
2097        name: mpu
2098        type: u32
2099      -
2100        name: ingress
2101        type: u32
2102      -
2103        name: ack-filter
2104        type: u32
2105      -
2106        name: split-gso
2107        type: u32
2108      -
2109        name: fwmark
2110        type: u32
2111  -
2112    name: tc-cake-stats-attrs
2113    attributes:
2114      -
2115        name: pad
2116        type: pad
2117      -
2118        name: capacity-estimate64
2119        type: u64
2120      -
2121        name: memory-limit
2122        type: u32
2123      -
2124        name: memory-used
2125        type: u32
2126      -
2127        name: avg-netoff
2128        type: u32
2129      -
2130        name: min-netlen
2131        type: u32
2132      -
2133        name: max-netlen
2134        type: u32
2135      -
2136        name: min-adjlen
2137        type: u32
2138      -
2139        name: max-adjlen
2140        type: u32
2141      -
2142        name: tin-stats
2143        type: indexed-array
2144        sub-type: nest
2145        nested-attributes: tc-cake-tin-stats-attrs
2146      -
2147        name: deficit
2148        type: s32
2149      -
2150        name: cobalt-count
2151        type: u32
2152      -
2153        name: dropping
2154        type: u32
2155      -
2156        name: drop-next-us
2157        type: s32
2158      -
2159        name: p-drop
2160        type: u32
2161      -
2162        name: blue-timer-us
2163        type: s32
2164  -
2165    name: tc-cake-tin-stats-attrs
2166    attributes:
2167      -
2168        name: pad
2169        type: pad
2170      -
2171        name: sent-packets
2172        type: u32
2173      -
2174        name: sent-bytes64
2175        type: u64
2176      -
2177        name: dropped-packets
2178        type: u32
2179      -
2180        name: dropped-bytes64
2181        type: u64
2182      -
2183        name: acks-dropped-packets
2184        type: u32
2185      -
2186        name: acks-dropped-bytes64
2187        type: u64
2188      -
2189        name: ecn-marked-packets
2190        type: u32
2191      -
2192        name: ecn-marked-bytes64
2193        type: u64
2194      -
2195        name: backlog-packets
2196        type: u32
2197      -
2198        name: backlog-bytes
2199        type: u32
2200      -
2201        name: threshold-rate64
2202        type: u64
2203      -
2204        name: target-us
2205        type: u32
2206      -
2207        name: interval-us
2208        type: u32
2209      -
2210        name: way-indirect-hits
2211        type: u32
2212      -
2213        name: way-misses
2214        type: u32
2215      -
2216        name: way-collisions
2217        type: u32
2218      -
2219        name: peak-delay-us
2220        type: u32
2221      -
2222        name: avg-delay-us
2223        type: u32
2224      -
2225        name: base-delay-us
2226        type: u32
2227      -
2228        name: sparse-flows
2229        type: u32
2230      -
2231        name: bulk-flows
2232        type: u32
2233      -
2234        name: unresponsive-flows
2235        type: u32
2236      -
2237        name: max-skblen
2238        type: u32
2239      -
2240        name: flow-quantum
2241        type: u32
2242  -
2243    name: tc-cbs-attrs
2244    attributes:
2245      -
2246        name: parms
2247        type: binary
2248        struct: tc-cbs-qopt
2249  -
2250    name: tc-cgroup-attrs
2251    attributes:
2252      -
2253        name: act
2254        type: indexed-array
2255        sub-type: nest
2256        nested-attributes: tc-act-attrs
2257      -
2258        name: police
2259        type: nest
2260        nested-attributes: tc-police-attrs
2261      -
2262        name: ematches
2263        type: binary
2264  -
2265    name: tc-choke-attrs
2266    attributes:
2267      -
2268        name: parms
2269        type: binary
2270        struct: tc-red-qopt
2271      -
2272        name: stab
2273        type: binary
2274        checks:
2275          min-len: 256
2276          max-len: 256
2277      -
2278        name: max-p
2279        type: u32
2280  -
2281    name: tc-codel-attrs
2282    attributes:
2283      -
2284        name: target
2285        type: u32
2286      -
2287        name: limit
2288        type: u32
2289      -
2290        name: interval
2291        type: u32
2292      -
2293        name: ecn
2294        type: u32
2295      -
2296        name: ce-threshold
2297        type: u32
2298  -
2299    name: tc-drr-attrs
2300    attributes:
2301      -
2302        name: quantum
2303        type: u32
2304  -
2305    name: tc-ematch-attrs
2306    attributes:
2307      -
2308        name: tree-hdr
2309        type: binary
2310        struct: tcf-ematch-tree-hdr
2311      -
2312        name: tree-list
2313        type: binary
2314  -
2315    name: tc-flow-attrs
2316    attributes:
2317      -
2318        name: keys
2319        type: u32
2320      -
2321        name: mode
2322        type: u32
2323      -
2324        name: baseclass
2325        type: u32
2326      -
2327        name: rshift
2328        type: u32
2329      -
2330        name: addend
2331        type: u32
2332      -
2333        name: mask
2334        type: u32
2335      -
2336        name: xor
2337        type: u32
2338      -
2339        name: divisor
2340        type: u32
2341      -
2342        name: act
2343        type: binary
2344      -
2345        name: police
2346        type: nest
2347        nested-attributes: tc-police-attrs
2348      -
2349        name: ematches
2350        type: binary
2351      -
2352        name: perturb
2353        type: u32
2354  -
2355    name: tc-flower-attrs
2356    attributes:
2357      -
2358        name: classid
2359        type: u32
2360      -
2361        name: indev
2362        type: string
2363      -
2364        name: act
2365        type: indexed-array
2366        sub-type: nest
2367        nested-attributes: tc-act-attrs
2368      -
2369        name: key-eth-dst
2370        type: binary
2371        display-hint: mac
2372      -
2373        name: key-eth-dst-mask
2374        type: binary
2375        display-hint: mac
2376      -
2377        name: key-eth-src
2378        type: binary
2379        display-hint: mac
2380      -
2381        name: key-eth-src-mask
2382        type: binary
2383        display-hint: mac
2384      -
2385        name: key-eth-type
2386        type: u16
2387        byte-order: big-endian
2388      -
2389        name: key-ip-proto
2390        type: u8
2391      -
2392        name: key-ipv4-src
2393        type: u32
2394        byte-order: big-endian
2395        display-hint: ipv4
2396      -
2397        name: key-ipv4-src-mask
2398        type: u32
2399        byte-order: big-endian
2400        display-hint: ipv4
2401      -
2402        name: key-ipv4-dst
2403        type: u32
2404        byte-order: big-endian
2405        display-hint: ipv4
2406      -
2407        name: key-ipv4-dst-mask
2408        type: u32
2409        byte-order: big-endian
2410        display-hint: ipv4
2411      -
2412        name: key-ipv6-src
2413        type: binary
2414        display-hint: ipv6
2415      -
2416        name: key-ipv6-src-mask
2417        type: binary
2418        display-hint: ipv6
2419      -
2420        name: key-ipv6-dst
2421        type: binary
2422        display-hint: ipv6
2423      -
2424        name: key-ipv6-dst-mask
2425        type: binary
2426        display-hint: ipv6
2427      -
2428        name: key-tcp-src
2429        type: u16
2430        byte-order: big-endian
2431      -
2432        name: key-tcp-dst
2433        type: u16
2434        byte-order: big-endian
2435      -
2436        name: key-udp-src
2437        type: u16
2438        byte-order: big-endian
2439      -
2440        name: key-udp-dst
2441        type: u16
2442        byte-order: big-endian
2443      -
2444        name: flags
2445        type: u32
2446        enum: tc-cls-flags
2447        enum-as-flags: true
2448      -
2449        name: key-vlan-id
2450        type: u16
2451        byte-order: big-endian
2452      -
2453        name: key-vlan-prio
2454        type: u8
2455      -
2456        name: key-vlan-eth-type
2457        type: u16
2458        byte-order: big-endian
2459      -
2460        name: key-enc-key-id
2461        type: u32
2462        byte-order: big-endian
2463      -
2464        name: key-enc-ipv4-src
2465        type: u32
2466        byte-order: big-endian
2467        display-hint: ipv4
2468      -
2469        name: key-enc-ipv4-src-mask
2470        type: u32
2471        byte-order: big-endian
2472        display-hint: ipv4
2473      -
2474        name: key-enc-ipv4-dst
2475        type: u32
2476        byte-order: big-endian
2477        display-hint: ipv4
2478      -
2479        name: key-enc-ipv4-dst-mask
2480        type: u32
2481        byte-order: big-endian
2482        display-hint: ipv4
2483      -
2484        name: key-enc-ipv6-src
2485        type: binary
2486        display-hint: ipv6
2487      -
2488        name: key-enc-ipv6-src-mask
2489        type: binary
2490        display-hint: ipv6
2491      -
2492        name: key-enc-ipv6-dst
2493        type: binary
2494        display-hint: ipv6
2495      -
2496        name: key-enc-ipv6-dst-mask
2497        type: binary
2498        display-hint: ipv6
2499      -
2500        name: key-tcp-src-mask
2501        type: u16
2502        byte-order: big-endian
2503      -
2504        name: key-tcp-dst-mask
2505        type: u16
2506        byte-order: big-endian
2507      -
2508        name: key-udp-src-mask
2509        type: u16
2510        byte-order: big-endian
2511      -
2512        name: key-udp-dst-mask
2513        type: u16
2514        byte-order: big-endian
2515      -
2516        name: key-sctp-src-mask
2517        type: u16
2518        byte-order: big-endian
2519      -
2520        name: key-sctp-dst-mask
2521        type: u16
2522        byte-order: big-endian
2523      -
2524        name: key-sctp-src
2525        type: u16
2526        byte-order: big-endian
2527      -
2528        name: key-sctp-dst
2529        type: u16
2530        byte-order: big-endian
2531      -
2532        name: key-enc-udp-src-port
2533        type: u16
2534        byte-order: big-endian
2535      -
2536        name: key-enc-udp-src-port-mask
2537        type: u16
2538        byte-order: big-endian
2539      -
2540        name: key-enc-udp-dst-port
2541        type: u16
2542        byte-order: big-endian
2543      -
2544        name: key-enc-udp-dst-port-mask
2545        type: u16
2546        byte-order: big-endian
2547      -
2548        name: key-flags
2549        type: u32
2550        byte-order: big-endian
2551        enum: tc-flower-key-ctrl-flags
2552        enum-as-flags: true
2553      -
2554        name: key-flags-mask
2555        type: u32
2556        byte-order: big-endian
2557        enum: tc-flower-key-ctrl-flags
2558        enum-as-flags: true
2559      -
2560        name: key-icmpv4-code
2561        type: u8
2562      -
2563        name: key-icmpv4-code-mask
2564        type: u8
2565      -
2566        name: key-icmpv4-type
2567        type: u8
2568      -
2569        name: key-icmpv4-type-mask
2570        type: u8
2571      -
2572        name: key-icmpv6-code
2573        type: u8
2574      -
2575        name: key-icmpv6-code-mask
2576        type: u8
2577      -
2578        name: key-icmpv6-type
2579        type: u8
2580      -
2581        name: key-icmpv6-type-mask
2582        type: u8
2583      -
2584        name: key-arp-sip
2585        type: u32
2586        byte-order: big-endian
2587      -
2588        name: key-arp-sip-mask
2589        type: u32
2590        byte-order: big-endian
2591      -
2592        name: key-arp-tip
2593        type: u32
2594        byte-order: big-endian
2595      -
2596        name: key-arp-tip-mask
2597        type: u32
2598        byte-order: big-endian
2599      -
2600        name: key-arp-op
2601        type: u8
2602      -
2603        name: key-arp-op-mask
2604        type: u8
2605      -
2606        name: key-arp-sha
2607        type: binary
2608        display-hint: mac
2609      -
2610        name: key-arp-sha-mask
2611        type: binary
2612        display-hint: mac
2613      -
2614        name: key-arp-tha
2615        type: binary
2616        display-hint: mac
2617      -
2618        name: key-arp-tha-mask
2619        type: binary
2620        display-hint: mac
2621      -
2622        name: key-mpls-ttl
2623        type: u8
2624      -
2625        name: key-mpls-bos
2626        type: u8
2627      -
2628        name: key-mpls-tc
2629        type: u8
2630      -
2631        name: key-mpls-label
2632        type: u32
2633        byte-order: big-endian
2634      -
2635        name: key-tcp-flags
2636        type: u16
2637        byte-order: big-endian
2638      -
2639        name: key-tcp-flags-mask
2640        type: u16
2641        byte-order: big-endian
2642      -
2643        name: key-ip-tos
2644        type: u8
2645      -
2646        name: key-ip-tos-mask
2647        type: u8
2648      -
2649        name: key-ip-ttl
2650        type: u8
2651      -
2652        name: key-ip-ttl-mask
2653        type: u8
2654      -
2655        name: key-cvlan-id
2656        type: u16
2657        byte-order: big-endian
2658      -
2659        name: key-cvlan-prio
2660        type: u8
2661      -
2662        name: key-cvlan-eth-type
2663        type: u16
2664        byte-order: big-endian
2665      -
2666        name: key-enc-ip-tos
2667        type: u8
2668      -
2669        name: key-enc-ip-tos-mask
2670        type: u8
2671      -
2672        name: key-enc-ip-ttl
2673        type: u8
2674      -
2675        name: key-enc-ip-ttl-mask
2676        type: u8
2677      -
2678        name: key-enc-opts
2679        type: nest
2680        nested-attributes: tc-flower-key-enc-opts-attrs
2681      -
2682        name: key-enc-opts-mask
2683        type: nest
2684        nested-attributes: tc-flower-key-enc-opts-attrs
2685      -
2686        name: in-hw-count
2687        type: u32
2688      -
2689        name: key-port-src-min
2690        type: u16
2691        byte-order: big-endian
2692      -
2693        name: key-port-src-max
2694        type: u16
2695        byte-order: big-endian
2696      -
2697        name: key-port-dst-min
2698        type: u16
2699        byte-order: big-endian
2700      -
2701        name: key-port-dst-max
2702        type: u16
2703        byte-order: big-endian
2704      -
2705        name: key-ct-state
2706        type: u16
2707      -
2708        name: key-ct-state-mask
2709        type: u16
2710      -
2711        name: key-ct-zone
2712        type: u16
2713      -
2714        name: key-ct-zone-mask
2715        type: u16
2716      -
2717        name: key-ct-mark
2718        type: u32
2719      -
2720        name: key-ct-mark-mask
2721        type: u32
2722      -
2723        name: key-ct-labels
2724        type: binary
2725      -
2726        name: key-ct-labels-mask
2727        type: binary
2728      -
2729        name: key-mpls-opts
2730        type: nest
2731        nested-attributes: tc-flower-key-mpls-opt-attrs
2732      -
2733        name: key-hash
2734        type: u32
2735      -
2736        name: key-hash-mask
2737        type: u32
2738      -
2739        name: key-num-of-vlans
2740        type: u8
2741      -
2742        name: key-pppoe-sid
2743        type: u16
2744        byte-order: big-endian
2745      -
2746        name: key-ppp-proto
2747        type: u16
2748        byte-order: big-endian
2749      -
2750        name: key-l2tpv3-sid
2751        type: u32
2752        byte-order: big-endian
2753      -
2754        name: l2-miss
2755        type: u8
2756      -
2757        name: key-cfm
2758        type: nest
2759        nested-attributes: tc-flower-key-cfm-attrs
2760      -
2761        name: key-spi
2762        type: u32
2763        byte-order: big-endian
2764      -
2765        name: key-spi-mask
2766        type: u32
2767        byte-order: big-endian
2768      -
2769        name: key-enc-flags
2770        type: u32
2771        byte-order: big-endian
2772        enum: tc-flower-key-ctrl-flags
2773        enum-as-flags: true
2774      -
2775        name: key-enc-flags-mask
2776        type: u32
2777        byte-order: big-endian
2778        enum: tc-flower-key-ctrl-flags
2779        enum-as-flags: true
2780  -
2781    name: tc-flower-key-enc-opts-attrs
2782    attributes:
2783      -
2784        name: geneve
2785        type: nest
2786        nested-attributes: tc-flower-key-enc-opt-geneve-attrs
2787      -
2788        name: vxlan
2789        type: nest
2790        nested-attributes: tc-flower-key-enc-opt-vxlan-attrs
2791      -
2792        name: erspan
2793        type: nest
2794        nested-attributes: tc-flower-key-enc-opt-erspan-attrs
2795      -
2796        name: gtp
2797        type: nest
2798        nested-attributes: tc-flower-key-enc-opt-gtp-attrs
2799  -
2800    name: tc-flower-key-enc-opt-geneve-attrs
2801    attributes:
2802      -
2803        name: class
2804        type: u16
2805      -
2806        name: type
2807        type: u8
2808      -
2809        name: data
2810        type: binary
2811  -
2812    name: tc-flower-key-enc-opt-vxlan-attrs
2813    attributes:
2814      -
2815        name: gbp
2816        type: u32
2817  -
2818    name: tc-flower-key-enc-opt-erspan-attrs
2819    attributes:
2820      -
2821        name: ver
2822        type: u8
2823      -
2824        name: index
2825        type: u32
2826      -
2827        name: dir
2828        type: u8
2829      -
2830        name: hwid
2831        type: u8
2832  -
2833    name: tc-flower-key-enc-opt-gtp-attrs
2834    attributes:
2835      -
2836        name: pdu-type
2837        type: u8
2838      -
2839        name: qfi
2840        type: u8
2841  -
2842    name: tc-flower-key-mpls-opt-attrs
2843    attributes:
2844      -
2845        name: lse-depth
2846        type: u8
2847      -
2848        name: lse-ttl
2849        type: u8
2850      -
2851        name: lse-bos
2852        type: u8
2853      -
2854        name: lse-tc
2855        type: u8
2856      -
2857        name: lse-label
2858        type: u32
2859  -
2860    name: tc-flower-key-cfm-attrs
2861    attributes:
2862      -
2863        name: md-level
2864        type: u8
2865      -
2866        name: opcode
2867        type: u8
2868  -
2869    name: tc-fw-attrs
2870    attributes:
2871      -
2872        name: classid
2873        type: u32
2874      -
2875        name: police
2876        type: nest
2877        nested-attributes: tc-police-attrs
2878      -
2879        name: indev
2880        type: string
2881      -
2882        name: act
2883        type: indexed-array
2884        sub-type: nest
2885        nested-attributes: tc-act-attrs
2886      -
2887        name: mask
2888        type: u32
2889  -
2890    name: tc-gred-attrs
2891    attributes:
2892      -
2893        name: parms
2894        type: binary # array of struct: tc-gred-qopt
2895      -
2896        name: stab
2897        type: binary
2898        sub-type: u8
2899      -
2900        name: dps
2901        type: binary
2902        struct: tc-gred-sopt
2903      -
2904        name: max-p
2905        type: binary
2906        sub-type: u32
2907      -
2908        name: limit
2909        type: u32
2910      -
2911        name: vq-list
2912        type: nest
2913        nested-attributes: tca-gred-vq-list-attrs
2914  -
2915    name: tca-gred-vq-list-attrs
2916    attributes:
2917      -
2918        name: entry
2919        type: nest
2920        nested-attributes: tca-gred-vq-entry-attrs
2921        multi-attr: true
2922  -
2923    name: tca-gred-vq-entry-attrs
2924    attributes:
2925      -
2926        name: pad
2927        type: pad
2928      -
2929        name: dp
2930        type: u32
2931      -
2932        name: stat-bytes
2933        type: u64
2934      -
2935        name: stat-packets
2936        type: u32
2937      -
2938        name: stat-backlog
2939        type: u32
2940      -
2941        name: stat-prob-drop
2942        type: u32
2943      -
2944        name: stat-prob-mark
2945        type: u32
2946      -
2947        name: stat-forced-drop
2948        type: u32
2949      -
2950        name: stat-forced-mark
2951        type: u32
2952      -
2953        name: stat-pdrop
2954        type: u32
2955      -
2956        name: stat-other
2957        type: u32
2958      -
2959        name: flags
2960        type: u32
2961  -
2962    name: tc-hfsc-attrs
2963    attributes:
2964      -
2965        name: rsc
2966        type: binary
2967      -
2968        name: fsc
2969        type: binary
2970      -
2971        name: usc
2972        type: binary
2973  -
2974    name: tc-hhf-attrs
2975    attributes:
2976      -
2977        name: backlog-limit
2978        type: u32
2979      -
2980        name: quantum
2981        type: u32
2982      -
2983        name: hh-flows-limit
2984        type: u32
2985      -
2986        name: reset-timeout
2987        type: u32
2988      -
2989        name: admit-bytes
2990        type: u32
2991      -
2992        name: evict-timeout
2993        type: u32
2994      -
2995        name: non-hh-weight
2996        type: u32
2997  -
2998    name: tc-htb-attrs
2999    attributes:
3000      -
3001        name: parms
3002        type: binary
3003        struct: tc-htb-opt
3004      -
3005        name: init
3006        type: binary
3007        struct: tc-htb-glob
3008      -
3009        name: ctab
3010        type: binary
3011      -
3012        name: rtab
3013        type: binary
3014      -
3015        name: direct-qlen
3016        type: u32
3017      -
3018        name: rate64
3019        type: u64
3020      -
3021        name: ceil64
3022        type: u64
3023      -
3024        name: pad
3025        type: pad
3026      -
3027        name: offload
3028        type: flag
3029  -
3030    name: tc-matchall-attrs
3031    attributes:
3032      -
3033        name: classid
3034        type: u32
3035      -
3036        name: act
3037        type: indexed-array
3038        sub-type: nest
3039        nested-attributes: tc-act-attrs
3040      -
3041        name: flags
3042        type: u32
3043      -
3044        name: pcnt
3045        type: binary
3046        struct: tc-matchall-pcnt
3047      -
3048        name: pad
3049        type: pad
3050  -
3051    name: tc-etf-attrs
3052    attributes:
3053      -
3054        name: parms
3055        type: binary
3056        struct: tc-etf-qopt
3057  -
3058    name: tc-ets-attrs
3059    attributes:
3060      -
3061        name: nbands
3062        type: u8
3063      -
3064        name: nstrict
3065        type: u8
3066      -
3067        name: quanta
3068        type: nest
3069        nested-attributes: tc-ets-attrs
3070      -
3071        name: quanta-band
3072        type: u32
3073        multi-attr: true
3074      -
3075        name: priomap
3076        type: nest
3077        nested-attributes: tc-ets-attrs
3078      -
3079        name: priomap-band
3080        type: u8
3081        multi-attr: true
3082  -
3083    name: tc-fq-attrs
3084    attributes:
3085      -
3086        name: plimit
3087        type: u32
3088        doc: Limit of total number of packets in queue
3089      -
3090        name: flow-plimit
3091        type: u32
3092        doc: Limit of packets per flow
3093      -
3094        name: quantum
3095        type: u32
3096        doc: RR quantum
3097      -
3098        name: initial-quantum
3099        type: u32
3100        doc: RR quantum for new flow
3101      -
3102        name: rate-enable
3103        type: u32
3104        doc: Enable / disable rate limiting
3105      -
3106        name: flow-default-rate
3107        type: u32
3108        doc: Obsolete, do not use
3109      -
3110        name: flow-max-rate
3111        type: u32
3112        doc: Per flow max rate
3113      -
3114        name: buckets-log
3115        type: u32
3116        doc: log2(number of buckets)
3117      -
3118        name: flow-refill-delay
3119        type: u32
3120        doc: Flow credit refill delay in usec
3121      -
3122        name: orphan-mask
3123        type: u32
3124        doc: Mask applied to orphaned skb hashes
3125      -
3126        name: low-rate-threshold
3127        type: u32
3128        doc: Per packet delay under this rate
3129      -
3130        name: ce-threshold
3131        type: u32
3132        doc: DCTCP-like CE marking threshold
3133      -
3134        name: timer-slack
3135        type: u32
3136      -
3137        name: horizon
3138        type: u32
3139        doc: Time horizon in usec
3140      -
3141        name: horizon-drop
3142        type: u8
3143        doc: Drop packets beyond horizon, or cap their EDT
3144      -
3145        name: priomap
3146        type: binary
3147        struct: tc-prio-qopt
3148      -
3149        name: weights
3150        type: binary
3151        sub-type: s32
3152        doc: Weights for each band
3153  -
3154    name: tc-fq-codel-attrs
3155    attributes:
3156      -
3157        name: target
3158        type: u32
3159      -
3160        name: limit
3161        type: u32
3162      -
3163        name: interval
3164        type: u32
3165      -
3166        name: ecn
3167        type: u32
3168      -
3169        name: flows
3170        type: u32
3171      -
3172        name: quantum
3173        type: u32
3174      -
3175        name: ce-threshold
3176        type: u32
3177      -
3178        name: drop-batch-size
3179        type: u32
3180      -
3181        name: memory-limit
3182        type: u32
3183      -
3184        name: ce-threshold-selector
3185        type: u8
3186      -
3187        name: ce-threshold-mask
3188        type: u8
3189  -
3190    name: tc-fq-pie-attrs
3191    attributes:
3192      -
3193        name: limit
3194        type: u32
3195      -
3196        name: flows
3197        type: u32
3198      -
3199        name: target
3200        type: u32
3201      -
3202        name: tupdate
3203        type: u32
3204      -
3205        name: alpha
3206        type: u32
3207      -
3208        name: beta
3209        type: u32
3210      -
3211        name: quantum
3212        type: u32
3213      -
3214        name: memory-limit
3215        type: u32
3216      -
3217        name: ecn-prob
3218        type: u32
3219      -
3220        name: ecn
3221        type: u32
3222      -
3223        name: bytemode
3224        type: u32
3225      -
3226        name: dq-rate-estimator
3227        type: u32
3228  -
3229    name: tc-netem-attrs
3230    attributes:
3231      -
3232        name: corr
3233        type: binary
3234        struct: tc-netem-corr
3235      -
3236        name: delay-dist
3237        type: binary
3238        sub-type: s16
3239      -
3240        name: reorder
3241        type: binary
3242        struct: tc-netem-reorder
3243      -
3244        name: corrupt
3245        type: binary
3246        struct: tc-netem-corrupt
3247      -
3248        name: loss
3249        type: nest
3250        nested-attributes: tc-netem-loss-attrs
3251      -
3252        name: rate
3253        type: binary
3254        struct: tc-netem-rate
3255      -
3256        name: ecn
3257        type: u32
3258      -
3259        name: rate64
3260        type: u64
3261      -
3262        name: pad
3263        type: u32
3264      -
3265        name: latency64
3266        type: s64
3267      -
3268        name: jitter64
3269        type: s64
3270      -
3271        name: slot
3272        type: binary
3273        struct: tc-netem-slot
3274      -
3275        name: slot-dist
3276        type: binary
3277        sub-type: s16
3278      -
3279        name: prng-seed
3280        type: u64
3281  -
3282    name: tc-netem-loss-attrs
3283    attributes:
3284      -
3285        name: gi
3286        type: binary
3287        doc: General Intuitive - 4 state model
3288        struct: tc-netem-gimodel
3289      -
3290        name: ge
3291        type: binary
3292        doc: Gilbert Elliot models
3293        struct: tc-netem-gemodel
3294  -
3295    name: tc-pie-attrs
3296    attributes:
3297      -
3298        name: target
3299        type: u32
3300      -
3301        name: limit
3302        type: u32
3303      -
3304        name: tupdate
3305        type: u32
3306      -
3307        name: alpha
3308        type: u32
3309      -
3310        name: beta
3311        type: u32
3312      -
3313        name: ecn
3314        type: u32
3315      -
3316        name: bytemode
3317        type: u32
3318      -
3319        name: dq-rate-estimator
3320        type: u32
3321  -
3322    name: tc-police-attrs
3323    attributes:
3324      -
3325        name: tbf
3326        type: binary
3327        struct: tc-police
3328      -
3329        name: rate
3330        type: binary
3331      -
3332        name: peakrate
3333        type: binary
3334      -
3335        name: avrate
3336        type: u32
3337      -
3338        name: result
3339        type: u32
3340      -
3341        name: tm
3342        type: binary
3343        struct: tcf-t
3344      -
3345        name: pad
3346        type: pad
3347      -
3348        name: rate64
3349        type: u64
3350      -
3351        name: peakrate64
3352        type: u64
3353      -
3354        name: pktrate64
3355        type: u64
3356      -
3357        name: pktburst64
3358        type: u64
3359  -
3360    name: tc-qfq-attrs
3361    attributes:
3362      -
3363        name: weight
3364        type: u32
3365      -
3366        name: lmax
3367        type: u32
3368  -
3369    name: tc-red-attrs
3370    attributes:
3371      -
3372        name: parms
3373        type: binary
3374        struct: tc-red-qopt
3375      -
3376        name: stab
3377        type: binary
3378      -
3379        name: max-p
3380        type: u32
3381      -
3382        name: flags
3383        type: bitfield32
3384      -
3385        name: early-drop-block
3386        type: u32
3387      -
3388        name: mark-block
3389        type: u32
3390  -
3391    name: tc-route-attrs
3392    attributes:
3393      -
3394        name: classid
3395        type: u32
3396      -
3397        name: to
3398        type: u32
3399      -
3400        name: from
3401        type: u32
3402      -
3403        name: iif
3404        type: u32
3405      -
3406        name: police
3407        type: nest
3408        nested-attributes: tc-police-attrs
3409      -
3410        name: act
3411        type: indexed-array
3412        sub-type: nest
3413        nested-attributes: tc-act-attrs
3414  -
3415    name: tc-taprio-attrs
3416    attributes:
3417      -
3418        name: priomap
3419        type: binary
3420        struct: tc-mqprio-qopt
3421      -
3422        name: sched-entry-list
3423        type: nest
3424        nested-attributes: tc-taprio-sched-entry-list
3425      -
3426        name: sched-base-time
3427        type: s64
3428      -
3429        name: sched-single-entry
3430        type: nest
3431        nested-attributes: tc-taprio-sched-entry
3432      -
3433        name: sched-clockid
3434        type: s32
3435      -
3436        name: pad
3437        type: pad
3438      -
3439        name: admin-sched
3440        type: binary
3441      -
3442        name: sched-cycle-time
3443        type: s64
3444      -
3445        name: sched-cycle-time-extension
3446        type: s64
3447      -
3448        name: flags
3449        type: u32
3450      -
3451        name: txtime-delay
3452        type: u32
3453      -
3454        name: tc-entry
3455        type: nest
3456        nested-attributes: tc-taprio-tc-entry-attrs
3457  -
3458    name: tc-taprio-sched-entry-list
3459    attributes:
3460      -
3461        name: entry
3462        type: nest
3463        nested-attributes: tc-taprio-sched-entry
3464        multi-attr: true
3465  -
3466    name: tc-taprio-sched-entry
3467    attributes:
3468      -
3469        name: index
3470        type: u32
3471      -
3472        name: cmd
3473        type: u8
3474      -
3475        name: gate-mask
3476        type: u32
3477      -
3478        name: interval
3479        type: u32
3480  -
3481    name: tc-taprio-tc-entry-attrs
3482    attributes:
3483      -
3484        name: index
3485        type: u32
3486      -
3487        name: max-sdu
3488        type: u32
3489      -
3490        name: fp
3491        type: u32
3492  -
3493    name: tc-tbf-attrs
3494    attributes:
3495      -
3496        name: parms
3497        type: binary
3498        struct: tc-tbf-qopt
3499      -
3500        name: rtab
3501        type: binary
3502      -
3503        name: ptab
3504        type: binary
3505      -
3506        name: rate64
3507        type: u64
3508      -
3509        name: prate64
3510        type: u64
3511      -
3512        name: burst
3513        type: u32
3514      -
3515        name: pburst
3516        type: u32
3517      -
3518        name: pad
3519        type: pad
3520  -
3521    name: tc-act-sample-attrs
3522    attributes:
3523      -
3524        name: tm
3525        type: binary
3526        struct: tcf-t
3527      -
3528        name: parms
3529        type: binary
3530        struct: tc-gen
3531      -
3532        name: rate
3533        type: u32
3534      -
3535        name: trunc-size
3536        type: u32
3537      -
3538        name: psample-group
3539        type: u32
3540      -
3541        name: pad
3542        type: pad
3543  -
3544    name: tc-act-gact-attrs
3545    attributes:
3546      -
3547        name: tm
3548        type: binary
3549        struct: tcf-t
3550      -
3551        name: parms
3552        type: binary
3553        struct: tc-gen
3554      -
3555        name: prob
3556        type: binary
3557        struct: tc-gact-p
3558      -
3559        name: pad
3560        type: pad
3561  -
3562    name: tca-stab-attrs
3563    attributes:
3564      -
3565        name: base
3566        type: binary
3567        struct: tc-sizespec
3568      -
3569        name: data
3570        type: binary
3571  -
3572    name: tca-stats-attrs
3573    attributes:
3574      -
3575        name: basic
3576        type: binary
3577        struct: gnet-stats-basic
3578      -
3579        name: rate-est
3580        type: binary
3581        struct: gnet-stats-rate-est
3582      -
3583        name: queue
3584        type: binary
3585        struct: gnet-stats-queue
3586      -
3587        name: app
3588        type: sub-message
3589        sub-message: tca-stats-app-msg
3590        selector: kind
3591      -
3592        name: rate-est64
3593        type: binary
3594        struct: gnet-stats-rate-est64
3595      -
3596        name: pad
3597        type: pad
3598      -
3599        name: basic-hw
3600        type: binary
3601        struct: gnet-stats-basic
3602      -
3603        name: pkt64
3604        type: u64
3605  -
3606    name: tc-u32-attrs
3607    attributes:
3608      -
3609        name: classid
3610        type: u32
3611      -
3612        name: hash
3613        type: u32
3614      -
3615        name: link
3616        type: u32
3617      -
3618        name: divisor
3619        type: u32
3620      -
3621        name: sel
3622        type: binary
3623        struct: tc-u32-sel
3624      -
3625        name: police
3626        type: nest
3627        nested-attributes: tc-police-attrs
3628      -
3629        name: act
3630        type: indexed-array
3631        sub-type: nest
3632        nested-attributes: tc-act-attrs
3633      -
3634        name: indev
3635        type: string
3636      -
3637        name: pcnt
3638        type: binary
3639        struct: tc-u32-pcnt
3640      -
3641        name: mark
3642        type: binary
3643        struct: tc-u32-mark
3644      -
3645        name: flags
3646        type: u32
3647      -
3648        name: pad
3649        type: pad
3650
3651sub-messages:
3652  -
3653    name: tc-options-msg
3654    formats:
3655      -
3656        value: basic
3657        attribute-set: tc-basic-attrs
3658      -
3659        value: bpf
3660        attribute-set: tc-bpf-attrs
3661      -
3662        value: bfifo
3663        fixed-header: tc-fifo-qopt
3664      -
3665        value: cake
3666        attribute-set: tc-cake-attrs
3667      -
3668        value: cbs
3669        attribute-set: tc-cbs-attrs
3670      -
3671        value: cgroup
3672        attribute-set: tc-cgroup-attrs
3673      -
3674        value: choke
3675        attribute-set: tc-choke-attrs
3676      -
3677        value: clsact # no content
3678      -
3679        value: codel
3680        attribute-set: tc-codel-attrs
3681      -
3682        value: drr
3683        attribute-set: tc-drr-attrs
3684      -
3685        value: etf
3686        attribute-set: tc-etf-attrs
3687      -
3688        value: ets
3689        attribute-set: tc-ets-attrs
3690      -
3691        value: flow
3692        attribute-set: tc-flow-attrs
3693      -
3694        value: flower
3695        attribute-set: tc-flower-attrs
3696      -
3697        value: fq
3698        attribute-set: tc-fq-attrs
3699      -
3700        value: fq_codel
3701        attribute-set: tc-fq-codel-attrs
3702      -
3703        value: fq_pie
3704        attribute-set: tc-fq-pie-attrs
3705      -
3706        value: fw
3707        attribute-set: tc-fw-attrs
3708      -
3709        value: gred
3710        attribute-set: tc-gred-attrs
3711      -
3712        value: hfsc
3713        fixed-header: tc-hfsc-qopt
3714      -
3715        value: hhf
3716        attribute-set: tc-hhf-attrs
3717      -
3718        value: htb
3719        attribute-set: tc-htb-attrs
3720      -
3721        value: ingress # no content
3722      -
3723        value: matchall
3724        attribute-set: tc-matchall-attrs
3725      -
3726        value: mq # no content
3727      -
3728        value: mqprio
3729        fixed-header: tc-mqprio-qopt
3730      -
3731        value: multiq
3732        fixed-header: tc-multiq-qopt
3733      -
3734        value: netem
3735        fixed-header: tc-netem-qopt
3736        attribute-set: tc-netem-attrs
3737      -
3738        value: pfifo
3739        fixed-header: tc-fifo-qopt
3740      -
3741        value: pfifo_fast
3742        fixed-header: tc-prio-qopt
3743      -
3744        value: pfifo_head_drop
3745        fixed-header: tc-fifo-qopt
3746      -
3747        value: pie
3748        attribute-set: tc-pie-attrs
3749      -
3750        value: plug
3751        fixed-header: tc-plug-qopt
3752      -
3753        value: prio
3754        fixed-header: tc-prio-qopt
3755      -
3756        value: qfq
3757        attribute-set: tc-qfq-attrs
3758      -
3759        value: red
3760        attribute-set: tc-red-attrs
3761      -
3762        value: route
3763        attribute-set: tc-route-attrs
3764      -
3765        value: sfb
3766        fixed-header: tc-sfb-qopt
3767      -
3768        value: sfq
3769        fixed-header: tc-sfq-qopt-v1
3770      -
3771        value: taprio
3772        attribute-set: tc-taprio-attrs
3773      -
3774        value: tbf
3775        attribute-set: tc-tbf-attrs
3776      -
3777        value: u32
3778        attribute-set: tc-u32-attrs
3779  -
3780    name: tc-act-options-msg
3781    formats:
3782      -
3783        value: bpf
3784        attribute-set: tc-act-bpf-attrs
3785      -
3786        value: connmark
3787        attribute-set: tc-act-connmark-attrs
3788      -
3789        value: csum
3790        attribute-set: tc-act-csum-attrs
3791      -
3792        value: ct
3793        attribute-set: tc-act-ct-attrs
3794      -
3795        value: ctinfo
3796        attribute-set: tc-act-ctinfo-attrs
3797      -
3798        value: gact
3799        attribute-set: tc-act-gact-attrs
3800      -
3801        value: gate
3802        attribute-set: tc-act-gate-attrs
3803      -
3804        value: ife
3805        attribute-set: tc-act-ife-attrs
3806      -
3807        value: mirred
3808        attribute-set: tc-act-mirred-attrs
3809      -
3810        value: mpls
3811        attribute-set: tc-act-mpls-attrs
3812      -
3813        value: nat
3814        attribute-set: tc-act-nat-attrs
3815      -
3816        value: pedit
3817        attribute-set: tc-act-pedit-attrs
3818      -
3819        value: police
3820        attribute-set: tc-act-police-attrs
3821      -
3822        value: sample
3823        attribute-set: tc-act-sample-attrs
3824      -
3825        value: simple
3826        attribute-set: tc-act-simple-attrs
3827      -
3828        value: skbedit
3829        attribute-set: tc-act-skbedit-attrs
3830      -
3831        value: skbmod
3832        attribute-set: tc-act-skbmod-attrs
3833      -
3834        value: tunnel_key
3835        attribute-set: tc-act-tunnel-key-attrs
3836      -
3837        value: vlan
3838        attribute-set: tc-act-vlan-attrs
3839  -
3840    name: tca-stats-app-msg
3841    formats:
3842      -
3843        value: cake
3844        attribute-set: tc-cake-stats-attrs
3845      -
3846        value: choke
3847        fixed-header: tc-choke-xstats
3848      -
3849        value: codel
3850        fixed-header: tc-codel-xstats
3851      -
3852        value: fq
3853        fixed-header: tc-fq-qd-stats
3854      -
3855        value: fq_codel
3856        fixed-header: tc-fq-codel-xstats
3857      -
3858        value: fq_pie
3859        fixed-header: tc-fq-pie-xstats
3860      -
3861        value: hhf
3862        fixed-header: tc-hhf-xstats
3863      -
3864        value: pie
3865        fixed-header: tc-pie-xstats
3866      -
3867        value: red
3868        fixed-header: tc-red-xstats
3869      -
3870        value: sfb
3871        fixed-header: tc-sfb-xstats
3872      -
3873        value: sfq
3874        fixed-header: tc-sfq-xstats
3875
3876operations:
3877  enum-model: directional
3878  list:
3879    -
3880      name: newqdisc
3881      doc: Create new tc qdisc.
3882      attribute-set: tc-attrs
3883      fixed-header: tcmsg
3884      do:
3885        request:
3886          value: 36
3887          attributes: &create-params
3888            - kind
3889            - options
3890            - rate
3891            - chain
3892            - ingress-block
3893            - egress-block
3894    -
3895      name: delqdisc
3896      doc: Delete existing tc qdisc.
3897      attribute-set: tc-attrs
3898      fixed-header: tcmsg
3899      do:
3900        request:
3901          value: 37
3902    -
3903      name: getqdisc
3904      doc: Get / dump tc qdisc information.
3905      attribute-set: tc-attrs
3906      fixed-header: tcmsg
3907      do:
3908        request:
3909          value: 38
3910          attributes:
3911            - dump-invisible
3912        reply:
3913          value: 36
3914          attributes: &tc-all
3915            - kind
3916            - options
3917            - stats
3918            - xstats
3919            - rate
3920            - fcnt
3921            - stats2
3922            - stab
3923            - chain
3924            - ingress-block
3925            - egress-block
3926    -
3927      name: newtclass
3928      doc: Get / dump tc traffic class information.
3929      attribute-set: tc-attrs
3930      fixed-header: tcmsg
3931      do:
3932        request:
3933          value: 40
3934          attributes: *create-params
3935    -
3936      name: deltclass
3937      doc: Get / dump tc traffic class information.
3938      attribute-set: tc-attrs
3939      fixed-header: tcmsg
3940      do:
3941        request:
3942          value: 41
3943    -
3944      name: gettclass
3945      doc: Get / dump tc traffic class information.
3946      attribute-set: tc-attrs
3947      fixed-header: tcmsg
3948      do:
3949        request:
3950          value: 42
3951        reply:
3952          value: 40
3953          attributes: *tc-all
3954    -
3955      name: newtfilter
3956      doc: Get / dump tc filter information.
3957      attribute-set: tc-attrs
3958      fixed-header: tcmsg
3959      do:
3960        request:
3961          value: 44
3962          attributes: *create-params
3963    -
3964      name: deltfilter
3965      doc: Get / dump tc filter information.
3966      attribute-set: tc-attrs
3967      fixed-header: tcmsg
3968      do:
3969        request:
3970          value: 45
3971          attributes:
3972            - chain
3973            - kind
3974    -
3975      name: gettfilter
3976      doc: Get / dump tc filter information.
3977      attribute-set: tc-attrs
3978      fixed-header: tcmsg
3979      do:
3980        request:
3981          value: 46
3982          attributes:
3983            - chain
3984            - kind
3985        reply:
3986          value: 44
3987          attributes: *tc-all
3988      dump:
3989        request:
3990          value: 46
3991          attributes:
3992            - chain
3993            - dump-flags
3994        reply:
3995          value: 44
3996          attributes: *tc-all
3997    -
3998      name: newchain
3999      doc: Get / dump tc chain information.
4000      attribute-set: tc-attrs
4001      fixed-header: tcmsg
4002      do:
4003        request:
4004          value: 100
4005          attributes: *create-params
4006    -
4007      name: delchain
4008      doc: Get / dump tc chain information.
4009      attribute-set: tc-attrs
4010      fixed-header: tcmsg
4011      do:
4012        request:
4013          value: 101
4014          attributes:
4015            - chain
4016    -
4017      name: getchain
4018      doc: Get / dump tc chain information.
4019      attribute-set: tc-attrs
4020      fixed-header: tcmsg
4021      do:
4022        request:
4023          value: 102
4024          attributes:
4025            - chain
4026        reply:
4027          value: 100
4028          attributes: *tc-all
4029
4030mcast-groups:
4031  list:
4032    -
4033      name: rtnlgrp-tc
4034      value: 4
4035