xref: /linux/Documentation/netlink/specs/tc.yaml (revision 7255fcc80d4b525cc10cfaaf7f485830d4ed2000)
1# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
2
3name: tc
4protocol: netlink-raw
5protonum: 0
6
7doc:
8  Netlink raw family for tc qdisc, chain, class and filter configuration
9  over rtnetlink.
10
11definitions:
12  -
13    name: tcmsg
14    type: struct
15    members:
16      -
17        name: family
18        type: u8
19      -
20        name: pad
21        type: pad
22        len: 3
23      -
24        name: ifindex
25        type: s32
26      -
27        name: handle
28        type: u32
29      -
30        name: parent
31        type: u32
32      -
33        name: info
34        type: u32
35  -
36    name: tc-cls-flags
37    type: flags
38    entries:
39      - skip-hw
40      - skip-sw
41      - in-hw
42      - not-in-nw
43      - verbose
44  -
45    name: tc-stats
46    type: struct
47    members:
48      -
49        name: bytes
50        type: u64
51        doc: Number of enqueued bytes
52      -
53        name: packets
54        type: u32
55        doc: Number of enqueued packets
56      -
57        name: drops
58        type: u32
59        doc: Packets dropped because of lack of resources
60      -
61        name: overlimits
62        type: u32
63        doc: |
64          Number of throttle events when this flow goes out of allocated bandwidth
65      -
66        name: bps
67        type: u32
68        doc: Current flow byte rate
69      -
70        name: pps
71        type: u32
72        doc: Current flow packet rate
73      -
74        name: qlen
75        type: u32
76      -
77        name: backlog
78        type: u32
79  -
80    name: tc-cbs-qopt
81    type: struct
82    members:
83      -
84        name: offload
85        type: u8
86      -
87        name: pad
88        type: pad
89        len: 3
90      -
91        name: hicredit
92        type: s32
93      -
94        name: locredit
95        type: s32
96      -
97        name: idleslope
98        type: s32
99      -
100        name: sendslope
101        type: s32
102  -
103    name: tc-etf-qopt
104    type: struct
105    members:
106      -
107        name: delta
108        type: s32
109      -
110        name: clockid
111        type: s32
112      -
113        name: flags
114        type: s32
115  -
116    name: tc-fifo-qopt
117    type: struct
118    members:
119      -
120        name: limit
121        type: u32
122        doc: Queue length; bytes for bfifo, packets for pfifo
123  -
124    name: tc-htb-opt
125    type: struct
126    members:
127      -
128        name: rate
129        type: binary
130        struct: tc-ratespec
131      -
132        name: ceil
133        type: binary
134        struct: tc-ratespec
135      -
136        name: buffer
137        type: u32
138      -
139        name: cbuffer
140        type: u32
141      -
142        name: quantum
143        type: u32
144      -
145        name: level
146        type: u32
147      -
148        name: prio
149        type: u32
150  -
151    name: tc-htb-glob
152    type: struct
153    members:
154      -
155        name: version
156        type: u32
157      -
158        name: rate2quantum
159        type: u32
160        doc: bps->quantum divisor
161      -
162        name: defcls
163        type: u32
164        doc: Default class number
165      -
166        name: debug
167        type: u32
168        doc: Debug flags
169      -
170        name: direct-pkts
171        type: u32
172        doc: Count of non shaped packets
173  -
174    name: tc-gred-qopt
175    type: struct
176    members:
177      -
178        name: limit
179        type: u32
180        doc: HARD maximal queue length in bytes
181      -
182        name: qth-min
183        type: u32
184        doc: Min average length threshold in bytes
185      -
186        name: qth-max
187        type: u32
188        doc: Max average length threshold in bytes
189      -
190        name: DP
191        type: u32
192        doc: Up to 2^32 DPs
193      -
194        name: backlog
195        type: u32
196      -
197        name: qave
198        type: u32
199      -
200        name: forced
201        type: u32
202      -
203        name: early
204        type: u32
205      -
206        name: other
207        type: u32
208      -
209        name: pdrop
210        type: u32
211      -
212        name: Wlog
213        type: u8
214        doc: log(W)
215      -
216        name: Plog
217        type: u8
218        doc: log(P_max / (qth-max - qth-min))
219      -
220        name: Scell_log
221        type: u8
222        doc: cell size for idle damping
223      -
224        name: prio
225        type: u8
226        doc: Priority of this VQ
227      -
228        name: packets
229        type: u32
230      -
231        name: bytesin
232        type: u32
233  -
234    name: tc-gred-sopt
235    type: struct
236    members:
237      -
238        name: DPs
239        type: u32
240      -
241        name: def_DP
242        type: u32
243      -
244        name: grio
245        type: u8
246      -
247        name: flags
248        type: u8
249      -
250        name: pad
251        type: pad
252        len: 2
253  -
254    name: tc-hfsc-qopt
255    type: struct
256    members:
257      -
258        name: defcls
259        type: u16
260  -
261    name: tc-mqprio-qopt
262    type: struct
263    members:
264      -
265        name: num-tc
266        type: u8
267      -
268        name: prio-tc-map
269        type: binary
270        len: 16
271      -
272        name: hw
273        type: u8
274      -
275        name: count
276        type: binary
277        len: 32
278      -
279        name: offset
280        type: binary
281        len: 32
282  -
283    name: tc-multiq-qopt
284    type: struct
285    members:
286      -
287        name: bands
288        type: u16
289        doc: Number of bands
290      -
291        name: max-bands
292        type: u16
293        doc: Maximum number of queues
294  -
295    name: tc-netem-qopt
296    type: struct
297    members:
298      -
299        name: latency
300        type: u32
301        doc: Added delay in microseconds
302      -
303        name: limit
304        type: u32
305        doc: Fifo limit in packets
306      -
307        name: loss
308        type: u32
309        doc: Random packet loss (0=none, ~0=100%)
310      -
311        name: gap
312        type: u32
313        doc: Re-ordering gap (0 for none)
314      -
315        name: duplicate
316        type: u32
317        doc: Random packet duplication (0=none, ~0=100%)
318      -
319        name: jitter
320        type: u32
321        doc: Random jitter latency in microseconds
322  -
323    name: tc-netem-gimodel
324    doc: State transition probabilities for 4 state model
325    type: struct
326    members:
327      -
328        name: p13
329        type: u32
330      -
331        name: p31
332        type: u32
333      -
334        name: p32
335        type: u32
336      -
337        name: p14
338        type: u32
339      -
340        name: p23
341        type: u32
342  -
343    name: tc-netem-gemodel
344    doc: Gilbert-Elliot models
345    type: struct
346    members:
347      -
348        name: p
349        type: u32
350      -
351        name: r
352        type: u32
353      -
354        name: h
355        type: u32
356      -
357        name: k1
358        type: u32
359  -
360    name: tc-netem-corr
361    type: struct
362    members:
363      -
364        name: delay-corr
365        type: u32
366        doc: Delay correlation
367      -
368        name: loss-corr
369        type: u32
370        doc: Packet loss correlation
371      -
372        name: dup-corr
373        type: u32
374        doc: Duplicate correlation
375  -
376    name: tc-netem-reorder
377    type: struct
378    members:
379      -
380        name: probability
381        type: u32
382      -
383        name: correlation
384        type: u32
385  -
386    name: tc-netem-corrupt
387    type: struct
388    members:
389      -
390        name: probability
391        type: u32
392      -
393        name: correlation
394        type: u32
395  -
396    name: tc-netem-rate
397    type: struct
398    members:
399      -
400        name: rate
401        type: u32
402      -
403        name: packet-overhead
404        type: s32
405      -
406        name: cell-size
407        type: u32
408      -
409        name: cell-overhead
410        type: s32
411  -
412    name: tc-netem-slot
413    type: struct
414    members:
415      -
416        name: min-delay
417        type: s64
418      -
419        name: max-delay
420        type: s64
421      -
422        name: max-packets
423        type: s32
424      -
425        name: max-bytes
426        type: s32
427      -
428        name: dist-delay
429        type: s64
430      -
431        name: dist-jitter
432        type: s64
433  -
434    name: tc-plug-qopt
435    type: struct
436    members:
437      -
438        name: action
439        type: s32
440      -
441        name: limit
442        type: u32
443  -
444    name: tc-prio-qopt
445    type: struct
446    members:
447      -
448        name: bands
449        type: u32
450        doc: Number of bands
451      -
452        name: priomap
453        type: binary
454        len: 16
455        doc: Map of logical priority -> PRIO band
456  -
457    name: tc-red-qopt
458    type: struct
459    members:
460      -
461        name: limit
462        type: u32
463        doc: Hard queue length in packets
464      -
465        name: qth-min
466        type: u32
467        doc: Min average threshold in packets
468      -
469        name: qth-max
470        type: u32
471        doc: Max average threshold in packets
472      -
473        name: Wlog
474        type: u8
475        doc: log(W)
476      -
477        name: Plog
478        type: u8
479        doc: log(P_max / (qth-max - qth-min))
480      -
481        name: Scell-log
482        type: u8
483        doc: Cell size for idle damping
484      -
485        name: flags
486        type: u8
487  -
488    name: tc-sfb-qopt
489    type: struct
490    members:
491      -
492        name: rehash-interval
493        type: u32
494      -
495        name: warmup-time
496        type: u32
497      -
498        name: max
499        type: u32
500      -
501        name: bin-size
502        type: u32
503      -
504        name: increment
505        type: u32
506      -
507        name: decrement
508        type: u32
509      -
510        name: limit
511        type: u32
512      -
513        name: penalty-rate
514        type: u32
515      -
516        name: penalty-burst
517        type: u32
518  -
519    name: tc-sfq-qopt
520    type: struct
521    members:
522      -
523        name: quantum
524        type: u32
525        doc: Bytes per round allocated to flow
526      -
527        name: perturb-period
528        type: s32
529        doc: Period of hash perturbation
530      -
531        name: limit
532        type: u32
533        doc: Maximal packets in queue
534      -
535        name: divisor
536        type: u32
537        doc: Hash divisor
538      -
539        name: flows
540        type: u32
541        doc: Maximal number of flows
542  -
543    name: tc-sfqred-stats
544    type: struct
545    members:
546      -
547        name: prob-drop
548        type: u32
549        doc: Early drops, below max threshold
550      -
551        name: forced-drop
552        type: u32
553        doc: Early drops, after max threshold
554      -
555        name: prob-mark
556        type: u32
557        doc: Marked packets, below max threshold
558      -
559        name: forced-mark
560        type: u32
561        doc: Marked packets, after max threshold
562      -
563        name: prob-mark-head
564        type: u32
565        doc: Marked packets, below max threshold
566      -
567        name: forced-mark-head
568        type: u32
569        doc: Marked packets, after max threshold
570  -
571    name: tc-sfq-qopt-v1
572    type: struct
573    members:
574      -
575        name: v0
576        type: binary
577        struct: tc-sfq-qopt
578      -
579        name: depth
580        type: u32
581        doc: Maximum number of packets per flow
582      -
583        name: headdrop
584        type: u32
585      -
586        name: limit
587        type: u32
588        doc: HARD maximal flow queue length in bytes
589      -
590        name: qth-min
591        type: u32
592        doc: Min average length threshold in bytes
593      -
594        name: qth-max
595        type: u32
596        doc: Max average length threshold in bytes
597      -
598        name: Wlog
599        type: u8
600        doc: log(W)
601      -
602        name: Plog
603        type: u8
604        doc: log(P_max / (qth-max - qth-min))
605      -
606        name: Scell-log
607        type: u8
608        doc: Cell size for idle damping
609      -
610        name: flags
611        type: u8
612      -
613        name: max-P
614        type: u32
615        doc: probabilty, high resolution
616      -
617        name: stats
618        type: binary
619        struct: tc-sfqred-stats
620  -
621    name: tc-ratespec
622    type: struct
623    members:
624      -
625        name: cell-log
626        type: u8
627      -
628        name: linklayer
629        type: u8
630      -
631        name: overhead
632        type: u8
633      -
634        name: cell-align
635        type: u8
636      -
637        name: mpu
638        type: u8
639      -
640        name: rate
641        type: u32
642  -
643    name: tc-tbf-qopt
644    type: struct
645    members:
646      -
647        name: rate
648        type: binary
649        struct: tc-ratespec
650      -
651        name: peakrate
652        type: binary
653        struct: tc-ratespec
654      -
655        name: limit
656        type: u32
657      -
658        name: buffer
659        type: u32
660      -
661        name: mtu
662        type: u32
663  -
664    name: tc-sizespec
665    type: struct
666    members:
667      -
668        name: cell-log
669        type: u8
670      -
671        name: size-log
672        type: u8
673      -
674        name: cell-align
675        type: s16
676      -
677        name: overhead
678        type: s32
679      -
680        name: linklayer
681        type: u32
682      -
683        name: mpu
684        type: u32
685      -
686        name: mtu
687        type: u32
688      -
689        name: tsize
690        type: u32
691  -
692    name: gnet-estimator
693    type: struct
694    members:
695      -
696        name: interval
697        type: s8
698        doc: Sampling period
699      -
700        name: ewma-log
701        type: u8
702        doc: The log() of measurement window weight
703  -
704    name: tc-choke-xstats
705    type: struct
706    members:
707      -
708        name: early
709        type: u32
710        doc: Early drops
711      -
712        name: pdrop
713        type: u32
714        doc: Drops due to queue limits
715      -
716        name: other
717        type: u32
718        doc: Drops due to drop() calls
719      -
720        name: marked
721        type: u32
722        doc: Marked packets
723      -
724        name: matched
725        type: u32
726        doc: Drops due to flow match
727  -
728    name: tc-codel-xstats
729    type: struct
730    members:
731      -
732        name: maxpacket
733        type: u32
734        doc: Largest packet we've seen so far
735      -
736        name: count
737        type: u32
738        doc: How many drops we've done since the last time we entered dropping state
739      -
740        name: lastcount
741        type: u32
742        doc: Count at entry to dropping state
743      -
744        name: ldelay
745        type: u32
746        doc: in-queue delay seen by most recently dequeued packet
747      -
748        name: drop-next
749        type: s32
750        doc: Time to drop next packet
751      -
752        name: drop-overlimit
753        type: u32
754        doc: Number of times max qdisc packet limit was hit
755      -
756        name: ecn-mark
757        type: u32
758        doc: Number of packets we've ECN marked instead of dropped
759      -
760        name: dropping
761        type: u32
762        doc: Are we in a dropping state?
763      -
764        name: ce-mark
765        type: u32
766        doc: Number of CE marked packets because of ce-threshold
767  -
768    name: tc-fq-codel-xstats
769    type: struct
770    members:
771      -
772        name: type
773        type: u32
774      -
775        name: maxpacket
776        type: u32
777        doc: Largest packet we've seen so far
778      -
779        name: drop-overlimit
780        type: u32
781        doc: Number of times max qdisc packet limit was hit
782      -
783        name: ecn-mark
784        type: u32
785        doc: Number of packets we ECN marked instead of being dropped
786      -
787        name: new-flow-count
788        type: u32
789        doc: Number of times packets created a new flow
790      -
791        name: new-flows-len
792        type: u32
793        doc: Count of flows in new list
794      -
795        name: old-flows-len
796        type: u32
797        doc: Count of flows in old list
798      -
799        name: ce-mark
800        type: u32
801        doc: Packets above ce-threshold
802      -
803        name: memory-usage
804        type: u32
805        doc: Memory usage in bytes
806      -
807        name: drop-overmemory
808        type: u32
809  -
810    name: tc-fq-pie-xstats
811    type: struct
812    members:
813      -
814        name: packets-in
815        type: u32
816        doc: Total number of packets enqueued
817      -
818        name: dropped
819        type: u32
820        doc: Packets dropped due to fq_pie_action
821      -
822        name: overlimit
823        type: u32
824        doc: Dropped due to lack of space in queue
825      -
826        name: overmemory
827        type: u32
828        doc: Dropped due to lack of memory in queue
829      -
830        name: ecn-mark
831        type: u32
832        doc: Packets marked with ecn
833      -
834        name: new-flow-count
835        type: u32
836        doc: Count of new flows created by packets
837      -
838        name: new-flows-len
839        type: u32
840        doc: Count of flows in new list
841      -
842        name: old-flows-len
843        type: u32
844        doc: Count of flows in old list
845      -
846        name: memory-usage
847        type: u32
848        doc: Total memory across all queues
849  -
850    name: tc-fq-qd-stats
851    type: struct
852    members:
853      -
854        name: gc-flows
855        type: u64
856      -
857        name: highprio-packets
858        type: u64
859        doc: obsolete
860      -
861        name: tcp-retrans
862        type: u64
863        doc: obsolete
864      -
865        name: throttled
866        type: u64
867      -
868        name: flows-plimit
869        type: u64
870      -
871        name: pkts-too-long
872        type: u64
873      -
874        name: allocation-errors
875        type: u64
876      -
877        name: time-next-delayed-flow
878        type: s64
879      -
880        name: flows
881        type: u32
882      -
883        name: inactive-flows
884        type: u32
885      -
886        name: throttled-flows
887        type: u32
888      -
889        name: unthrottle-latency-ns
890        type: u32
891      -
892        name: ce-mark
893        type: u64
894        doc: Packets above ce-threshold
895      -
896        name: horizon-drops
897        type: u64
898      -
899        name: horizon-caps
900        type: u64
901      -
902        name: fastpath-packets
903        type: u64
904      -
905        name: band-drops
906        type: binary
907        len: 24
908      -
909        name: band-pkt-count
910        type: binary
911        len: 12
912      -
913        name: pad
914        type: pad
915        len: 4
916  -
917    name: tc-hhf-xstats
918    type: struct
919    members:
920      -
921        name: drop-overlimit
922        type: u32
923        doc: Number of times max qdisc packet limit was hit
924      -
925        name: hh-overlimit
926        type: u32
927        doc: Number of times max heavy-hitters was hit
928      -
929        name: hh-tot-count
930        type: u32
931        doc: Number of captured heavy-hitters so far
932      -
933        name: hh-cur-count
934        type: u32
935        doc: Number of current heavy-hitters
936  -
937    name: tc-pie-xstats
938    type: struct
939    members:
940      -
941        name: prob
942        type: u64
943        doc: Current probability
944      -
945        name: delay
946        type: u32
947        doc: Current delay in ms
948      -
949        name: avg-dq-rate
950        type: u32
951        doc: Current average dq rate in bits/pie-time
952      -
953        name: dq-rate-estimating
954        type: u32
955        doc: Is avg-dq-rate being calculated?
956      -
957        name: packets-in
958        type: u32
959        doc: Total number of packets enqueued
960      -
961        name: dropped
962        type: u32
963        doc: Packets dropped due to pie action
964      -
965        name: overlimit
966        type: u32
967        doc: Dropped due to lack of space in queue
968      -
969        name: maxq
970        type: u32
971        doc: Maximum queue size
972      -
973        name: ecn-mark
974        type: u32
975        doc: Packets marked with ecn
976  -
977    name: tc-red-xstats
978    type: struct
979    members:
980      -
981        name: early
982        type: u32
983        doc: Early drops
984      -
985        name: pdrop
986        type: u32
987        doc: Drops due to queue limits
988      -
989        name: other
990        type: u32
991        doc: Drops due to drop() calls
992      -
993        name: marked
994        type: u32
995        doc: Marked packets
996  -
997    name: tc-sfb-xstats
998    type: struct
999    members:
1000      -
1001        name: earlydrop
1002        type: u32
1003      -
1004        name: penaltydrop
1005        type: u32
1006      -
1007        name: bucketdrop
1008        type: u32
1009      -
1010        name: queuedrop
1011        type: u32
1012      -
1013        name: childdrop
1014        type: u32
1015        doc: drops in child qdisc
1016      -
1017        name: marked
1018        type: u32
1019      -
1020        name: maxqlen
1021        type: u32
1022      -
1023        name: maxprob
1024        type: u32
1025      -
1026        name: avgprob
1027        type: u32
1028  -
1029    name: tc-sfq-xstats
1030    type: struct
1031    members:
1032      -
1033        name: allot
1034        type: s32
1035  -
1036    name: gnet-stats-basic
1037    type: struct
1038    members:
1039      -
1040        name: bytes
1041        type: u64
1042      -
1043        name: packets
1044        type: u32
1045  -
1046    name: gnet-stats-rate-est
1047    type: struct
1048    members:
1049      -
1050        name: bps
1051        type: u32
1052      -
1053        name: pps
1054        type: u32
1055  -
1056    name: gnet-stats-rate-est64
1057    type: struct
1058    members:
1059      -
1060        name: bps
1061        type: u64
1062      -
1063        name: pps
1064        type: u64
1065  -
1066    name: gnet-stats-queue
1067    type: struct
1068    members:
1069      -
1070        name: qlen
1071        type: u32
1072      -
1073        name: backlog
1074        type: u32
1075      -
1076        name: drops
1077        type: u32
1078      -
1079        name: requeues
1080        type: u32
1081      -
1082        name: overlimits
1083        type: u32
1084  -
1085    name: tc-u32-key
1086    type: struct
1087    members:
1088      -
1089        name: mask
1090        type: u32
1091        byte-order: big-endian
1092      -
1093        name: val
1094        type: u32
1095        byte-order: big-endian
1096      -
1097        name: "off"
1098        type: s32
1099      -
1100        name: offmask
1101        type: s32
1102  -
1103    name: tc-u32-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
1355attribute-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
3565sub-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
3790operations:
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
3944mcast-groups:
3945  list:
3946    -
3947      name: rtnlgrp-tc
3948      value: 4
3949