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