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