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