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