GNU Linux-libre 6.9.1-gnu
[releases.git] / Documentation / netlink / specs / tc.yaml
1 # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
2
3 name: tc
4 protocol: netlink-raw
5 protonum: 0
6
7 doc:
8   Netlink raw family for tc qdisc, chain, class and filter configuration
9   over rtnetlink.
10
11 definitions:
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-sel
1104     type: struct
1105     members:
1106       -
1107         name: flags
1108         type: u8
1109       -
1110         name: offshift
1111         type: u8
1112       -
1113         name: nkeys
1114         type: u8
1115       -
1116         name: offmask
1117         type: u16
1118         byte-order: big-endian
1119       -
1120         name: "off"
1121         type: u16
1122       -
1123         name: offoff
1124         type: s16
1125       -
1126         name: hoff
1127         type: s16
1128       -
1129         name: hmask
1130         type: u32
1131         byte-order: big-endian
1132       -
1133         name: keys
1134         type: binary
1135         struct: tc-u32-key # TODO: array
1136   -
1137     name: tc-u32-pcnt
1138     type: struct
1139     members:
1140       -
1141         name: rcnt
1142         type: u64
1143       -
1144         name: rhit
1145         type: u64
1146       -
1147         name: kcnts
1148         type: u64 # TODO: array
1149   -
1150     name: tcf-t
1151     type: struct
1152     members:
1153       -
1154         name: install
1155         type: u64
1156       -
1157         name: lastuse
1158         type: u64
1159       -
1160         name: expires
1161         type: u64
1162       -
1163         name: firstuse
1164         type: u64
1165   -
1166     name: tc-gen
1167     type: struct
1168     members:
1169       -
1170         name: index
1171         type: u32
1172       -
1173         name: capab
1174         type: u32
1175       -
1176         name: action
1177         type: s32
1178       -
1179         name: refcnt
1180         type: s32
1181       -
1182         name: bindcnt
1183         type: s32
1184   -
1185     name: tc-gact-p
1186     type: struct
1187     members:
1188       -
1189         name: ptype
1190         type: u16
1191       -
1192         name: pval
1193         type: u16
1194       -
1195         name: paction
1196         type: s32
1197   -
1198     name: tcf-ematch-tree-hdr
1199     type: struct
1200     members:
1201       -
1202         name: nmatches
1203         type: u16
1204       -
1205         name: progid
1206         type: u16
1207   -
1208     name: tc-basic-pcnt
1209     type: struct
1210     members:
1211       -
1212         name: rcnt
1213         type: u64
1214       -
1215         name: rhit
1216         type: u64
1217   -
1218     name: tc-matchall-pcnt
1219     type: struct
1220     members:
1221       -
1222         name: rhit
1223         type: u64
1224   -
1225     name: tc-mpls
1226     type: struct
1227     members:
1228       -
1229         name: index
1230         type: u32
1231       -
1232         name: capab
1233         type: u32
1234       -
1235         name: action
1236         type: s32
1237       -
1238         name: refcnt
1239         type: s32
1240       -
1241         name: bindcnt
1242         type: s32
1243       -
1244         name: m-action
1245         type: s32
1246   -
1247     name: tc-police
1248     type: struct
1249     members:
1250       -
1251         name: index
1252         type: u32
1253       -
1254         name: action
1255         type: s32
1256       -
1257         name: limit
1258         type: u32
1259       -
1260         name: burst
1261         type: u32
1262       -
1263         name: mtu
1264         type: u32
1265       -
1266         name: rate
1267         type: binary
1268         struct: tc-ratespec
1269       -
1270         name: peakrate
1271         type: binary
1272         struct: tc-ratespec
1273       -
1274         name: refcnt
1275         type: s32
1276       -
1277         name: bindcnt
1278         type: s32
1279       -
1280         name: capab
1281         type: u32
1282   -
1283     name: tc-pedit-sel
1284     type: struct
1285     members:
1286       -
1287         name: index
1288         type: u32
1289       -
1290         name: capab
1291         type: u32
1292       -
1293         name: action
1294         type: s32
1295       -
1296         name: refcnt
1297         type: s32
1298       -
1299         name: bindcnt
1300         type: s32
1301       -
1302         name: nkeys
1303         type: u8
1304       -
1305         name: flags
1306         type: u8
1307       -
1308         name: keys
1309         type: binary
1310         struct: tc-pedit-key # TODO: array
1311   -
1312     name: tc-pedit-key
1313     type: struct
1314     members:
1315       -
1316         name: mask
1317         type: u32
1318       -
1319         name: val
1320         type: u32
1321       -
1322         name: "off"
1323         type: u32
1324       -
1325         name: at
1326         type: u32
1327       -
1328         name: offmask
1329         type: u32
1330       -
1331         name: shift
1332         type: u32
1333   -
1334     name: tc-vlan
1335     type: struct
1336     members:
1337       -
1338         name: index
1339         type: u32
1340       -
1341         name: capab
1342         type: u32
1343       -
1344         name: action
1345         type: s32
1346       -
1347         name: refcnt
1348         type: s32
1349       -
1350         name: bindcnt
1351         type: s32
1352       -
1353         name: v-action
1354         type: s32
1355 attribute-sets:
1356   -
1357     name: tc-attrs
1358     attributes:
1359       -
1360         name: kind
1361         type: string
1362       -
1363         name: options
1364         type: sub-message
1365         sub-message: tc-options-msg
1366         selector: kind
1367       -
1368         name: stats
1369         type: binary
1370         struct: tc-stats
1371       -
1372         name: xstats
1373         type: sub-message
1374         sub-message: tca-stats-app-msg
1375         selector: kind
1376       -
1377         name: rate
1378         type: binary
1379         struct: gnet-estimator
1380       -
1381         name: fcnt
1382         type: u32
1383       -
1384         name: stats2
1385         type: nest
1386         nested-attributes: tca-stats-attrs
1387       -
1388         name: stab
1389         type: nest
1390         nested-attributes: tca-stab-attrs
1391       -
1392         name: pad
1393         type: pad
1394       -
1395         name: dump-invisible
1396         type: flag
1397       -
1398         name: chain
1399         type: u32
1400       -
1401         name: hw-offload
1402         type: u8
1403       -
1404         name: ingress-block
1405         type: u32
1406       -
1407         name: egress-block
1408         type: u32
1409       -
1410         name: dump-flags
1411         type: bitfield32
1412       -
1413         name: ext-warn-msg
1414         type: string
1415   -
1416     name: tc-act-attrs
1417     attributes:
1418       -
1419         name: kind
1420         type: string
1421       -
1422         name: options
1423         type: sub-message
1424         sub-message: tc-act-options-msg
1425         selector: kind
1426       -
1427         name: index
1428         type: u32
1429       -
1430         name: stats
1431         type: nest
1432         nested-attributes: tc-act-stats-attrs
1433       -
1434         name: pad
1435         type: pad
1436       -
1437         name: cookie
1438         type: binary
1439       -
1440         name: flags
1441         type: bitfield32
1442       -
1443         name: hw-stats
1444         type: bitfield32
1445       -
1446         name: used-hw-stats
1447         type: bitfield32
1448       -
1449         name: in-hw-count
1450         type: u32
1451   -
1452     name: tc-act-stats-attrs
1453     attributes:
1454       -
1455         name: basic
1456         type: binary
1457         struct: gnet-stats-basic
1458       -
1459         name: rate-est
1460         type: binary
1461         struct: gnet-stats-rate-est
1462       -
1463         name: queue
1464         type: binary
1465         struct: gnet-stats-queue
1466       -
1467         name: app
1468         type: binary
1469       -
1470         name: rate-est64
1471         type: binary
1472         struct: gnet-stats-rate-est64
1473       -
1474         name: pad
1475         type: pad
1476       -
1477         name: basic-hw
1478         type: binary
1479         struct: gnet-stats-basic
1480       -
1481         name: pkt64
1482         type: u64
1483   -
1484     name: tc-act-bpf-attrs
1485     attributes:
1486       -
1487         name: tm
1488         type: binary
1489         struct: tcf-t
1490       -
1491         name: parms
1492         type: binary
1493       -
1494         name: ops-len
1495         type: u16
1496       -
1497         name: ops
1498         type: binary
1499       -
1500         name: fd
1501         type: u32
1502       -
1503         name: name
1504         type: string
1505       -
1506         name: pad
1507         type: pad
1508       -
1509         name: tag
1510         type: binary
1511       -
1512         name: id
1513         type: binary
1514   -
1515     name: tc-act-connmark-attrs
1516     attributes:
1517       -
1518         name: parms
1519         type: binary
1520       -
1521         name: tm
1522         type: binary
1523         struct: tcf-t
1524       -
1525         name: pad
1526         type: pad
1527   -
1528     name: tc-act-csum-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-ct-attrs
1542     attributes:
1543       -
1544         name: parms
1545         type: binary
1546       -
1547         name: tm
1548         type: binary
1549         struct: tcf-t
1550       -
1551         name: action
1552         type: u16
1553       -
1554         name: zone
1555         type: u16
1556       -
1557         name: mark
1558         type: u32
1559       -
1560         name: mark-mask
1561         type: u32
1562       -
1563         name: labels
1564         type: binary
1565       -
1566         name: labels-mask
1567         type: binary
1568       -
1569         name: nat-ipv4-min
1570         type: u32
1571         byte-order: big-endian
1572       -
1573         name: nat-ipv4-max
1574         type: u32
1575         byte-order: big-endian
1576       -
1577         name: nat-ipv6-min
1578         type: binary
1579       -
1580         name: nat-ipv6-max
1581         type: binary
1582       -
1583         name: nat-port-min
1584         type: u16
1585         byte-order: big-endian
1586       -
1587         name: nat-port-max
1588         type: u16
1589         byte-order: big-endian
1590       -
1591         name: pad
1592         type: pad
1593       -
1594         name: helper-name
1595         type: string
1596       -
1597         name: helper-family
1598         type: u8
1599       -
1600         name: helper-proto
1601         type: u8
1602   -
1603     name: tc-act-ctinfo-attrs
1604     attributes:
1605       -
1606         name: pad
1607         type: pad
1608       -
1609         name: tm
1610         type: binary
1611         struct: tcf-t
1612       -
1613         name: act
1614         type: binary
1615       -
1616         name: zone
1617         type: u16
1618       -
1619         name: parms-dscp-mask
1620         type: u32
1621       -
1622         name: parms-dscp-statemask
1623         type: u32
1624       -
1625         name: parms-cpmark-mask
1626         type: u32
1627       -
1628         name: stats-dscp-set
1629         type: u64
1630       -
1631         name: stats-dscp-error
1632         type: u64
1633       -
1634         name: stats-cpmark-set
1635         type: u64
1636   -
1637     name: tc-act-gate-attrs
1638     attributes:
1639       -
1640         name: tm
1641         type: binary
1642         struct: tcf-t
1643       -
1644         name: parms
1645         type: binary
1646       -
1647         name: pad
1648         type: pad
1649       -
1650         name: priority
1651         type: s32
1652       -
1653         name: entry-list
1654         type: binary
1655       -
1656         name: base-time
1657         type: u64
1658       -
1659         name: cycle-time
1660         type: u64
1661       -
1662         name: cycle-time-ext
1663         type: u64
1664       -
1665         name: flags
1666         type: u32
1667       -
1668         name: clockid
1669         type: s32
1670   -
1671     name: tc-act-ife-attrs
1672     attributes:
1673       -
1674         name: parms
1675         type: binary
1676       -
1677         name: tm
1678         type: binary
1679         struct: tcf-t
1680       -
1681         name: dmac
1682         type: binary
1683       -
1684         name: smac
1685         type: binary
1686       -
1687         name: type
1688         type: u16
1689       -
1690         name: metalst
1691         type: binary
1692       -
1693         name: pad
1694         type: pad
1695   -
1696     name: tc-act-mirred-attrs
1697     attributes:
1698       -
1699         name: tm
1700         type: binary
1701         struct: tcf-t
1702       -
1703         name: parms
1704         type: binary
1705       -
1706         name: pad
1707         type: pad
1708       -
1709         name: blockid
1710         type: binary
1711   -
1712     name: tc-act-mpls-attrs
1713     attributes:
1714       -
1715         name: tm
1716         type: binary
1717         struct: tcf-t
1718       -
1719         name: parms
1720         type: binary
1721         struct: tc-mpls
1722       -
1723         name: pad
1724         type: pad
1725       -
1726         name: proto
1727         type: u16
1728         byte-order: big-endian
1729       -
1730         name: label
1731         type: u32
1732       -
1733         name: tc
1734         type: u8
1735       -
1736         name: ttl
1737         type: u8
1738       -
1739         name: bos
1740         type: u8
1741   -
1742     name: tc-act-nat-attrs
1743     attributes:
1744       -
1745         name: parms
1746         type: binary
1747       -
1748         name: tm
1749         type: binary
1750         struct: tcf-t
1751       -
1752         name: pad
1753         type: pad
1754   -
1755     name: tc-act-pedit-attrs
1756     attributes:
1757       -
1758         name: tm
1759         type: binary
1760         struct: tcf-t
1761       -
1762         name: parms
1763         type: binary
1764         struct: tc-pedit-sel
1765       -
1766         name: pad
1767         type: pad
1768       -
1769         name: parms-ex
1770         type: binary
1771       -
1772         name: keys-ex
1773         type: binary
1774       -
1775         name: key-ex
1776         type: binary
1777   -
1778     name: tc-act-simple-attrs
1779     attributes:
1780       -
1781         name: tm
1782         type: binary
1783         struct: tcf-t
1784       -
1785         name: parms
1786         type: binary
1787       -
1788         name: data
1789         type: binary
1790       -
1791         name: pad
1792         type: pad
1793   -
1794     name: tc-act-skbedit-attrs
1795     attributes:
1796       -
1797         name: tm
1798         type: binary
1799         struct: tcf-t
1800       -
1801         name: parms
1802         type: binary
1803       -
1804         name: priority
1805         type: u32
1806       -
1807         name: queue-mapping
1808         type: u16
1809       -
1810         name: mark
1811         type: u32
1812       -
1813         name: pad
1814         type: pad
1815       -
1816         name: ptype
1817         type: u16
1818       -
1819         name: mask
1820         type: u32
1821       -
1822         name: flags
1823         type: u64
1824       -
1825         name: queue-mapping-max
1826         type: u16
1827   -
1828     name: tc-act-skbmod-attrs
1829     attributes:
1830       -
1831         name: tm
1832         type: binary
1833         struct: tcf-t
1834       -
1835         name: parms
1836         type: binary
1837       -
1838         name: dmac
1839         type: binary
1840       -
1841         name: smac
1842         type: binary
1843       -
1844         name: etype
1845         type: binary
1846       -
1847         name: pad
1848         type: pad
1849   -
1850     name: tc-act-tunnel-key-attrs
1851     attributes:
1852       -
1853         name: tm
1854         type: binary
1855         struct: tcf-t
1856       -
1857         name: parms
1858         type: binary
1859       -
1860         name: enc-ipv4-src
1861         type: u32
1862         byte-order: big-endian
1863       -
1864         name: enc-ipv4-dst
1865         type: u32
1866         byte-order: big-endian
1867       -
1868         name: enc-ipv6-src
1869         type: binary
1870       -
1871         name: enc-ipv6-dst
1872         type: binary
1873       -
1874         name: enc-key-id
1875         type: u64
1876         byte-order: big-endian
1877       -
1878         name: pad
1879         type: pad
1880       -
1881         name: enc-dst-port
1882         type: u16
1883         byte-order: big-endian
1884       -
1885         name: no-csum
1886         type: u8
1887       -
1888         name: enc-opts
1889         type: binary
1890       -
1891         name: enc-tos
1892         type: u8
1893       -
1894         name: enc-ttl
1895         type: u8
1896       -
1897         name: no-frag
1898         type: flag
1899   -
1900     name: tc-act-vlan-attrs
1901     attributes:
1902       -
1903         name: tm
1904         type: binary
1905         struct: tcf-t
1906       -
1907         name: parms
1908         type: binary
1909         struct: tc-vlan
1910       -
1911         name: push-vlan-id
1912         type: u16
1913       -
1914         name: push-vlan-protocol
1915         type: u16
1916       -
1917         name: pad
1918         type: pad
1919       -
1920         name: push-vlan-priority
1921         type: u8
1922       -
1923         name: push-eth-dst
1924         type: binary
1925       -
1926         name: push-eth-src
1927         type: binary
1928   -
1929     name: tc-basic-attrs
1930     attributes:
1931       -
1932         name: classid
1933         type: u32
1934       -
1935         name: ematches
1936         type: nest
1937         nested-attributes: tc-ematch-attrs
1938       -
1939         name: act
1940         type: array-nest
1941         nested-attributes: tc-act-attrs
1942       -
1943         name: police
1944         type: nest
1945         nested-attributes: tc-police-attrs
1946       -
1947         name: pcnt
1948         type: binary
1949         struct: tc-basic-pcnt
1950       -
1951         name: pad
1952         type: pad
1953   -
1954     name: tc-bpf-attrs
1955     attributes:
1956       -
1957         name: act
1958         type: nest
1959         nested-attributes: tc-act-attrs
1960       -
1961         name: police
1962         type: nest
1963         nested-attributes: tc-police-attrs
1964       -
1965         name: classid
1966         type: u32
1967       -
1968         name: ops-len
1969         type: u16
1970       -
1971         name: ops
1972         type: binary
1973       -
1974         name: fd
1975         type: u32
1976       -
1977         name: name
1978         type: string
1979       -
1980         name: flags
1981         type: u32
1982       -
1983         name: flags-gen
1984         type: u32
1985       -
1986         name: tag
1987         type: binary
1988       -
1989         name: id
1990         type: u32
1991   -
1992     name: tc-cake-attrs
1993     attributes:
1994       -
1995         name: pad
1996         type: pad
1997       -
1998         name: base-rate64
1999         type: u64
2000       -
2001         name: diffserv-mode
2002         type: u32
2003       -
2004         name: atm
2005         type: u32
2006       -
2007         name: flow-mode
2008         type: u32
2009       -
2010         name: overhead
2011         type: u32
2012       -
2013         name: rtt
2014         type: u32
2015       -
2016         name: target
2017         type: u32
2018       -
2019         name: autorate
2020         type: u32
2021       -
2022         name: memory
2023         type: u32
2024       -
2025         name: nat
2026         type: u32
2027       -
2028         name: raw
2029         type: u32
2030       -
2031         name: wash
2032         type: u32
2033       -
2034         name: mpu
2035         type: u32
2036       -
2037         name: ingress
2038         type: u32
2039       -
2040         name: ack-filter
2041         type: u32
2042       -
2043         name: split-gso
2044         type: u32
2045       -
2046         name: fwmark
2047         type: u32
2048   -
2049     name: tc-cake-stats-attrs
2050     attributes:
2051       -
2052         name: pad
2053         type: pad
2054       -
2055         name: capacity-estimate64
2056         type: u64
2057       -
2058         name: memory-limit
2059         type: u32
2060       -
2061         name: memory-used
2062         type: u32
2063       -
2064         name: avg-netoff
2065         type: u32
2066       -
2067         name: min-netlen
2068         type: u32
2069       -
2070         name: max-netlen
2071         type: u32
2072       -
2073         name: min-adjlen
2074         type: u32
2075       -
2076         name: max-adjlen
2077         type: u32
2078       -
2079         name: tin-stats
2080         type: array-nest
2081         nested-attributes: tc-cake-tin-stats-attrs
2082       -
2083         name: deficit
2084         type: s32
2085       -
2086         name: cobalt-count
2087         type: u32
2088       -
2089         name: dropping
2090         type: u32
2091       -
2092         name: drop-next-us
2093         type: s32
2094       -
2095         name: p-drop
2096         type: u32
2097       -
2098         name: blue-timer-us
2099         type: s32
2100   -
2101     name: tc-cake-tin-stats-attrs
2102     attributes:
2103       -
2104         name: pad
2105         type: pad
2106       -
2107         name: sent-packets
2108         type: u32
2109       -
2110         name: sent-bytes64
2111         type: u64
2112       -
2113         name: dropped-packets
2114         type: u32
2115       -
2116         name: dropped-bytes64
2117         type: u64
2118       -
2119         name: acks-dropped-packets
2120         type: u32
2121       -
2122         name: acks-dropped-bytes64
2123         type: u64
2124       -
2125         name: ecn-marked-packets
2126         type: u32
2127       -
2128         name: ecn-marked-bytes64
2129         type: u64
2130       -
2131         name: backlog-packets
2132         type: u32
2133       -
2134         name: backlog-bytes
2135         type: u32
2136       -
2137         name: threshold-rate64
2138         type: u64
2139       -
2140         name: target-us
2141         type: u32
2142       -
2143         name: interval-us
2144         type: u32
2145       -
2146         name: way-indirect-hits
2147         type: u32
2148       -
2149         name: way-misses
2150         type: u32
2151       -
2152         name: way-collisions
2153         type: u32
2154       -
2155         name: peak-delay-us
2156         type: u32
2157       -
2158         name: avg-delay-us
2159         type: u32
2160       -
2161         name: base-delay-us
2162         type: u32
2163       -
2164         name: sparse-flows
2165         type: u32
2166       -
2167         name: bulk-flows
2168         type: u32
2169       -
2170         name: unresponsive-flows
2171         type: u32
2172       -
2173         name: max-skblen
2174         type: u32
2175       -
2176         name: flow-quantum
2177         type: u32
2178   -
2179     name: tc-cbs-attrs
2180     attributes:
2181       -
2182         name: parms
2183         type: binary
2184         struct: tc-cbs-qopt
2185   -
2186     name: tc-cgroup-attrs
2187     attributes:
2188       -
2189         name: act
2190         type: nest
2191         nested-attributes: tc-act-attrs
2192       -
2193         name: police
2194         type: nest
2195         nested-attributes: tc-police-attrs
2196       -
2197         name: ematches
2198         type: binary
2199   -
2200     name: tc-choke-attrs
2201     attributes:
2202       -
2203         name: parms
2204         type: binary
2205         struct: tc-red-qopt
2206       -
2207         name: stab
2208         type: binary
2209         checks:
2210           min-len: 256
2211           max-len: 256
2212       -
2213         name: max-p
2214         type: u32
2215   -
2216     name: tc-codel-attrs
2217     attributes:
2218       -
2219         name: target
2220         type: u32
2221       -
2222         name: limit
2223         type: u32
2224       -
2225         name: interval
2226         type: u32
2227       -
2228         name: ecn
2229         type: u32
2230       -
2231         name: ce-threshold
2232         type: u32
2233   -
2234     name: tc-drr-attrs
2235     attributes:
2236       -
2237         name: quantum
2238         type: u32
2239   -
2240     name: tc-ematch-attrs
2241     attributes:
2242       -
2243         name: tree-hdr
2244         type: binary
2245         struct: tcf-ematch-tree-hdr
2246       -
2247         name: tree-list
2248         type: binary
2249   -
2250     name: tc-flow-attrs
2251     attributes:
2252       -
2253         name: keys
2254         type: u32
2255       -
2256         name: mode
2257         type: u32
2258       -
2259         name: baseclass
2260         type: u32
2261       -
2262         name: rshift
2263         type: u32
2264       -
2265         name: addend
2266         type: u32
2267       -
2268         name: mask
2269         type: u32
2270       -
2271         name: xor
2272         type: u32
2273       -
2274         name: divisor
2275         type: u32
2276       -
2277         name: act
2278         type: binary
2279       -
2280         name: police
2281         type: nest
2282         nested-attributes: tc-police-attrs
2283       -
2284         name: ematches
2285         type: binary
2286       -
2287         name: perturb
2288         type: u32
2289   -
2290     name: tc-flower-attrs
2291     attributes:
2292       -
2293         name: classid
2294         type: u32
2295       -
2296         name: indev
2297         type: string
2298       -
2299         name: act
2300         type: array-nest
2301         nested-attributes: tc-act-attrs
2302       -
2303         name: key-eth-dst
2304         type: binary
2305         display-hint: mac
2306       -
2307         name: key-eth-dst-mask
2308         type: binary
2309         display-hint: mac
2310       -
2311         name: key-eth-src
2312         type: binary
2313         display-hint: mac
2314       -
2315         name: key-eth-src-mask
2316         type: binary
2317         display-hint: mac
2318       -
2319         name: key-eth-type
2320         type: u16
2321         byte-order: big-endian
2322       -
2323         name: key-ip-proto
2324         type: u8
2325       -
2326         name: key-ipv4-src
2327         type: u32
2328         byte-order: big-endian
2329         display-hint: ipv4
2330       -
2331         name: key-ipv4-src-mask
2332         type: u32
2333         byte-order: big-endian
2334         display-hint: ipv4
2335       -
2336         name: key-ipv4-dst
2337         type: u32
2338         byte-order: big-endian
2339         display-hint: ipv4
2340       -
2341         name: key-ipv4-dst-mask
2342         type: u32
2343         byte-order: big-endian
2344         display-hint: ipv4
2345       -
2346         name: key-ipv6-src
2347         type: binary
2348         display-hint: ipv6
2349       -
2350         name: key-ipv6-src-mask
2351         type: binary
2352         display-hint: ipv6
2353       -
2354         name: key-ipv6-dst
2355         type: binary
2356         display-hint: ipv6
2357       -
2358         name: key-ipv6-dst-mask
2359         type: binary
2360         display-hint: ipv6
2361       -
2362         name: key-tcp-src
2363         type: u16
2364         byte-order: big-endian
2365       -
2366         name: key-tcp-dst
2367         type: u16
2368         byte-order: big-endian
2369       -
2370         name: key-udp-src
2371         type: u16
2372         byte-order: big-endian
2373       -
2374         name: key-udp-dst
2375         type: u16
2376         byte-order: big-endian
2377       -
2378         name: flags
2379         type: u32
2380         enum: tc-cls-flags
2381         enum-as-flags: true
2382       -
2383         name: key-vlan-id
2384         type: u16
2385         byte-order: big-endian
2386       -
2387         name: key-vlan-prio
2388         type: u8
2389       -
2390         name: key-vlan-eth-type
2391         type: u16
2392         byte-order: big-endian
2393       -
2394         name: key-enc-key-id
2395         type: u32
2396         byte-order: big-endian
2397       -
2398         name: key-enc-ipv4-src
2399         type: u32
2400         byte-order: big-endian
2401         display-hint: ipv4
2402       -
2403         name: key-enc-ipv4-src-mask
2404         type: u32
2405         byte-order: big-endian
2406         display-hint: ipv4
2407       -
2408         name: key-enc-ipv4-dst
2409         type: u32
2410         byte-order: big-endian
2411         display-hint: ipv4
2412       -
2413         name: key-enc-ipv4-dst-mask
2414         type: u32
2415         byte-order: big-endian
2416         display-hint: ipv4
2417       -
2418         name: key-enc-ipv6-src
2419         type: binary
2420         display-hint: ipv6
2421       -
2422         name: key-enc-ipv6-src-mask
2423         type: binary
2424         display-hint: ipv6
2425       -
2426         name: key-enc-ipv6-dst
2427         type: binary
2428         display-hint: ipv6
2429       -
2430         name: key-enc-ipv6-dst-mask
2431         type: binary
2432         display-hint: ipv6
2433       -
2434         name: key-tcp-src-mask
2435         type: u16
2436         byte-order: big-endian
2437       -
2438         name: key-tcp-dst-mask
2439         type: u16
2440         byte-order: big-endian
2441       -
2442         name: key-udp-src-mask
2443         type: u16
2444         byte-order: big-endian
2445       -
2446         name: key-udp-dst-mask
2447         type: u16
2448         byte-order: big-endian
2449       -
2450         name: key-sctp-src-mask
2451         type: u16
2452         byte-order: big-endian
2453       -
2454         name: key-sctp-dst-mask
2455         type: u16
2456         byte-order: big-endian
2457       -
2458         name: key-sctp-src
2459         type: u16
2460         byte-order: big-endian
2461       -
2462         name: key-sctp-dst
2463         type: u16
2464         byte-order: big-endian
2465       -
2466         name: key-enc-udp-src-port
2467         type: u16
2468         byte-order: big-endian
2469       -
2470         name: key-enc-udp-src-port-mask
2471         type: u16
2472         byte-order: big-endian
2473       -
2474         name: key-enc-udp-dst-port
2475         type: u16
2476         byte-order: big-endian
2477       -
2478         name: key-enc-udp-dst-port-mask
2479         type: u16
2480         byte-order: big-endian
2481       -
2482         name: key-flags
2483         type: u32
2484         byte-order: big-endian
2485       -
2486         name: key-flags-mask
2487         type: u32
2488         byte-order: big-endian
2489       -
2490         name: key-icmpv4-code
2491         type: u8
2492       -
2493         name: key-icmpv4-code-mask
2494         type: u8
2495       -
2496         name: key-icmpv4-type
2497         type: u8
2498       -
2499         name: key-icmpv4-type-mask
2500         type: u8
2501       -
2502         name: key-icmpv6-code
2503         type: u8
2504       -
2505         name: key-icmpv6-code-mask
2506         type: u8
2507       -
2508         name: key-icmpv6-type
2509         type: u8
2510       -
2511         name: key-icmpv6-type-mask
2512         type: u8
2513       -
2514         name: key-arp-sip
2515         type: u32
2516         byte-order: big-endian
2517       -
2518         name: key-arp-sip-mask
2519         type: u32
2520         byte-order: big-endian
2521       -
2522         name: key-arp-tip
2523         type: u32
2524         byte-order: big-endian
2525       -
2526         name: key-arp-tip-mask
2527         type: u32
2528         byte-order: big-endian
2529       -
2530         name: key-arp-op
2531         type: u8
2532       -
2533         name: key-arp-op-mask
2534         type: u8
2535       -
2536         name: key-arp-sha
2537         type: binary
2538         display-hint: mac
2539       -
2540         name: key-arp-sha-mask
2541         type: binary
2542         display-hint: mac
2543       -
2544         name: key-arp-tha
2545         type: binary
2546         display-hint: mac
2547       -
2548         name: key-arp-tha-mask
2549         type: binary
2550         display-hint: mac
2551       -
2552         name: key-mpls-ttl
2553         type: u8
2554       -
2555         name: key-mpls-bos
2556         type: u8
2557       -
2558         name: key-mpls-tc
2559         type: u8
2560       -
2561         name: key-mpls-label
2562         type: u32
2563         byte-order: big-endian
2564       -
2565         name: key-tcp-flags
2566         type: u16
2567         byte-order: big-endian
2568       -
2569         name: key-tcp-flags-mask
2570         type: u16
2571         byte-order: big-endian
2572       -
2573         name: key-ip-tos
2574         type: u8
2575       -
2576         name: key-ip-tos-mask
2577         type: u8
2578       -
2579         name: key-ip-ttl
2580         type: u8
2581       -
2582         name: key-ip-ttl-mask
2583         type: u8
2584       -
2585         name: key-cvlan-id
2586         type: u16
2587         byte-order: big-endian
2588       -
2589         name: key-cvlan-prio
2590         type: u8
2591       -
2592         name: key-cvlan-eth-type
2593         type: u16
2594         byte-order: big-endian
2595       -
2596         name: key-enc-ip-tos
2597         type: u8
2598       -
2599         name: key-enc-ip-tos-mask
2600         type: u8
2601       -
2602         name: key-enc-ip-ttl
2603         type: u8
2604       -
2605         name: key-enc-ip-ttl-mask
2606         type: u8
2607       -
2608         name: key-enc-opts
2609         type: nest
2610         nested-attributes: tc-flower-key-enc-opts-attrs
2611       -
2612         name: key-enc-opts-mask
2613         type: nest
2614         nested-attributes: tc-flower-key-enc-opts-attrs
2615       -
2616         name: in-hw-count
2617         type: u32
2618       -
2619         name: key-port-src-min
2620         type: u16
2621         byte-order: big-endian
2622       -
2623         name: key-port-src-max
2624         type: u16
2625         byte-order: big-endian
2626       -
2627         name: key-port-dst-min
2628         type: u16
2629         byte-order: big-endian
2630       -
2631         name: key-port-dst-max
2632         type: u16
2633         byte-order: big-endian
2634       -
2635         name: key-ct-state
2636         type: u16
2637       -
2638         name: key-ct-state-mask
2639         type: u16
2640       -
2641         name: key-ct-zone
2642         type: u16
2643       -
2644         name: key-ct-zone-mask
2645         type: u16
2646       -
2647         name: key-ct-mark
2648         type: u32
2649       -
2650         name: key-ct-mark-mask
2651         type: u32
2652       -
2653         name: key-ct-labels
2654         type: binary
2655       -
2656         name: key-ct-labels-mask
2657         type: binary
2658       -
2659         name: key-mpls-opts
2660         type: nest
2661         nested-attributes: tc-flower-key-mpls-opt-attrs
2662       -
2663         name: key-hash
2664         type: u32
2665       -
2666         name: key-hash-mask
2667         type: u32
2668       -
2669         name: key-num-of-vlans
2670         type: u8
2671       -
2672         name: key-pppoe-sid
2673         type: u16
2674         byte-order: big-endian
2675       -
2676         name: key-ppp-proto
2677         type: u16
2678         byte-order: big-endian
2679       -
2680         name: key-l2-tpv3-sid
2681         type: u32
2682         byte-order: big-endian
2683       -
2684         name: l2-miss
2685         type: u8
2686       -
2687         name: key-cfm
2688         type: nest
2689         nested-attributes: tc-flower-key-cfm-attrs
2690       -
2691         name: key-spi
2692         type: u32
2693         byte-order: big-endian
2694       -
2695         name: key-spi-mask
2696         type: u32
2697         byte-order: big-endian
2698   -
2699     name: tc-flower-key-enc-opts-attrs
2700     attributes:
2701       -
2702         name: geneve
2703         type: nest
2704         nested-attributes: tc-flower-key-enc-opt-geneve-attrs
2705       -
2706         name: vxlan
2707         type: nest
2708         nested-attributes: tc-flower-key-enc-opt-vxlan-attrs
2709       -
2710         name: erspan
2711         type: nest
2712         nested-attributes: tc-flower-key-enc-opt-erspan-attrs
2713       -
2714         name: gtp
2715         type: nest
2716         nested-attributes: tc-flower-key-enc-opt-gtp-attrs
2717   -
2718     name: tc-flower-key-enc-opt-geneve-attrs
2719     attributes:
2720       -
2721         name: class
2722         type: u16
2723       -
2724         name: type
2725         type: u8
2726       -
2727         name: data
2728         type: binary
2729   -
2730     name: tc-flower-key-enc-opt-vxlan-attrs
2731     attributes:
2732       -
2733         name: gbp
2734         type: u32
2735   -
2736     name: tc-flower-key-enc-opt-erspan-attrs
2737     attributes:
2738       -
2739         name: ver
2740         type: u8
2741       -
2742         name: index
2743         type: u32
2744       -
2745         name: dir
2746         type: u8
2747       -
2748         name: hwid
2749         type: u8
2750   -
2751     name: tc-flower-key-enc-opt-gtp-attrs
2752     attributes:
2753       -
2754         name: pdu-type
2755         type: u8
2756       -
2757         name: qfi
2758         type: u8
2759   -
2760     name: tc-flower-key-mpls-opt-attrs
2761     attributes:
2762       -
2763         name: lse-depth
2764         type: u8
2765       -
2766         name: lse-ttl
2767         type: u8
2768       -
2769         name: lse-bos
2770         type: u8
2771       -
2772         name: lse-tc
2773         type: u8
2774       -
2775         name: lse-label
2776         type: u32
2777   -
2778     name: tc-flower-key-cfm-attrs
2779     attributes:
2780       -
2781         name: md-level
2782         type: u8
2783       -
2784         name: opcode
2785         type: u8
2786   -
2787     name: tc-fw-attrs
2788     attributes:
2789       -
2790         name: classid
2791         type: u32
2792       -
2793         name: police
2794         type: nest
2795         nested-attributes: tc-police-attrs
2796       -
2797         name: indev
2798         type: string
2799       -
2800         name: act
2801         type: array-nest
2802         nested-attributes: tc-act-attrs
2803       -
2804         name: mask
2805         type: u32
2806   -
2807     name: tc-gred-attrs
2808     attributes:
2809       -
2810         name: parms
2811         type: binary # array of struct: tc-gred-qopt
2812       -
2813         name: stab
2814         type: binary
2815         sub-type: u8
2816       -
2817         name: dps
2818         type: binary
2819         struct: tc-gred-sopt
2820       -
2821         name: max-p
2822         type: binary
2823         sub-type: u32
2824       -
2825         name: limit
2826         type: u32
2827       -
2828         name: vq-list
2829         type: nest
2830         nested-attributes: tca-gred-vq-list-attrs
2831   -
2832     name: tca-gred-vq-list-attrs
2833     attributes:
2834       -
2835         name: entry
2836         type: nest
2837         nested-attributes: tca-gred-vq-entry-attrs
2838         multi-attr: true
2839   -
2840     name: tca-gred-vq-entry-attrs
2841     attributes:
2842       -
2843         name: pad
2844         type: pad
2845       -
2846         name: dp
2847         type: u32
2848       -
2849         name: stat-bytes
2850         type: u64
2851       -
2852         name: stat-packets
2853         type: u32
2854       -
2855         name: stat-backlog
2856         type: u32
2857       -
2858         name: stat-prob-drop
2859         type: u32
2860       -
2861         name: stat-prob-mark
2862         type: u32
2863       -
2864         name: stat-forced-drop
2865         type: u32
2866       -
2867         name: stat-forced-mark
2868         type: u32
2869       -
2870         name: stat-pdrop
2871         type: u32
2872       -
2873         name: stat-other
2874         type: u32
2875       -
2876         name: flags
2877         type: u32
2878   -
2879     name: tc-hfsc-attrs
2880     attributes:
2881       -
2882         name: rsc
2883         type: binary
2884       -
2885         name: fsc
2886         type: binary
2887       -
2888         name: usc
2889         type: binary
2890   -
2891     name: tc-hhf-attrs
2892     attributes:
2893       -
2894         name: backlog-limit
2895         type: u32
2896       -
2897         name: quantum
2898         type: u32
2899       -
2900         name: hh-flows-limit
2901         type: u32
2902       -
2903         name: reset-timeout
2904         type: u32
2905       -
2906         name: admit-bytes
2907         type: u32
2908       -
2909         name: evict-timeout
2910         type: u32
2911       -
2912         name: non-hh-weight
2913         type: u32
2914   -
2915     name: tc-htb-attrs
2916     attributes:
2917       -
2918         name: parms
2919         type: binary
2920         struct: tc-htb-opt
2921       -
2922         name: init
2923         type: binary
2924         struct: tc-htb-glob
2925       -
2926         name: ctab
2927         type: binary
2928       -
2929         name: rtab
2930         type: binary
2931       -
2932         name: direct-qlen
2933         type: u32
2934       -
2935         name: rate64
2936         type: u64
2937       -
2938         name: ceil64
2939         type: u64
2940       -
2941         name: pad
2942         type: pad
2943       -
2944         name: offload
2945         type: flag
2946   -
2947     name: tc-matchall-attrs
2948     attributes:
2949       -
2950         name: classid
2951         type: u32
2952       -
2953         name: act
2954         type: array-nest
2955         nested-attributes: tc-act-attrs
2956       -
2957         name: flags
2958         type: u32
2959       -
2960         name: pcnt
2961         type: binary
2962         struct: tc-matchall-pcnt
2963       -
2964         name: pad
2965         type: pad
2966   -
2967     name: tc-etf-attrs
2968     attributes:
2969       -
2970         name: parms
2971         type: binary
2972         struct: tc-etf-qopt
2973   -
2974     name: tc-ets-attrs
2975     attributes:
2976       -
2977         name: nbands
2978         type: u8
2979       -
2980         name: nstrict
2981         type: u8
2982       -
2983         name: quanta
2984         type: nest
2985         nested-attributes: tc-ets-attrs
2986       -
2987         name: quanta-band
2988         type: u32
2989         multi-attr: true
2990       -
2991         name: priomap
2992         type: nest
2993         nested-attributes: tc-ets-attrs
2994       -
2995         name: priomap-band
2996         type: u8
2997         multi-attr: true
2998   -
2999     name: tc-fq-attrs
3000     attributes:
3001       -
3002         name: plimit
3003         type: u32
3004         doc: Limit of total number of packets in queue
3005       -
3006         name: flow-plimit
3007         type: u32
3008         doc: Limit of packets per flow
3009       -
3010         name: quantum
3011         type: u32
3012         doc: RR quantum
3013       -
3014         name: initial-quantum
3015         type: u32
3016         doc: RR quantum for new flow
3017       -
3018         name: rate-enable
3019         type: u32
3020         doc: Enable / disable rate limiting
3021       -
3022         name: flow-default-rate
3023         type: u32
3024         doc: Obsolete, do not use
3025       -
3026         name: flow-max-rate
3027         type: u32
3028         doc: Per flow max rate
3029       -
3030         name: buckets-log
3031         type: u32
3032         doc: log2(number of buckets)
3033       -
3034         name: flow-refill-delay
3035         type: u32
3036         doc: Flow credit refill delay in usec
3037       -
3038         name: orphan-mask
3039         type: u32
3040         doc: Mask applied to orphaned skb hashes
3041       -
3042         name: low-rate-threshold
3043         type: u32
3044         doc: Per packet delay under this rate
3045       -
3046         name: ce-threshold
3047         type: u32
3048         doc: DCTCP-like CE marking threshold
3049       -
3050         name: timer-slack
3051         type: u32
3052       -
3053         name: horizon
3054         type: u32
3055         doc: Time horizon in usec
3056       -
3057         name: horizon-drop
3058         type: u8
3059         doc: Drop packets beyond horizon, or cap their EDT
3060       -
3061         name: priomap
3062         type: binary
3063         struct: tc-prio-qopt
3064       -
3065         name: weights
3066         type: binary
3067         sub-type: s32
3068         doc: Weights for each band
3069   -
3070     name: tc-fq-codel-attrs
3071     attributes:
3072       -
3073         name: target
3074         type: u32
3075       -
3076         name: limit
3077         type: u32
3078       -
3079         name: interval
3080         type: u32
3081       -
3082         name: ecn
3083         type: u32
3084       -
3085         name: flows
3086         type: u32
3087       -
3088         name: quantum
3089         type: u32
3090       -
3091         name: ce-threshold
3092         type: u32
3093       -
3094         name: drop-batch-size
3095         type: u32
3096       -
3097         name: memory-limit
3098         type: u32
3099       -
3100         name: ce-threshold-selector
3101         type: u8
3102       -
3103         name: ce-threshold-mask
3104         type: u8
3105   -
3106     name: tc-fq-pie-attrs
3107     attributes:
3108       -
3109         name: limit
3110         type: u32
3111       -
3112         name: flows
3113         type: u32
3114       -
3115         name: target
3116         type: u32
3117       -
3118         name: tupdate
3119         type: u32
3120       -
3121         name: alpha
3122         type: u32
3123       -
3124         name: beta
3125         type: u32
3126       -
3127         name: quantum
3128         type: u32
3129       -
3130         name: memory-limit
3131         type: u32
3132       -
3133         name: ecn-prob
3134         type: u32
3135       -
3136         name: ecn
3137         type: u32
3138       -
3139         name: bytemode
3140         type: u32
3141       -
3142         name: dq-rate-estimator
3143         type: u32
3144   -
3145     name: tc-netem-attrs
3146     attributes:
3147       -
3148         name: corr
3149         type: binary
3150         struct: tc-netem-corr
3151       -
3152         name: delay-dist
3153         type: binary
3154         sub-type: s16
3155       -
3156         name: reorder
3157         type: binary
3158         struct: tc-netem-reorder
3159       -
3160         name: corrupt
3161         type: binary
3162         struct: tc-netem-corrupt
3163       -
3164         name: loss
3165         type: nest
3166         nested-attributes: tc-netem-loss-attrs
3167       -
3168         name: rate
3169         type: binary
3170         struct: tc-netem-rate
3171       -
3172         name: ecn
3173         type: u32
3174       -
3175         name: rate64
3176         type: u64
3177       -
3178         name: pad
3179         type: u32
3180       -
3181         name: latency64
3182         type: s64
3183       -
3184         name: jitter64
3185         type: s64
3186       -
3187         name: slot
3188         type: binary
3189         struct: tc-netem-slot
3190       -
3191         name: slot-dist
3192         type: binary
3193         sub-type: s16
3194       -
3195         name: prng-seed
3196         type: u64
3197   -
3198     name: tc-netem-loss-attrs
3199     attributes:
3200       -
3201         name: gi
3202         type: binary
3203         doc: General Intuitive - 4 state model
3204         struct: tc-netem-gimodel
3205       -
3206         name: ge
3207         type: binary
3208         doc: Gilbert Elliot models
3209         struct: tc-netem-gemodel
3210   -
3211     name: tc-pie-attrs
3212     attributes:
3213       -
3214         name: target
3215         type: u32
3216       -
3217         name: limit
3218         type: u32
3219       -
3220         name: tupdate
3221         type: u32
3222       -
3223         name: alpha
3224         type: u32
3225       -
3226         name: beta
3227         type: u32
3228       -
3229         name: ecn
3230         type: u32
3231       -
3232         name: bytemode
3233         type: u32
3234       -
3235         name: dq-rate-estimator
3236         type: u32
3237   -
3238     name: tc-police-attrs
3239     attributes:
3240       -
3241         name: tbf
3242         type: binary
3243         struct: tc-police
3244       -
3245         name: rate
3246         type: binary
3247       -
3248         name: peakrate
3249         type: binary
3250       -
3251         name: avrate
3252         type: u32
3253       -
3254         name: result
3255         type: u32
3256       -
3257         name: tm
3258         type: binary
3259         struct: tcf-t
3260       -
3261         name: pad
3262         type: pad
3263       -
3264         name: rate64
3265         type: u64
3266       -
3267         name: peakrate64
3268         type: u64
3269       -
3270         name: pktrate64
3271         type: u64
3272       -
3273         name: pktburst64
3274         type: u64
3275   -
3276     name: tc-qfq-attrs
3277     attributes:
3278       -
3279         name: weight
3280         type: u32
3281       -
3282         name: lmax
3283         type: u32
3284   -
3285     name: tc-red-attrs
3286     attributes:
3287       -
3288         name: parms
3289         type: binary
3290         struct: tc-red-qopt
3291       -
3292         name: stab
3293         type: binary
3294       -
3295         name: max-p
3296         type: u32
3297       -
3298         name: flags
3299         type: bitfield32
3300       -
3301         name: early-drop-block
3302         type: u32
3303       -
3304         name: mark-block
3305         type: u32
3306   -
3307     name: tc-route-attrs
3308     attributes:
3309       -
3310         name: classid
3311         type: u32
3312       -
3313         name: to
3314         type: u32
3315       -
3316         name: from
3317         type: u32
3318       -
3319         name: iif
3320         type: u32
3321       -
3322         name: police
3323         type: nest
3324         nested-attributes: tc-police-attrs
3325       -
3326         name: act
3327         type: array-nest
3328         nested-attributes: tc-act-attrs
3329   -
3330     name: tc-taprio-attrs
3331     attributes:
3332       -
3333         name: priomap
3334         type: binary
3335         struct: tc-mqprio-qopt
3336       -
3337         name: sched-entry-list
3338         type: nest
3339         nested-attributes: tc-taprio-sched-entry-list
3340       -
3341         name: sched-base-time
3342         type: s64
3343       -
3344         name: sched-single-entry
3345         type: nest
3346         nested-attributes: tc-taprio-sched-entry
3347       -
3348         name: sched-clockid
3349         type: s32
3350       -
3351         name: pad
3352         type: pad
3353       -
3354         name: admin-sched
3355         type: binary
3356       -
3357         name: sched-cycle-time
3358         type: s64
3359       -
3360         name: sched-cycle-time-extension
3361         type: s64
3362       -
3363         name: flags
3364         type: u32
3365       -
3366         name: txtime-delay
3367         type: u32
3368       -
3369         name: tc-entry
3370         type: nest
3371         nested-attributes: tc-taprio-tc-entry-attrs
3372   -
3373     name: tc-taprio-sched-entry-list
3374     attributes:
3375       -
3376         name: entry
3377         type: nest
3378         nested-attributes: tc-taprio-sched-entry
3379         multi-attr: true
3380   -
3381     name: tc-taprio-sched-entry
3382     attributes:
3383       -
3384         name: index
3385         type: u32
3386       -
3387         name: cmd
3388         type: u8
3389       -
3390         name: gate-mask
3391         type: u32
3392       -
3393         name: interval
3394         type: u32
3395   -
3396     name: tc-taprio-tc-entry-attrs
3397     attributes:
3398       -
3399         name: index
3400         type: u32
3401       -
3402         name: max-sdu
3403         type: u32
3404       -
3405         name: fp
3406         type: u32
3407   -
3408     name: tc-tbf-attrs
3409     attributes:
3410       -
3411         name: parms
3412         type: binary
3413         struct: tc-tbf-qopt
3414       -
3415         name: rtab
3416         type: binary
3417       -
3418         name: ptab
3419         type: binary
3420       -
3421         name: rate64
3422         type: u64
3423       -
3424         name: prate4
3425         type: u64
3426       -
3427         name: burst
3428         type: u32
3429       -
3430         name: pburst
3431         type: u32
3432       -
3433         name: pad
3434         type: pad
3435   -
3436     name: tc-act-sample-attrs
3437     attributes:
3438       -
3439         name: tm
3440         type: binary
3441         struct: tcf-t
3442       -
3443         name: parms
3444         type: binary
3445         struct: tc-gen
3446       -
3447         name: rate
3448         type: u32
3449       -
3450         name: trunc-size
3451         type: u32
3452       -
3453         name: psample-group
3454         type: u32
3455       -
3456         name: pad
3457         type: pad
3458   -
3459     name: tc-act-gact-attrs
3460     attributes:
3461       -
3462         name: tm
3463         type: binary
3464         struct: tcf-t
3465       -
3466         name: parms
3467         type: binary
3468         struct: tc-gen
3469       -
3470         name: prob
3471         type: binary
3472         struct: tc-gact-p
3473       -
3474         name: pad
3475         type: pad
3476   -
3477     name: tca-stab-attrs
3478     attributes:
3479       -
3480         name: base
3481         type: binary
3482         struct: tc-sizespec
3483       -
3484         name: data
3485         type: binary
3486   -
3487     name: tca-stats-attrs
3488     attributes:
3489       -
3490         name: basic
3491         type: binary
3492         struct: gnet-stats-basic
3493       -
3494         name: rate-est
3495         type: binary
3496         struct: gnet-stats-rate-est
3497       -
3498         name: queue
3499         type: binary
3500         struct: gnet-stats-queue
3501       -
3502         name: app
3503         type: sub-message
3504         sub-message: tca-stats-app-msg
3505         selector: kind
3506       -
3507         name: rate-est64
3508         type: binary
3509         struct: gnet-stats-rate-est64
3510       -
3511         name: pad
3512         type: pad
3513       -
3514         name: basic-hw
3515         type: binary
3516         struct: gnet-stats-basic
3517       -
3518         name: pkt64
3519         type: u64
3520   -
3521     name: tc-u32-attrs
3522     attributes:
3523       -
3524         name: classid
3525         type: u32
3526       -
3527         name: hash
3528         type: u32
3529       -
3530         name: link
3531         type: u32
3532       -
3533         name: divisor
3534         type: u32
3535       -
3536         name: sel
3537         type: binary
3538         struct: tc-u32-sel
3539       -
3540         name: police
3541         type: nest
3542         nested-attributes: tc-police-attrs
3543       -
3544         name: act
3545         type: array-nest
3546         nested-attributes: tc-act-attrs
3547       -
3548         name: indev
3549         type: string
3550       -
3551         name: pcnt
3552         type: binary
3553         struct: tc-u32-pcnt
3554       -
3555         name: mark
3556         type: binary
3557         struct: tc-u32-mark
3558       -
3559         name: flags
3560         type: u32
3561       -
3562         name: pad
3563         type: pad
3564
3565 sub-messages:
3566   -
3567     name: tc-options-msg
3568     formats:
3569       -
3570         value: basic
3571         attribute-set: tc-basic-attrs
3572       -
3573         value: bpf
3574         attribute-set: tc-bpf-attrs
3575       -
3576         value: bfifo
3577         fixed-header: tc-fifo-qopt
3578       -
3579         value: cake
3580         attribute-set: tc-cake-attrs
3581       -
3582         value: cbs
3583         attribute-set: tc-cbs-attrs
3584       -
3585         value: cgroup
3586         attribute-set: tc-cgroup-attrs
3587       -
3588         value: choke
3589         attribute-set: tc-choke-attrs
3590       -
3591         value: clsact # no content
3592       -
3593         value: codel
3594         attribute-set: tc-codel-attrs
3595       -
3596         value: drr
3597         attribute-set: tc-drr-attrs
3598       -
3599         value: etf
3600         attribute-set: tc-etf-attrs
3601       -
3602         value: ets
3603         attribute-set: tc-ets-attrs
3604       -
3605         value: flow
3606         attribute-set: tc-flow-attrs
3607       -
3608         value: flower
3609         attribute-set: tc-flower-attrs
3610       -
3611         value: fq
3612         attribute-set: tc-fq-attrs
3613       -
3614         value: fq_codel
3615         attribute-set: tc-fq-codel-attrs
3616       -
3617         value: fq_pie
3618         attribute-set: tc-fq-pie-attrs
3619       -
3620         value: fw
3621         attribute-set: tc-fw-attrs
3622       -
3623         value: gred
3624         attribute-set: tc-gred-attrs
3625       -
3626         value: hfsc
3627         fixed-header: tc-hfsc-qopt
3628       -
3629         value: hhf
3630         attribute-set: tc-hhf-attrs
3631       -
3632         value: htb
3633         attribute-set: tc-htb-attrs
3634       -
3635         value: ingress # no content
3636       -
3637         value: matchall
3638         attribute-set: tc-matchall-attrs
3639       -
3640         value: mq # no content
3641       -
3642         value: mqprio
3643         fixed-header: tc-mqprio-qopt
3644       -
3645         value: multiq
3646         fixed-header: tc-multiq-qopt
3647       -
3648         value: netem
3649         fixed-header: tc-netem-qopt
3650         attribute-set: tc-netem-attrs
3651       -
3652         value: pfifo
3653         fixed-header: tc-fifo-qopt
3654       -
3655         value: pfifo_fast
3656         fixed-header: tc-prio-qopt
3657       -
3658         value: pfifo_head_drop
3659         fixed-header: tc-fifo-qopt
3660       -
3661         value: pie
3662         attribute-set: tc-pie-attrs
3663       -
3664         value: plug
3665         fixed-header: tc-plug-qopt
3666       -
3667         value: prio
3668         fixed-header: tc-prio-qopt
3669       -
3670         value: qfq
3671         attribute-set: tc-qfq-attrs
3672       -
3673         value: red
3674         attribute-set: tc-red-attrs
3675       -
3676         value: route
3677         attribute-set: tc-route-attrs
3678       -
3679         value: sfb
3680         fixed-header: tc-sfb-qopt
3681       -
3682         value: sfq
3683         fixed-header: tc-sfq-qopt-v1
3684       -
3685         value: taprio
3686         attribute-set: tc-taprio-attrs
3687       -
3688         value: tbf
3689         attribute-set: tc-tbf-attrs
3690       -
3691         value: u32
3692         attribute-set: tc-u32-attrs
3693   -
3694     name: tc-act-options-msg
3695     formats:
3696       -
3697         value: bpf
3698         attribute-set: tc-act-bpf-attrs
3699       -
3700         value: connmark
3701         attribute-set: tc-act-connmark-attrs
3702       -
3703         value: csum
3704         attribute-set: tc-act-csum-attrs
3705       -
3706         value: ct
3707         attribute-set: tc-act-ct-attrs
3708       -
3709         value: ctinfo
3710         attribute-set: tc-act-ctinfo-attrs
3711       -
3712         value: gact
3713         attribute-set: tc-act-gact-attrs
3714       -
3715         value: gate
3716         attribute-set: tc-act-gate-attrs
3717       -
3718         value: ife
3719         attribute-set: tc-act-ife-attrs
3720       -
3721         value: mirred
3722         attribute-set: tc-act-mirred-attrs
3723       -
3724         value: mpls
3725         attribute-set: tc-act-mpls-attrs
3726       -
3727         value: nat
3728         attribute-set: tc-act-nat-attrs
3729       -
3730         value: pedit
3731         attribute-set: tc-act-pedit-attrs
3732       -
3733         value: police
3734         attribute-set: tc-act-police-attrs
3735       -
3736         value: sample
3737         attribute-set: tc-act-sample-attrs
3738       -
3739         value: simple
3740         attribute-set: tc-act-simple-attrs
3741       -
3742         value: skbedit
3743         attribute-set: tc-act-skbedit-attrs
3744       -
3745         value: skbmod
3746         attribute-set: tc-act-skbmod-attrs
3747       -
3748         value: tunnel_key
3749         attribute-set: tc-act-tunnel-key-attrs
3750       -
3751         value: vlan
3752         attribute-set: tc-act-vlan-attrs
3753   -
3754     name: tca-stats-app-msg
3755     formats:
3756       -
3757         value: cake
3758         attribute-set: tc-cake-stats-attrs
3759       -
3760         value: choke
3761         fixed-header: tc-choke-xstats
3762       -
3763         value: codel
3764         fixed-header: tc-codel-xstats
3765       -
3766         value: fq
3767         fixed-header: tc-fq-qd-stats
3768       -
3769         value: fq_codel
3770         fixed-header: tc-fq-codel-xstats
3771       -
3772         value: fq_pie
3773         fixed-header: tc-fq-pie-xstats
3774       -
3775         value: hhf
3776         fixed-header: tc-hhf-xstats
3777       -
3778         value: pie
3779         fixed-header: tc-pie-xstats
3780       -
3781         value: red
3782         fixed-header: tc-red-xstats
3783       -
3784         value: sfb
3785         fixed-header: tc-sfb-xstats
3786       -
3787         value: sfq
3788         fixed-header: tc-sfq-xstats
3789
3790 operations:
3791   enum-model: directional
3792   list:
3793     -
3794       name: newqdisc
3795       doc: Create new tc qdisc.
3796       attribute-set: tc-attrs
3797       fixed-header: tcmsg
3798       do:
3799         request:
3800           value: 36
3801           attributes: &create-params
3802             - kind
3803             - options
3804             - rate
3805             - chain
3806             - ingress-block
3807             - egress-block
3808     -
3809       name: delqdisc
3810       doc: Delete existing tc qdisc.
3811       attribute-set: tc-attrs
3812       fixed-header: tcmsg
3813       do:
3814         request:
3815           value: 37
3816     -
3817       name: getqdisc
3818       doc: Get / dump tc qdisc information.
3819       attribute-set: tc-attrs
3820       fixed-header: tcmsg
3821       do:
3822         request:
3823           value: 38
3824           attributes:
3825             - dump-invisible
3826         reply:
3827           value: 36
3828           attributes: &tc-all
3829             - kind
3830             - options
3831             - stats
3832             - xstats
3833             - rate
3834             - fcnt
3835             - stats2
3836             - stab
3837             - chain
3838             - ingress-block
3839             - egress-block
3840     -
3841       name: newtclass
3842       doc: Get / dump tc traffic class information.
3843       attribute-set: tc-attrs
3844       fixed-header: tcmsg
3845       do:
3846         request:
3847           value: 40
3848           attributes: *create-params
3849     -
3850       name: deltclass
3851       doc: Get / dump tc traffic class information.
3852       attribute-set: tc-attrs
3853       fixed-header: tcmsg
3854       do:
3855         request:
3856           value: 41
3857     -
3858       name: gettclass
3859       doc: Get / dump tc traffic class information.
3860       attribute-set: tc-attrs
3861       fixed-header: tcmsg
3862       do:
3863         request:
3864           value: 42
3865         reply:
3866           value: 40
3867           attributes: *tc-all
3868     -
3869       name: newtfilter
3870       doc: Get / dump tc filter information.
3871       attribute-set: tc-attrs
3872       fixed-header: tcmsg
3873       do:
3874         request:
3875           value: 44
3876           attributes: *create-params
3877     -
3878       name: deltfilter
3879       doc: Get / dump tc filter information.
3880       attribute-set: tc-attrs
3881       fixed-header: tcmsg
3882       do:
3883         request:
3884           value: 45
3885           attributes:
3886             - chain
3887             - kind
3888     -
3889       name: gettfilter
3890       doc: Get / dump tc filter information.
3891       attribute-set: tc-attrs
3892       fixed-header: tcmsg
3893       do:
3894         request:
3895           value: 46
3896           attributes:
3897             - chain
3898             - kind
3899         reply:
3900           value: 44
3901           attributes: *tc-all
3902       dump:
3903         request:
3904           value: 46
3905           attributes:
3906             - chain
3907             - dump-flags
3908         reply:
3909           value: 44
3910           attributes: *tc-all
3911     -
3912       name: newchain
3913       doc: Get / dump tc chain information.
3914       attribute-set: tc-attrs
3915       fixed-header: tcmsg
3916       do:
3917         request:
3918           value: 100
3919           attributes: *create-params
3920     -
3921       name: delchain
3922       doc: Get / dump tc chain information.
3923       attribute-set: tc-attrs
3924       fixed-header: tcmsg
3925       do:
3926         request:
3927           value: 101
3928           attributes:
3929             - chain
3930     -
3931       name: getchain
3932       doc: Get / dump tc chain information.
3933       attribute-set: tc-attrs
3934       fixed-header: tcmsg
3935       do:
3936         request:
3937           value: 102
3938           attributes:
3939             - chain
3940         reply:
3941           value: 100
3942           attributes: *tc-all
3943
3944 mcast-groups:
3945   list:
3946     -
3947       name: rtnlgrp-tc
3948       value: 4