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