printf: Remove unused 'bprintf'
[drm/drm-misc.git] / Documentation / netlink / specs / ethtool.yaml
blob93369f0eb81628c4cd1f493739ab4c18d008178d
1 # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
3 name: ethtool
5 protocol: genetlink-legacy
7 doc: Partial family for Ethtool Netlink.
9 definitions:
10   -
11     name: udp-tunnel-type
12     enum-name:
13     type: enum
14     entries: [ vxlan, geneve, vxlan-gpe ]
15   -
16     name: stringset
17     type: enum
18     entries: []
19   -
20     name: header-flags
21     type: flags
22     entries: [ compact-bitsets, omit-reply, stats ]
23   -
24     name: module-fw-flash-status
25     type: enum
26     entries: [ started, in_progress, completed, error ]
27   -
28     name: c33-pse-ext-state
29     enum-name:
30     type: enum
31     name-prefix: ethtool-c33-pse-ext-state-
32     entries:
33         - none
34         - error-condition
35         - mr-mps-valid
36         - mr-pse-enable
37         - option-detect-ted
38         - option-vport-lim
39         - ovld-detected
40         - power-not-available
41         - short-detected
42   -
43     name: phy-upstream-type
44     enum-name:
45     type: enum
46     entries: [ mac, phy ]
48 attribute-sets:
49   -
50     name: header
51     attributes:
52       -
53         name: dev-index
54         type: u32
55       -
56         name: dev-name
57         type: string
58       -
59         name: flags
60         type: u32
61         enum: header-flags
62       -
63         name: phy-index
64         type: u32
66   -
67     name: bitset-bit
68     attributes:
69       -
70         name: index
71         type: u32
72       -
73         name: name
74         type: string
75       -
76         name: value
77         type: flag
78   -
79     name: bitset-bits
80     attributes:
81       -
82         name: bit
83         type: nest
84         multi-attr: true
85         nested-attributes: bitset-bit
86   -
87     name: bitset
88     attributes:
89       -
90         name: nomask
91         type: flag
92       -
93         name: size
94         type: u32
95       -
96         name: bits
97         type: nest
98         nested-attributes: bitset-bits
99       -
100         name: value
101         type: binary
102       -
103         name: mask
104         type: binary
105   -
106     name: string
107     attributes:
108       -
109         name: index
110         type: u32
111       -
112         name: value
113         type: string
114   -
115     name: strings
116     attributes:
117       -
118         name: string
119         type: nest
120         multi-attr: true
121         nested-attributes: string
122   -
123     name: stringset
124     attributes:
125       -
126         name: id
127         type: u32
128       -
129         name: count
130         type: u32
131       -
132         name: strings
133         type: nest
134         multi-attr: true
135         nested-attributes: strings
136   -
137     name: stringsets
138     attributes:
139       -
140         name: stringset
141         type: nest
142         multi-attr: true
143         nested-attributes: stringset
144   -
145     name: strset
146     attributes:
147       -
148         name: header
149         type: nest
150         nested-attributes: header
151       -
152         name: stringsets
153         type: nest
154         nested-attributes: stringsets
155       -
156         name: counts-only
157         type: flag
159   -
160     name: privflags
161     attributes:
162       -
163         name: header
164         type: nest
165         nested-attributes: header
166       -
167         name: flags
168         type: nest
169         nested-attributes: bitset
171   -
172     name: rings
173     attributes:
174       -
175         name: header
176         type: nest
177         nested-attributes: header
178       -
179         name: rx-max
180         type: u32
181       -
182         name: rx-mini-max
183         type: u32
184       -
185         name: rx-jumbo-max
186         type: u32
187       -
188         name: tx-max
189         type: u32
190       -
191         name: rx
192         type: u32
193       -
194         name: rx-mini
195         type: u32
196       -
197         name: rx-jumbo
198         type: u32
199       -
200         name: tx
201         type: u32
202       -
203         name: rx-buf-len
204         type: u32
205       -
206         name: tcp-data-split
207         type: u8
208       -
209         name: cqe-size
210         type: u32
211       -
212         name: tx-push
213         type: u8
214       -
215         name: rx-push
216         type: u8
217       -
218         name: tx-push-buf-len
219         type: u32
220       -
221         name: tx-push-buf-len-max
222         type: u32
224   -
225     name: mm-stat
226     attributes:
227       -
228         name: pad
229         type: pad
230       -
231         name: reassembly-errors
232         type: u64
233       -
234         name: smd-errors
235         type: u64
236       -
237         name: reassembly-ok
238         type: u64
239       -
240         name: rx-frag-count
241         type: u64
242       -
243         name: tx-frag-count
244         type: u64
245       -
246         name: hold-count
247         type: u64
248   -
249     name: mm
250     attributes:
251       -
252         name: header
253         type: nest
254         nested-attributes: header
255       -
256         name: pmac-enabled
257         type: u8
258       -
259         name: tx-enabled
260         type: u8
261       -
262         name: tx-active
263         type: u8
264       -
265         name: tx-min-frag-size
266         type: u32
267       -
268         name: rx-min-frag-size
269         type: u32
270       -
271         name: verify-enabled
272         type: u8
273       -
274         name: verify-status
275         type: u8
276       -
277         name: verify-time
278         type: u32
279       -
280         name: max-verify-time
281         type: u32
282       -
283         name: stats
284         type: nest
285         nested-attributes: mm-stat
286   -
287     name: linkinfo
288     attributes:
289       -
290         name: header
291         type: nest
292         nested-attributes: header
293       -
294         name: port
295         type: u8
296       -
297         name: phyaddr
298         type: u8
299       -
300         name: tp-mdix
301         type: u8
302       -
303         name: tp-mdix-ctrl
304         type: u8
305       -
306         name: transceiver
307         type: u8
308   -
309     name: linkmodes
310     attributes:
311       -
312         name: header
313         type: nest
314         nested-attributes: header
315       -
316         name: autoneg
317         type: u8
318       -
319         name: ours
320         type: nest
321         nested-attributes: bitset
322       -
323         name: peer
324         type: nest
325         nested-attributes: bitset
326       -
327         name: speed
328         type: u32
329       -
330         name: duplex
331         type: u8
332       -
333         name: master-slave-cfg
334         type: u8
335       -
336         name: master-slave-state
337         type: u8
338       -
339         name: lanes
340         type: u32
341       -
342         name: rate-matching
343         type: u8
344   -
345     name: linkstate
346     attributes:
347       -
348         name: header
349         type: nest
350         nested-attributes: header
351       -
352         name: link
353         type: u8
354       -
355         name: sqi
356         type: u32
357       -
358         name: sqi-max
359         type: u32
360       -
361         name: ext-state
362         type: u8
363       -
364         name: ext-substate
365         type: u8
366       -
367         name: ext-down-cnt
368         type: u32
369   -
370     name: debug
371     attributes:
372       -
373         name: header
374         type: nest
375         nested-attributes: header
376       -
377         name: msgmask
378         type: nest
379         nested-attributes: bitset
380   -
381     name: wol
382     attributes:
383       -
384         name: header
385         type: nest
386         nested-attributes: header
387       -
388         name: modes
389         type: nest
390         nested-attributes: bitset
391       -
392         name: sopass
393         type: binary
394   -
395     name: features
396     attributes:
397       -
398         name: header
399         type: nest
400         nested-attributes: header
401       -
402         name: hw
403         type: nest
404         nested-attributes: bitset
405       -
406         name: wanted
407         type: nest
408         nested-attributes: bitset
409       -
410         name: active
411         type: nest
412         nested-attributes: bitset
413       -
414         name: nochange
415         type: nest
416         nested-attributes: bitset
417   -
418     name: channels
419     attributes:
420       -
421         name: header
422         type: nest
423         nested-attributes: header
424       -
425         name: rx-max
426         type: u32
427       -
428         name: tx-max
429         type: u32
430       -
431         name: other-max
432         type: u32
433       -
434         name: combined-max
435         type: u32
436       -
437         name: rx-count
438         type: u32
439       -
440         name: tx-count
441         type: u32
442       -
443         name: other-count
444         type: u32
445       -
446         name: combined-count
447         type: u32
449   -
450     name: irq-moderation
451     attributes:
452       -
453         name: usec
454         type: u32
455       -
456         name: pkts
457         type: u32
458       -
459         name: comps
460         type: u32
461   -
462     name: profile
463     attributes:
464       -
465         name: irq-moderation
466         type: nest
467         multi-attr: true
468         nested-attributes: irq-moderation
469   -
470     name: coalesce
471     attributes:
472       -
473         name: header
474         type: nest
475         nested-attributes: header
476       -
477         name: rx-usecs
478         type: u32
479       -
480         name: rx-max-frames
481         type: u32
482       -
483         name: rx-usecs-irq
484         type: u32
485       -
486         name: rx-max-frames-irq
487         type: u32
488       -
489         name: tx-usecs
490         type: u32
491       -
492         name: tx-max-frames
493         type: u32
494       -
495         name: tx-usecs-irq
496         type: u32
497       -
498         name: tx-max-frames-irq
499         type: u32
500       -
501         name: stats-block-usecs
502         type: u32
503       -
504         name: use-adaptive-rx
505         type: u8
506       -
507         name: use-adaptive-tx
508         type: u8
509       -
510         name: pkt-rate-low
511         type: u32
512       -
513         name: rx-usecs-low
514         type: u32
515       -
516         name: rx-max-frames-low
517         type: u32
518       -
519         name: tx-usecs-low
520         type: u32
521       -
522         name: tx-max-frames-low
523         type: u32
524       -
525         name: pkt-rate-high
526         type: u32
527       -
528         name: rx-usecs-high
529         type: u32
530       -
531         name: rx-max-frames-high
532         type: u32
533       -
534         name: tx-usecs-high
535         type: u32
536       -
537         name: tx-max-frames-high
538         type: u32
539       -
540         name: rate-sample-interval
541         type: u32
542       -
543         name: use-cqe-mode-tx
544         type: u8
545       -
546         name: use-cqe-mode-rx
547         type: u8
548       -
549         name: tx-aggr-max-bytes
550         type: u32
551       -
552         name: tx-aggr-max-frames
553         type: u32
554       -
555         name: tx-aggr-time-usecs
556         type: u32
557       -
558         name: rx-profile
559         type: nest
560         nested-attributes: profile
561       -
562         name: tx-profile
563         type: nest
564         nested-attributes: profile
566   -
567     name: pause-stat
568     attributes:
569       -
570         name: pad
571         type: pad
572       -
573         name: tx-frames
574         type: u64
575       -
576         name: rx-frames
577         type: u64
578   -
579     name: pause
580     attributes:
581       -
582         name: header
583         type: nest
584         nested-attributes: header
585       -
586         name: autoneg
587         type: u8
588       -
589         name: rx
590         type: u8
591       -
592         name: tx
593         type: u8
594       -
595         name: stats
596         type: nest
597         nested-attributes: pause-stat
598       -
599         name: stats-src
600         type: u32
601   -
602     name: eee
603     attributes:
604       -
605         name: header
606         type: nest
607         nested-attributes: header
608       -
609         name: modes-ours
610         type: nest
611         nested-attributes: bitset
612       -
613         name: modes-peer
614         type: nest
615         nested-attributes: bitset
616       -
617         name: active
618         type: u8
619       -
620         name: enabled
621         type: u8
622       -
623         name: tx-lpi-enabled
624         type: u8
625       -
626         name: tx-lpi-timer
627         type: u32
628   -
629     name: ts-stat
630     attributes:
631       -
632         name: tx-pkts
633         type: uint
634       -
635         name: tx-lost
636         type: uint
637       -
638         name: tx-err
639         type: uint
640   -
641     name: tsinfo
642     attributes:
643       -
644         name: header
645         type: nest
646         nested-attributes: header
647       -
648         name: timestamping
649         type: nest
650         nested-attributes: bitset
651       -
652         name: tx-types
653         type: nest
654         nested-attributes: bitset
655       -
656         name: rx-filters
657         type: nest
658         nested-attributes: bitset
659       -
660         name: phc-index
661         type: u32
662       -
663         name: stats
664         type: nest
665         nested-attributes: ts-stat
666   -
667     name: cable-result
668     attributes:
669       -
670         name: pair
671         type: u8
672       -
673         name: code
674         type: u8
675       -
676         name: src
677         type: u32
678   -
679     name: cable-fault-length
680     attributes:
681       -
682         name: pair
683         type: u8
684       -
685         name: cm
686         type: u32
687       -
688         name: src
689         type: u32
690   -
691     name: cable-nest
692     attributes:
693       -
694         name: result
695         type: nest
696         nested-attributes: cable-result
697       -
698         name: fault-length
699         type: nest
700         nested-attributes: cable-fault-length
701   -
702     name: cable-test
703     attributes:
704       -
705         name: header
706         type: nest
707         nested-attributes: header
708   -
709     name: cable-test-ntf
710     attributes:
711       -
712         name: header
713         type: nest
714         nested-attributes: header
715       -
716         name: status
717         type: u8
718       -
719         name: nest
720         type: nest
721         nested-attributes: cable-nest
722   -
723     name: cable-test-tdr-cfg
724     attributes:
725       -
726         name: first
727         type: u32
728       -
729         name: last
730         type: u32
731       -
732         name: step
733         type: u32
734       -
735         name: pair
736         type: u8
737   -
738     name: cable-test-tdr-ntf
739     attributes:
740       -
741         name: header
742         type: nest
743         nested-attributes: header
744       -
745         name: status
746         type: u8
747       -
748         name: nest
749         type: nest
750         nested-attributes: cable-nest
751   -
752     name: cable-test-tdr
753     attributes:
754       -
755         name: header
756         type: nest
757         nested-attributes: header
758       -
759         name: cfg
760         type: nest
761         nested-attributes: cable-test-tdr-cfg
762   -
763     name: tunnel-udp-entry
764     attributes:
765       -
766         name: port
767         type: u16
768         byte-order: big-endian
769       -
770         name: type
771         type: u32
772         enum: udp-tunnel-type
773   -
774     name: tunnel-udp-table
775     attributes:
776       -
777         name: size
778         type: u32
779       -
780         name: types
781         type: nest
782         nested-attributes: bitset
783       -
784         name: entry
785         type: nest
786         multi-attr: true
787         nested-attributes: tunnel-udp-entry
788   -
789     name: tunnel-udp
790     attributes:
791       -
792         name: table
793         type: nest
794         nested-attributes: tunnel-udp-table
795   -
796     name: tunnel-info
797     attributes:
798       -
799         name: header
800         type: nest
801         nested-attributes: header
802       -
803         name: udp-ports
804         type: nest
805         nested-attributes: tunnel-udp
806   -
807     name: fec-stat
808     attributes:
809       -
810         name: pad
811         type: pad
812       -
813         name: corrected
814         type: binary
815         sub-type: u64
816       -
817         name: uncorr
818         type: binary
819         sub-type: u64
820       -
821         name: corr-bits
822         type: binary
823         sub-type: u64
824   -
825     name: fec
826     attributes:
827       -
828         name: header
829         type: nest
830         nested-attributes: header
831       -
832         name: modes
833         type: nest
834         nested-attributes: bitset
835       -
836         name: auto
837         type: u8
838       -
839         name: active
840         type: u32
841       -
842         name: stats
843         type: nest
844         nested-attributes: fec-stat
845   -
846     name: module-eeprom
847     attributes:
848       -
849         name: header
850         type: nest
851         nested-attributes: header
852       -
853         name: offset
854         type: u32
855       -
856         name: length
857         type: u32
858       -
859         name: page
860         type: u8
861       -
862         name: bank
863         type: u8
864       -
865         name: i2c-address
866         type: u8
867       -
868         name: data
869         type: binary
870   -
871     name: stats-grp
872     attributes:
873       -
874         name: pad
875         type: pad
876       -
877         name: id
878         type: u32
879       -
880         name: ss-id
881         type: u32
882       -
883         name: stat
884         type: u64
885         type-value: [ id ]
886       -
887         name: hist-rx
888         type: nest
889         nested-attributes: stats-grp-hist
890       -
891         name: hist-tx
892         type: nest
893         nested-attributes: stats-grp-hist
894       -
895         name: hist-bkt-low
896         type: u32
897       -
898         name: hist-bkt-hi
899         type: u32
900       -
901         name: hist-val
902         type: u64
903   -
904     name: stats-grp-hist
905     subset-of: stats-grp
906     attributes:
907       -
908         name: hist-bkt-low
909       -
910         name: hist-bkt-hi
911       -
912         name: hist-val
913   -
914     name: stats
915     attributes:
916       -
917         name: pad
918         type: pad
919       -
920         name: header
921         type: nest
922         nested-attributes: header
923       -
924         name: groups
925         type: nest
926         nested-attributes: bitset
927       -
928         name: grp
929         type: nest
930         nested-attributes: stats-grp
931       -
932         name: src
933         type: u32
934   -
935     name: phc-vclocks
936     attributes:
937       -
938         name: header
939         type: nest
940         nested-attributes: header
941       -
942         name: num
943         type: u32
944       -
945         name: index
946         type: binary
947         sub-type: s32
948   -
949     name: module
950     attributes:
951       -
952         name: header
953         type: nest
954         nested-attributes: header
955       -
956         name: power-mode-policy
957         type: u8
958       -
959         name: power-mode
960         type: u8
961   -
962     name: c33-pse-pw-limit
963     attributes:
964       -
965         name: min
966         type: u32
967       -
968         name: max
969         type: u32
970   -
971     name: pse
972     attributes:
973       -
974         name: header
975         type: nest
976         nested-attributes: header
977       -
978         name: podl-pse-admin-state
979         type: u32
980         name-prefix: ethtool-a-
981       -
982         name: podl-pse-admin-control
983         type: u32
984         name-prefix: ethtool-a-
985       -
986         name: podl-pse-pw-d-status
987         type: u32
988         name-prefix: ethtool-a-
989       -
990         name: c33-pse-admin-state
991         type: u32
992         name-prefix: ethtool-a-
993       -
994         name: c33-pse-admin-control
995         type: u32
996         name-prefix: ethtool-a-
997       -
998         name: c33-pse-pw-d-status
999         type: u32
1000         name-prefix: ethtool-a-
1001       -
1002         name: c33-pse-pw-class
1003         type: u32
1004         name-prefix: ethtool-a-
1005       -
1006         name: c33-pse-actual-pw
1007         type: u32
1008         name-prefix: ethtool-a-
1009       -
1010         name: c33-pse-ext-state
1011         type: u32
1012         name-prefix: ethtool-a-
1013         enum: c33-pse-ext-state
1014       -
1015         name: c33-pse-ext-substate
1016         type: u32
1017         name-prefix: ethtool-a-
1018       -
1019         name: c33-pse-avail-pw-limit
1020         type: u32
1021         name-prefix: ethtool-a-
1022       -
1023         name: c33-pse-pw-limit-ranges
1024         name-prefix: ethtool-a-
1025         type: nest
1026         multi-attr: true
1027         nested-attributes: c33-pse-pw-limit
1028   -
1029     name: rss
1030     attributes:
1031       -
1032         name: header
1033         type: nest
1034         nested-attributes: header
1035       -
1036         name: context
1037         type: u32
1038       -
1039         name: hfunc
1040         type: u32
1041       -
1042         name: indir
1043         type: binary
1044         sub-type: u32
1045       -
1046         name: hkey
1047         type: binary
1048       -
1049         name: input_xfrm
1050         type: u32
1051       -
1052         name: start-context
1053         type: u32
1054   -
1055     name: plca
1056     attributes:
1057       -
1058         name: header
1059         type: nest
1060         nested-attributes: header
1061       -
1062         name: version
1063         type: u16
1064       -
1065         name: enabled
1066         type: u8
1067       -
1068         name: status
1069         type: u8
1070       -
1071         name: node-cnt
1072         type: u32
1073       -
1074         name: node-id
1075         type: u32
1076       -
1077         name: to-tmr
1078         type: u32
1079       -
1080         name: burst-cnt
1081         type: u32
1082       -
1083         name: burst-tmr
1084         type: u32
1085   -
1086     name: module-fw-flash
1087     attributes:
1088       -
1089         name: header
1090         type: nest
1091         nested-attributes: header
1092       -
1093         name: file-name
1094         type: string
1095       -
1096         name: password
1097         type: u32
1098       -
1099         name: status
1100         type: u32
1101         enum: module-fw-flash-status
1102       -
1103         name: status-msg
1104         type: string
1105       -
1106         name: done
1107         type: uint
1108       -
1109         name: total
1110         type: uint
1111   -
1112     name: phy
1113     attributes:
1114       -
1115         name: header
1116         type: nest
1117         nested-attributes: header
1118       -
1119         name: index
1120         type: u32
1121       -
1122         name: drvname
1123         type: string
1124       -
1125         name: name
1126         type: string
1127       -
1128         name: upstream-type
1129         type: u32
1130         enum: phy-upstream-type
1131       -
1132         name: upstream-index
1133         type: u32
1134       -
1135         name: upstream-sfp-name
1136         type: string
1137       -
1138         name: downstream-sfp-name
1139         type: string
1141 operations:
1142   enum-model: directional
1143   name-prefix: ethtool-msg-
1144   list:
1145     -
1146       name: strset-get
1147       doc: Get string set from the kernel.
1149       attribute-set: strset
1151       do: &strset-get-op
1152         request:
1153           attributes:
1154             - header
1155             - stringsets
1156             - counts-only
1157         reply:
1158           attributes:
1159             - header
1160             - stringsets
1161       dump: *strset-get-op
1162     -
1163       name: linkinfo-get
1164       doc: Get link info.
1166       attribute-set: linkinfo
1168       do: &linkinfo-get-op
1169         request:
1170           attributes:
1171             - header
1172         reply:
1173           attributes: &linkinfo
1174             - header
1175             - port
1176             - phyaddr
1177             - tp-mdix
1178             - tp-mdix-ctrl
1179             - transceiver
1180       dump: *linkinfo-get-op
1181     -
1182       name: linkinfo-set
1183       doc: Set link info.
1185       attribute-set: linkinfo
1187       do:
1188         request:
1189           attributes: *linkinfo
1190     -
1191       name: linkinfo-ntf
1192       doc: Notification for change in link info.
1193       notify: linkinfo-get
1194     -
1195       name: linkmodes-get
1196       doc: Get link modes.
1198       attribute-set: linkmodes
1200       do: &linkmodes-get-op
1201         request:
1202           attributes:
1203             - header
1204         reply:
1205           attributes: &linkmodes
1206             - header
1207             - autoneg
1208             - ours
1209             - peer
1210             - speed
1211             - duplex
1212             - master-slave-cfg
1213             - master-slave-state
1214             - lanes
1215             - rate-matching
1216       dump: *linkmodes-get-op
1217     -
1218       name: linkmodes-set
1219       doc: Set link modes.
1221       attribute-set: linkmodes
1223       do:
1224         request:
1225           attributes: *linkmodes
1226     -
1227       name: linkmodes-ntf
1228       doc: Notification for change in link modes.
1229       notify: linkmodes-get
1230     -
1231       name: linkstate-get
1232       doc: Get link state.
1234       attribute-set: linkstate
1236       do: &linkstate-get-op
1237         request:
1238           attributes:
1239             - header
1240         reply:
1241           attributes:
1242             - header
1243             - link
1244             - sqi
1245             - sqi-max
1246             - ext-state
1247             - ext-substate
1248             - ext-down-cnt
1249       dump: *linkstate-get-op
1250     -
1251       name: debug-get
1252       doc: Get debug message mask.
1254       attribute-set: debug
1256       do: &debug-get-op
1257         request:
1258           attributes:
1259             - header
1260         reply:
1261           attributes: &debug
1262             - header
1263             - msgmask
1264       dump: *debug-get-op
1265     -
1266       name: debug-set
1267       doc: Set debug message mask.
1269       attribute-set: debug
1271       do:
1272         request:
1273           attributes: *debug
1274     -
1275       name: debug-ntf
1276       doc: Notification for change in debug message mask.
1277       notify: debug-get
1278     -
1279       name: wol-get
1280       doc: Get WOL params.
1282       attribute-set: wol
1284       do: &wol-get-op
1285         request:
1286           attributes:
1287             - header
1288         reply:
1289           attributes: &wol
1290             - header
1291             - modes
1292             - sopass
1293       dump: *wol-get-op
1294     -
1295       name: wol-set
1296       doc: Set WOL params.
1298       attribute-set: wol
1300       do:
1301         request:
1302           attributes: *wol
1303     -
1304       name: wol-ntf
1305       doc: Notification for change in WOL params.
1306       notify: wol-get
1307     -
1308       name: features-get
1309       doc: Get features.
1311       attribute-set: features
1313       do: &feature-get-op
1314         request:
1315           attributes:
1316             - header
1317         reply:
1318           attributes: &feature
1319             - header
1320             # User-changeable features.
1321             - hw
1322             # User-requested features.
1323             - wanted
1324             # Currently active features.
1325             - active
1326             # Unchangeable features.
1327             - nochange
1328       dump: *feature-get-op
1329     -
1330       name: features-set
1331       doc: Set features.
1333       attribute-set: features
1335       do: &feature-set-op
1336         request:
1337           attributes: *feature
1338         reply:
1339           attributes: *feature
1340     -
1341       name: features-ntf
1342       doc: Notification for change in features.
1343       notify: features-get
1344     -
1345       name: privflags-get
1346       doc: Get device private flags.
1348       attribute-set: privflags
1350       do: &privflag-get-op
1351         request:
1352           attributes:
1353             - header
1354         reply:
1355           attributes: &privflag
1356             - header
1357             - flags
1358       dump: *privflag-get-op
1359     -
1360       name: privflags-set
1361       doc: Set device private flags.
1363       attribute-set: privflags
1365       do:
1366         request:
1367           attributes: *privflag
1368     -
1369       name: privflags-ntf
1370       doc: Notification for change in device private flags.
1371       notify: privflags-get
1373     -
1374       name: rings-get
1375       doc: Get ring params.
1377       attribute-set: rings
1379       do: &ring-get-op
1380         request:
1381           attributes:
1382             - header
1383         reply:
1384           attributes: &ring
1385             - header
1386             - rx-max
1387             - rx-mini-max
1388             - rx-jumbo-max
1389             - tx-max
1390             - rx
1391             - rx-mini
1392             - rx-jumbo
1393             - tx
1394             - rx-buf-len
1395             - tcp-data-split
1396             - cqe-size
1397             - tx-push
1398             - rx-push
1399             - tx-push-buf-len
1400             - tx-push-buf-len-max
1401       dump: *ring-get-op
1402     -
1403       name: rings-set
1404       doc: Set ring params.
1406       attribute-set: rings
1408       do:
1409         request:
1410           attributes: *ring
1411     -
1412       name: rings-ntf
1413       doc: Notification for change in ring params.
1414       notify: rings-get
1415     -
1416       name: channels-get
1417       doc: Get channel params.
1419       attribute-set: channels
1421       do: &channel-get-op
1422         request:
1423           attributes:
1424             - header
1425         reply:
1426           attributes: &channel
1427             - header
1428             - rx-max
1429             - tx-max
1430             - other-max
1431             - combined-max
1432             - rx-count
1433             - tx-count
1434             - other-count
1435             - combined-count
1436       dump: *channel-get-op
1437     -
1438       name: channels-set
1439       doc: Set channel params.
1441       attribute-set: channels
1443       do:
1444         request:
1445           attributes: *channel
1446     -
1447       name: channels-ntf
1448       doc: Notification for change in channel params.
1449       notify: channels-get
1450     -
1451       name: coalesce-get
1452       doc: Get coalesce params.
1454       attribute-set: coalesce
1456       do: &coalesce-get-op
1457         request:
1458           attributes:
1459             - header
1460         reply:
1461           attributes: &coalesce
1462             - header
1463             - rx-usecs
1464             - rx-max-frames
1465             - rx-usecs-irq
1466             - rx-max-frames-irq
1467             - tx-usecs
1468             - tx-max-frames
1469             - tx-usecs-irq
1470             - tx-max-frames-irq
1471             - stats-block-usecs
1472             - use-adaptive-rx
1473             - use-adaptive-tx
1474             - pkt-rate-low
1475             - rx-usecs-low
1476             - rx-max-frames-low
1477             - tx-usecs-low
1478             - tx-max-frames-low
1479             - pkt-rate-high
1480             - rx-usecs-high
1481             - rx-max-frames-high
1482             - tx-usecs-high
1483             - tx-max-frames-high
1484             - rate-sample-interval
1485             - use-cqe-mode-tx
1486             - use-cqe-mode-rx
1487             - tx-aggr-max-bytes
1488             - tx-aggr-max-frames
1489             - tx-aggr-time-usecs
1490             - rx-profile
1491             - tx-profile
1492       dump: *coalesce-get-op
1493     -
1494       name: coalesce-set
1495       doc: Set coalesce params.
1497       attribute-set: coalesce
1499       do:
1500         request:
1501           attributes: *coalesce
1502     -
1503       name: coalesce-ntf
1504       doc: Notification for change in coalesce params.
1505       notify: coalesce-get
1506     -
1507       name: pause-get
1508       doc: Get pause params.
1510       attribute-set: pause
1512       do: &pause-get-op
1513         request:
1514           attributes:
1515             - header
1516         reply:
1517           attributes: &pause
1518             - header
1519             - autoneg
1520             - rx
1521             - tx
1522             - stats
1523             - stats-src
1524       dump: *pause-get-op
1525     -
1526       name: pause-set
1527       doc: Set pause params.
1529       attribute-set: pause
1531       do:
1532         request:
1533           attributes: *pause
1534     -
1535       name: pause-ntf
1536       doc: Notification for change in pause params.
1537       notify: pause-get
1538     -
1539       name: eee-get
1540       doc: Get eee params.
1542       attribute-set: eee
1544       do: &eee-get-op
1545         request:
1546           attributes:
1547             - header
1548         reply:
1549           attributes: &eee
1550             - header
1551             - modes-ours
1552             - modes-peer
1553             - active
1554             - enabled
1555             - tx-lpi-enabled
1556             - tx-lpi-timer
1557       dump: *eee-get-op
1558     -
1559       name: eee-set
1560       doc: Set eee params.
1562       attribute-set: eee
1564       do:
1565         request:
1566           attributes: *eee
1567     -
1568       name: eee-ntf
1569       doc: Notification for change in eee params.
1570       notify: eee-get
1571     -
1572       name: tsinfo-get
1573       doc: Get tsinfo params.
1575       attribute-set: tsinfo
1577       do: &tsinfo-get-op
1578         request:
1579           attributes:
1580             - header
1581         reply:
1582           attributes:
1583             - header
1584             - timestamping
1585             - tx-types
1586             - rx-filters
1587             - phc-index
1588             - stats
1589       dump: *tsinfo-get-op
1590     -
1591       name: cable-test-act
1592       doc: Cable test.
1594       attribute-set: cable-test
1596       do:
1597         request:
1598           attributes:
1599             - header
1600     -
1601       name: cable-test-ntf
1602       doc: Cable test notification.
1604       attribute-set: cable-test-ntf
1606       event:
1607         attributes:
1608           - header
1609           - status
1610     -
1611       name: cable-test-tdr-act
1612       doc: Cable test TDR.
1614       attribute-set: cable-test-tdr
1616       do:
1617         request:
1618           attributes:
1619             - header
1620     -
1621       name: cable-test-tdr-ntf
1622       doc: Cable test TDR notification.
1624       attribute-set: cable-test-tdr-ntf
1626       event:
1627         attributes:
1628           - header
1629           - status
1630           - nest
1631     -
1632       name: tunnel-info-get
1633       doc: Get tsinfo params.
1635       attribute-set: tunnel-info
1637       do: &tunnel-info-get-op
1638         request:
1639           attributes:
1640             - header
1641         reply:
1642           attributes:
1643             - header
1644             - udp-ports
1645       dump: *tunnel-info-get-op
1646     -
1647       name: fec-get
1648       doc: Get FEC params.
1650       attribute-set: fec
1652       do: &fec-get-op
1653         request:
1654           attributes:
1655             - header
1656         reply:
1657           attributes: &fec
1658             - header
1659             - modes
1660             - auto
1661             - active
1662             - stats
1663       dump: *fec-get-op
1664     -
1665       name: fec-set
1666       doc: Set FEC params.
1668       attribute-set: fec
1670       do:
1671         request:
1672           attributes: *fec
1673     -
1674       name: fec-ntf
1675       doc: Notification for change in FEC params.
1676       notify: fec-get
1677     -
1678       name: module-eeprom-get
1679       doc: Get module EEPROM params.
1681       attribute-set: module-eeprom
1683       do: &module-eeprom-get-op
1684         request:
1685           attributes:
1686             - header
1687         reply:
1688           attributes:
1689             - header
1690             - offset
1691             - length
1692             - page
1693             - bank
1694             - i2c-address
1695             - data
1696       dump: *module-eeprom-get-op
1697     -
1698       name: stats-get
1699       doc: Get statistics.
1701       attribute-set: stats
1703       do: &stats-get-op
1704         request:
1705           attributes:
1706             - header
1707             - groups
1708         reply:
1709           attributes:
1710             - header
1711             - groups
1712             - grp
1713             - src
1714       dump: *stats-get-op
1715     -
1716       name: phc-vclocks-get
1717       doc: Get PHC VCLOCKs.
1719       attribute-set: phc-vclocks
1721       do: &phc-vclocks-get-op
1722         request:
1723           attributes:
1724             - header
1725         reply:
1726           attributes:
1727             - header
1728             - num
1729       dump: *phc-vclocks-get-op
1730     -
1731       name: module-get
1732       doc: Get module params.
1734       attribute-set: module
1736       do: &module-get-op
1737         request:
1738           attributes:
1739             - header
1740         reply:
1741           attributes: &module
1742             - header
1743             - power-mode-policy
1744             - power-mode
1745       dump: *module-get-op
1746     -
1747       name: module-set
1748       doc: Set module params.
1750       attribute-set: module
1752       do:
1753         request:
1754           attributes: *module
1755     -
1756       name: module-ntf
1757       doc: Notification for change in module params.
1758       notify: module-get
1759     -
1760       name: pse-get
1761       doc: Get Power Sourcing Equipment params.
1763       attribute-set: pse
1765       do: &pse-get-op
1766         request:
1767           attributes:
1768             - header
1769         reply:
1770           attributes:
1771             - header
1772             - podl-pse-admin-state
1773             - podl-pse-admin-control
1774             - podl-pse-pw-d-status
1775             - c33-pse-admin-state
1776             - c33-pse-admin-control
1777             - c33-pse-pw-d-status
1778             - c33-pse-pw-class
1779             - c33-pse-actual-pw
1780             - c33-pse-ext-state
1781             - c33-pse-ext-substate
1782             - c33-pse-avail-pw-limit
1783             - c33-pse-pw-limit-ranges
1784       dump: *pse-get-op
1785     -
1786       name: pse-set
1787       doc: Set Power Sourcing Equipment params.
1789       attribute-set: pse
1791       do:
1792         request:
1793           attributes:
1794             - header
1795             - podl-pse-admin-control
1796             - c33-pse-admin-control
1797             - c33-pse-avail-pw-limit
1798     -
1799       name: rss-get
1800       doc: Get RSS params.
1802       attribute-set: rss
1804       do:
1805         request:
1806           attributes:
1807             - header
1808             - context
1809         reply: &rss-reply
1810           attributes:
1811             - header
1812             - context
1813             - hfunc
1814             - indir
1815             - hkey
1816             - input_xfrm
1817       dump:
1818         request:
1819           attributes:
1820             - header
1821             - start-context
1822         reply: *rss-reply
1823     -
1824       name: plca-get-cfg
1825       doc: Get PLCA params.
1827       attribute-set: plca
1829       do: &plca-get-op
1830         request:
1831           attributes:
1832             - header
1833         reply:
1834           attributes: &plca
1835             - header
1836             - version
1837             - enabled
1838             - status
1839             - node-cnt
1840             - node-id
1841             - to-tmr
1842             - burst-cnt
1843             - burst-tmr
1844       dump: *plca-get-op
1845     -
1846       name: plca-set-cfg
1847       doc: Set PLCA params.
1849       attribute-set: plca
1851       do:
1852         request:
1853           attributes: *plca
1854     -
1855       name: plca-get-status
1856       doc: Get PLCA status params.
1858       attribute-set: plca
1860       do: &plca-get-status-op
1861         request:
1862           attributes:
1863             - header
1864         reply:
1865           attributes: *plca
1866       dump: *plca-get-status-op
1867     -
1868       name: plca-ntf
1869       doc: Notification for change in PLCA params.
1870       notify: plca-get-cfg
1871     -
1872       name: mm-get
1873       doc: Get MAC Merge configuration and state
1875       attribute-set: mm
1877       do: &mm-get-op
1878         request:
1879           attributes:
1880             - header
1881         reply:
1882           attributes:
1883             - header
1884             - pmac-enabled
1885             - tx-enabled
1886             - tx-active
1887             - tx-min-frag-size
1888             - rx-min-frag-size
1889             - verify-enabled
1890             - verify-time
1891             - max-verify-time
1892             - stats
1893       dump: *mm-get-op
1894     -
1895       name: mm-set
1896       doc: Set MAC Merge configuration
1898       attribute-set: mm
1900       do:
1901         request:
1902           attributes:
1903             - header
1904             - verify-enabled
1905             - verify-time
1906             - tx-enabled
1907             - pmac-enabled
1908             - tx-min-frag-size
1909     -
1910       name: mm-ntf
1911       doc: Notification for change in MAC Merge configuration.
1912       notify: mm-get
1913     -
1914       name: module-fw-flash-act
1915       doc: Flash transceiver module firmware.
1917       attribute-set: module-fw-flash
1919       do:
1920         request:
1921           attributes:
1922             - header
1923             - file-name
1924             - password
1925     -
1926       name: module-fw-flash-ntf
1927       doc: Notification for firmware flashing progress and status.
1929       attribute-set: module-fw-flash
1931       event:
1932         attributes:
1933           - header
1934           - status
1935           - status-msg
1936           - done
1937           - total
1938     -
1939       name: phy-get
1940       doc: Get PHY devices attached to an interface
1942       attribute-set: phy
1944       do: &phy-get-op
1945         request:
1946           attributes:
1947             - header
1948         reply:
1949           attributes:
1950             - header
1951             - index
1952             - drvname
1953             - name
1954             - upstream-type
1955             - upstream-index
1956             - upstream-sfp-name
1957             - downstream-sfp-name
1958       dump: *phy-get-op
1959     -
1960       name: phy-ntf
1961       doc: Notification for change in PHY devices.
1962       notify: phy-get