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