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