xref: /linux/Documentation/netlink/specs/tc.yaml (revision bdce82e960d1205d118662f575cec39379984e34)
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  -
3380    name: tc-taprio-sched-entry
3381    attributes:
3382      -
3383        name: index
3384        type: u32
3385      -
3386        name: cmd
3387        type: u8
3388      -
3389        name: gate-mask
3390        type: u32
3391      -
3392        name: interval
3393        type: u32
3394  -
3395    name: tc-taprio-tc-entry-attrs
3396    attributes:
3397      -
3398        name: index
3399        type: u32
3400      -
3401        name: max-sdu
3402        type: u32
3403      -
3404        name: fp
3405        type: u32
3406  -
3407    name: tc-tbf-attrs
3408    attributes:
3409      -
3410        name: parms
3411        type: binary
3412        struct: tc-tbf-qopt
3413      -
3414        name: rtab
3415        type: binary
3416      -
3417        name: ptab
3418        type: binary
3419      -
3420        name: rate64
3421        type: u64
3422      -
3423        name: prate4
3424        type: u64
3425      -
3426        name: burst
3427        type: u32
3428      -
3429        name: pburst
3430        type: u32
3431      -
3432        name: pad
3433        type: pad
3434  -
3435    name: tc-act-sample-attrs
3436    attributes:
3437      -
3438        name: tm
3439        type: binary
3440        struct: tcf-t
3441      -
3442        name: parms
3443        type: binary
3444        struct: tc-gen
3445      -
3446        name: rate
3447        type: u32
3448      -
3449        name: trunc-size
3450        type: u32
3451      -
3452        name: psample-group
3453        type: u32
3454      -
3455        name: pad
3456        type: pad
3457  -
3458    name: tc-act-gact-attrs
3459    attributes:
3460      -
3461        name: tm
3462        type: binary
3463        struct: tcf-t
3464      -
3465        name: parms
3466        type: binary
3467        struct: tc-gen
3468      -
3469        name: prob
3470        type: binary
3471        struct: tc-gact-p
3472      -
3473        name: pad
3474        type: pad
3475  -
3476    name: tca-stab-attrs
3477    attributes:
3478      -
3479        name: base
3480        type: binary
3481        struct: tc-sizespec
3482      -
3483        name: data
3484        type: binary
3485  -
3486    name: tca-stats-attrs
3487    attributes:
3488      -
3489        name: basic
3490        type: binary
3491        struct: gnet-stats-basic
3492      -
3493        name: rate-est
3494        type: binary
3495        struct: gnet-stats-rate-est
3496      -
3497        name: queue
3498        type: binary
3499        struct: gnet-stats-queue
3500      -
3501        name: app
3502        type: sub-message
3503        sub-message: tca-stats-app-msg
3504        selector: kind
3505      -
3506        name: rate-est64
3507        type: binary
3508        struct: gnet-stats-rate-est64
3509      -
3510        name: pad
3511        type: pad
3512      -
3513        name: basic-hw
3514        type: binary
3515        struct: gnet-stats-basic
3516      -
3517        name: pkt64
3518        type: u64
3519  -
3520    name: tc-u32-attrs
3521    attributes:
3522      -
3523        name: classid
3524        type: u32
3525      -
3526        name: hash
3527        type: u32
3528      -
3529        name: link
3530        type: u32
3531      -
3532        name: divisor
3533        type: u32
3534      -
3535        name: sel
3536        type: binary
3537        struct: tc-u32-sel
3538      -
3539        name: police
3540        type: nest
3541        nested-attributes: tc-police-attrs
3542      -
3543        name: act
3544        type: array-nest
3545        nested-attributes: tc-act-attrs
3546      -
3547        name: indev
3548        type: string
3549      -
3550        name: pcnt
3551        type: binary
3552        struct: tc-u32-pcnt
3553      -
3554        name: mark
3555        type: binary
3556        struct: tc-u32-mark
3557      -
3558        name: flags
3559        type: u32
3560      -
3561        name: pad
3562        type: pad
3563
3564sub-messages:
3565  -
3566    name: tc-options-msg
3567    formats:
3568      -
3569        value: basic
3570        attribute-set: tc-basic-attrs
3571      -
3572        value: bpf
3573        attribute-set: tc-bpf-attrs
3574      -
3575        value: bfifo
3576        fixed-header: tc-fifo-qopt
3577      -
3578        value: cake
3579        attribute-set: tc-cake-attrs
3580      -
3581        value: cbs
3582        attribute-set: tc-cbs-attrs
3583      -
3584        value: cgroup
3585        attribute-set: tc-cgroup-attrs
3586      -
3587        value: choke
3588        attribute-set: tc-choke-attrs
3589      -
3590        value: clsact # no content
3591      -
3592        value: codel
3593        attribute-set: tc-codel-attrs
3594      -
3595        value: drr
3596        attribute-set: tc-drr-attrs
3597      -
3598        value: etf
3599        attribute-set: tc-etf-attrs
3600      -
3601        value: ets
3602        attribute-set: tc-ets-attrs
3603      -
3604        value: flow
3605        attribute-set: tc-flow-attrs
3606      -
3607        value: flower
3608        attribute-set: tc-flower-attrs
3609      -
3610        value: fq
3611        attribute-set: tc-fq-attrs
3612      -
3613        value: fq_codel
3614        attribute-set: tc-fq-codel-attrs
3615      -
3616        value: fq_pie
3617        attribute-set: tc-fq-pie-attrs
3618      -
3619        value: fw
3620        attribute-set: tc-fw-attrs
3621      -
3622        value: gred
3623        attribute-set: tc-gred-attrs
3624      -
3625        value: hfsc
3626        fixed-header: tc-hfsc-qopt
3627      -
3628        value: hhf
3629        attribute-set: tc-hhf-attrs
3630      -
3631        value: htb
3632        attribute-set: tc-htb-attrs
3633      -
3634        value: ingress # no content
3635      -
3636        value: matchall
3637        attribute-set: tc-matchall-attrs
3638      -
3639        value: mq # no content
3640      -
3641        value: mqprio
3642        fixed-header: tc-mqprio-qopt
3643      -
3644        value: multiq
3645        fixed-header: tc-multiq-qopt
3646      -
3647        value: netem
3648        fixed-header: tc-netem-qopt
3649        attribute-set: tc-netem-attrs
3650      -
3651        value: pfifo
3652        fixed-header: tc-fifo-qopt
3653      -
3654        value: pfifo_fast
3655        fixed-header: tc-prio-qopt
3656      -
3657        value: pfifo_head_drop
3658        fixed-header: tc-fifo-qopt
3659      -
3660        value: pie
3661        attribute-set: tc-pie-attrs
3662      -
3663        value: plug
3664        fixed-header: tc-plug-qopt
3665      -
3666        value: prio
3667        fixed-header: tc-prio-qopt
3668      -
3669        value: qfq
3670        attribute-set: tc-qfq-attrs
3671      -
3672        value: red
3673        attribute-set: tc-red-attrs
3674      -
3675        value: route
3676        attribute-set: tc-route-attrs
3677      -
3678        value: sfb
3679        fixed-header: tc-sfb-qopt
3680      -
3681        value: sfq
3682        fixed-header: tc-sfq-qopt-v1
3683      -
3684        value: taprio
3685        attribute-set: tc-taprio-attrs
3686      -
3687        value: tbf
3688        attribute-set: tc-tbf-attrs
3689      -
3690        value: u32
3691        attribute-set: tc-u32-attrs
3692  -
3693    name: tc-act-options-msg
3694    formats:
3695      -
3696        value: bpf
3697        attribute-set: tc-act-bpf-attrs
3698      -
3699        value: connmark
3700        attribute-set: tc-act-connmark-attrs
3701      -
3702        value: csum
3703        attribute-set: tc-act-csum-attrs
3704      -
3705        value: ct
3706        attribute-set: tc-act-ct-attrs
3707      -
3708        value: ctinfo
3709        attribute-set: tc-act-ctinfo-attrs
3710      -
3711        value: gact
3712        attribute-set: tc-act-gact-attrs
3713      -
3714        value: gate
3715        attribute-set: tc-act-gate-attrs
3716      -
3717        value: ife
3718        attribute-set: tc-act-ife-attrs
3719      -
3720        value: mirred
3721        attribute-set: tc-act-mirred-attrs
3722      -
3723        value: mpls
3724        attribute-set: tc-act-mpls-attrs
3725      -
3726        value: nat
3727        attribute-set: tc-act-nat-attrs
3728      -
3729        value: pedit
3730        attribute-set: tc-act-pedit-attrs
3731      -
3732        value: police
3733        attribute-set: tc-act-police-attrs
3734      -
3735        value: sample
3736        attribute-set: tc-act-sample-attrs
3737      -
3738        value: simple
3739        attribute-set: tc-act-simple-attrs
3740      -
3741        value: skbedit
3742        attribute-set: tc-act-skbedit-attrs
3743      -
3744        value: skbmod
3745        attribute-set: tc-act-skbmod-attrs
3746      -
3747        value: tunnel_key
3748        attribute-set: tc-act-tunnel-key-attrs
3749      -
3750        value: vlan
3751        attribute-set: tc-act-vlan-attrs
3752  -
3753    name: tca-stats-app-msg
3754    formats:
3755      -
3756        value: cake
3757        attribute-set: tc-cake-stats-attrs
3758      -
3759        value: choke
3760        fixed-header: tc-choke-xstats
3761      -
3762        value: codel
3763        fixed-header: tc-codel-xstats
3764      -
3765        value: fq
3766        fixed-header: tc-fq-qd-stats
3767      -
3768        value: fq_codel
3769        fixed-header: tc-fq-codel-xstats
3770      -
3771        value: fq_pie
3772        fixed-header: tc-fq-pie-xstats
3773      -
3774        value: hhf
3775        fixed-header: tc-hhf-xstats
3776      -
3777        value: pie
3778        fixed-header: tc-pie-xstats
3779      -
3780        value: red
3781        fixed-header: tc-red-xstats
3782      -
3783        value: sfb
3784        fixed-header: tc-sfb-xstats
3785      -
3786        value: sfq
3787        fixed-header: tc-sfq-xstats
3788
3789operations:
3790  enum-model: directional
3791  list:
3792    -
3793      name: newqdisc
3794      doc: Create new tc qdisc.
3795      attribute-set: tc-attrs
3796      fixed-header: tcmsg
3797      do:
3798        request:
3799          value: 36
3800          attributes: &create-params
3801            - kind
3802            - options
3803            - rate
3804            - chain
3805            - ingress-block
3806            - egress-block
3807    -
3808      name: delqdisc
3809      doc: Delete existing tc qdisc.
3810      attribute-set: tc-attrs
3811      fixed-header: tcmsg
3812      do:
3813        request:
3814          value: 37
3815    -
3816      name: getqdisc
3817      doc: Get / dump tc qdisc information.
3818      attribute-set: tc-attrs
3819      fixed-header: tcmsg
3820      do:
3821        request:
3822          value: 38
3823          attributes:
3824            - dump-invisible
3825        reply:
3826          value: 36
3827          attributes: &tc-all
3828            - kind
3829            - options
3830            - stats
3831            - xstats
3832            - rate
3833            - fcnt
3834            - stats2
3835            - stab
3836            - chain
3837            - ingress-block
3838            - egress-block
3839    -
3840      name: newtclass
3841      doc: Get / dump tc traffic class information.
3842      attribute-set: tc-attrs
3843      fixed-header: tcmsg
3844      do:
3845        request:
3846          value: 40
3847          attributes: *create-params
3848    -
3849      name: deltclass
3850      doc: Get / dump tc traffic class information.
3851      attribute-set: tc-attrs
3852      fixed-header: tcmsg
3853      do:
3854        request:
3855          value: 41
3856    -
3857      name: gettclass
3858      doc: Get / dump tc traffic class information.
3859      attribute-set: tc-attrs
3860      fixed-header: tcmsg
3861      do:
3862        request:
3863          value: 42
3864        reply:
3865          value: 40
3866          attributes: *tc-all
3867    -
3868      name: newtfilter
3869      doc: Get / dump tc filter information.
3870      attribute-set: tc-attrs
3871      fixed-header: tcmsg
3872      do:
3873        request:
3874          value: 44
3875          attributes: *create-params
3876    -
3877      name: deltfilter
3878      doc: Get / dump tc filter information.
3879      attribute-set: tc-attrs
3880      fixed-header: tcmsg
3881      do:
3882        request:
3883          value: 45
3884          attributes:
3885            - chain
3886            - kind
3887    -
3888      name: gettfilter
3889      doc: Get / dump tc filter information.
3890      attribute-set: tc-attrs
3891      fixed-header: tcmsg
3892      do:
3893        request:
3894          value: 46
3895          attributes:
3896            - chain
3897            - kind
3898        reply:
3899          value: 44
3900          attributes: *tc-all
3901      dump:
3902        request:
3903          value: 46
3904          attributes:
3905            - chain
3906            - dump-flags
3907        reply:
3908          value: 44
3909          attributes: *tc-all
3910    -
3911      name: newchain
3912      doc: Get / dump tc chain information.
3913      attribute-set: tc-attrs
3914      fixed-header: tcmsg
3915      do:
3916        request:
3917          value: 100
3918          attributes: *create-params
3919    -
3920      name: delchain
3921      doc: Get / dump tc chain information.
3922      attribute-set: tc-attrs
3923      fixed-header: tcmsg
3924      do:
3925        request:
3926          value: 101
3927          attributes:
3928            - chain
3929    -
3930      name: getchain
3931      doc: Get / dump tc chain information.
3932      attribute-set: tc-attrs
3933      fixed-header: tcmsg
3934      do:
3935        request:
3936          value: 102
3937          attributes:
3938            - chain
3939        reply:
3940          value: 100
3941          attributes: *tc-all
3942
3943mcast-groups:
3944  list:
3945    -
3946      name: rtnlgrp-tc
3947      value: 4
3948