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: pad
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: pad
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: pad
788      -
789        name: id
790        type: u32
791      -
792        name: ss-id
793        type: u32
794      -
795        name: stat
796        type: u64
797        type-value: [ id ]
798      -
799        name: hist-rx
800        type: nest
801        nested-attributes: stats-grp-hist
802      -
803        name: hist-tx
804        type: nest
805        nested-attributes: stats-grp-hist
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-grp-hist
817    subset-of: stats-grp
818    attributes:
819      -
820        name: hist-bkt-low
821        type: u32
822      -
823        name: hist-bkt-hi
824        type: u32
825      -
826        name: hist-val
827        type: u64
828  -
829    name: stats
830    attributes:
831      -
832        name: pad
833        type: pad
834      -
835        name: header
836        type: nest
837        nested-attributes: header
838      -
839        name: groups
840        type: nest
841        nested-attributes: bitset
842      -
843        name: grp
844        type: nest
845        nested-attributes: stats-grp
846      -
847        name: src
848        type: u32
849  -
850    name: phc-vclocks
851    attributes:
852      -
853        name: header
854        type: nest
855        nested-attributes: header
856      -
857        name: num
858        type: u32
859      -
860        name: index
861        type: binary
862        sub-type: s32
863  -
864    name: module
865    attributes:
866      -
867        name: header
868        type: nest
869        nested-attributes: header
870      -
871        name: power-mode-policy
872        type: u8
873      -
874        name: power-mode
875        type: u8
876  -
877    name: pse
878    attributes:
879      -
880        name: header
881        type: nest
882        nested-attributes: header
883      -
884        name: admin-state
885        type: u32
886        name-prefix: ethtool-a-podl-pse-
887      -
888        name: admin-control
889        type: u32
890        name-prefix: ethtool-a-podl-pse-
891      -
892        name: pw-d-status
893        type: u32
894        name-prefix: ethtool-a-podl-pse-
895  -
896    name: rss
897    attributes:
898      -
899        name: header
900        type: nest
901        nested-attributes: header
902      -
903        name: context
904        type: u32
905      -
906        name: hfunc
907        type: u32
908      -
909        name: indir
910        type: binary
911      -
912        name: hkey
913        type: binary
914  -
915    name: plca
916    attributes:
917      -
918        name: header
919        type: nest
920        nested-attributes: header
921      -
922        name: version
923        type: u16
924      -
925        name: enabled
926        type: u8
927      -
928        name: status
929        type: u8
930      -
931        name: node-cnt
932        type: u32
933      -
934        name: node-id
935        type: u32
936      -
937        name: to-tmr
938        type: u32
939      -
940        name: burst-cnt
941        type: u32
942      -
943        name: burst-tmr
944        type: u32
945
946operations:
947  enum-model: directional
948  name-prefix: ethtool-msg-
949  list:
950    -
951      name: strset-get
952      doc: Get string set from the kernel.
953
954      attribute-set: strset
955
956      do: &strset-get-op
957        request:
958          attributes:
959            - header
960            - stringsets
961            - counts-only
962        reply:
963          attributes:
964            - header
965            - stringsets
966      dump: *strset-get-op
967    -
968      name: linkinfo-get
969      doc: Get link info.
970
971      attribute-set: linkinfo
972
973      do: &linkinfo-get-op
974        request:
975          attributes:
976            - header
977        reply:
978          attributes: &linkinfo
979            - header
980            - port
981            - phyaddr
982            - tp-mdix
983            - tp-mdix-ctrl
984            - transceiver
985      dump: *linkinfo-get-op
986    -
987      name: linkinfo-set
988      doc: Set link info.
989
990      attribute-set: linkinfo
991
992      do:
993        request:
994          attributes: *linkinfo
995    -
996      name: linkinfo-ntf
997      doc: Notification for change in link info.
998      notify: linkinfo-get
999    -
1000      name: linkmodes-get
1001      doc: Get link modes.
1002
1003      attribute-set: linkmodes
1004
1005      do: &linkmodes-get-op
1006        request:
1007          attributes:
1008            - header
1009        reply:
1010          attributes: &linkmodes
1011            - header
1012            - autoneg
1013            - ours
1014            - peer
1015            - speed
1016            - duplex
1017            - master-slave-cfg
1018            - master-slave-state
1019            - lanes
1020            - rate-matching
1021      dump: *linkmodes-get-op
1022    -
1023      name: linkmodes-set
1024      doc: Set link modes.
1025
1026      attribute-set: linkmodes
1027
1028      do:
1029        request:
1030          attributes: *linkmodes
1031    -
1032      name: linkmodes-ntf
1033      doc: Notification for change in link modes.
1034      notify: linkmodes-get
1035    -
1036      name: linkstate-get
1037      doc: Get link state.
1038
1039      attribute-set: linkstate
1040
1041      do: &linkstate-get-op
1042        request:
1043          attributes:
1044            - header
1045        reply:
1046          attributes:
1047            - header
1048            - link
1049            - sqi
1050            - sqi-max
1051            - ext-state
1052            - ext-substate
1053            - ext-down-cnt
1054      dump: *linkstate-get-op
1055    -
1056      name: debug-get
1057      doc: Get debug message mask.
1058
1059      attribute-set: debug
1060
1061      do: &debug-get-op
1062        request:
1063          attributes:
1064            - header
1065        reply:
1066          attributes: &debug
1067            - header
1068            - msgmask
1069      dump: *debug-get-op
1070    -
1071      name: debug-set
1072      doc: Set debug message mask.
1073
1074      attribute-set: debug
1075
1076      do:
1077        request:
1078          attributes: *debug
1079    -
1080      name: debug-ntf
1081      doc: Notification for change in debug message mask.
1082      notify: debug-get
1083    -
1084      name: wol-get
1085      doc: Get WOL params.
1086
1087      attribute-set: wol
1088
1089      do: &wol-get-op
1090        request:
1091          attributes:
1092            - header
1093        reply:
1094          attributes: &wol
1095            - header
1096            - modes
1097            - sopass
1098      dump: *wol-get-op
1099    -
1100      name: wol-set
1101      doc: Set WOL params.
1102
1103      attribute-set: wol
1104
1105      do:
1106        request:
1107          attributes: *wol
1108    -
1109      name: wol-ntf
1110      doc: Notification for change in WOL params.
1111      notify: wol-get
1112    -
1113      name: features-get
1114      doc: Get features.
1115
1116      attribute-set: features
1117
1118      do: &feature-get-op
1119        request:
1120          attributes:
1121            - header
1122        reply:
1123          attributes: &feature
1124            - header
1125            # User-changeable features.
1126            - hw
1127            # User-requested features.
1128            - wanted
1129            # Currently active features.
1130            - active
1131            # Unchangeable features.
1132            - nochange
1133      dump: *feature-get-op
1134    -
1135      name: features-set
1136      doc: Set features.
1137
1138      attribute-set: features
1139
1140      do: &feature-set-op
1141        request:
1142          attributes: *feature
1143        reply:
1144          attributes: *feature
1145    -
1146      name: features-ntf
1147      doc: Notification for change in features.
1148      notify: features-get
1149    -
1150      name: privflags-get
1151      doc: Get device private flags.
1152
1153      attribute-set: privflags
1154
1155      do: &privflag-get-op
1156        request:
1157          attributes:
1158            - header
1159        reply:
1160          attributes: &privflag
1161            - header
1162            - flags
1163      dump: *privflag-get-op
1164    -
1165      name: privflags-set
1166      doc: Set device private flags.
1167
1168      attribute-set: privflags
1169
1170      do:
1171        request:
1172          attributes: *privflag
1173    -
1174      name: privflags-ntf
1175      doc: Notification for change in device private flags.
1176      notify: privflags-get
1177
1178    -
1179      name: rings-get
1180      doc: Get ring params.
1181
1182      attribute-set: rings
1183
1184      do: &ring-get-op
1185        request:
1186          attributes:
1187            - header
1188        reply:
1189          attributes: &ring
1190            - header
1191            - rx-max
1192            - rx-mini-max
1193            - rx-jumbo-max
1194            - tx-max
1195            - rx
1196            - rx-mini
1197            - rx-jumbo
1198            - tx
1199            - rx-buf-len
1200            - tcp-data-split
1201            - cqe-size
1202            - tx-push
1203            - rx-push
1204            - tx-push-buf-len
1205            - tx-push-buf-len-max
1206      dump: *ring-get-op
1207    -
1208      name: rings-set
1209      doc: Set ring params.
1210
1211      attribute-set: rings
1212
1213      do:
1214        request:
1215          attributes: *ring
1216    -
1217      name: rings-ntf
1218      doc: Notification for change in ring params.
1219      notify: rings-get
1220    -
1221      name: channels-get
1222      doc: Get channel params.
1223
1224      attribute-set: channels
1225
1226      do: &channel-get-op
1227        request:
1228          attributes:
1229            - header
1230        reply:
1231          attributes: &channel
1232            - header
1233            - rx-max
1234            - tx-max
1235            - other-max
1236            - combined-max
1237            - rx-count
1238            - tx-count
1239            - other-count
1240            - combined-count
1241      dump: *channel-get-op
1242    -
1243      name: channels-set
1244      doc: Set channel params.
1245
1246      attribute-set: channels
1247
1248      do:
1249        request:
1250          attributes: *channel
1251    -
1252      name: channels-ntf
1253      doc: Notification for change in channel params.
1254      notify: channels-get
1255    -
1256      name: coalesce-get
1257      doc: Get coalesce params.
1258
1259      attribute-set: coalesce
1260
1261      do: &coalesce-get-op
1262        request:
1263          attributes:
1264            - header
1265        reply:
1266          attributes: &coalesce
1267            - header
1268            - rx-usecs
1269            - rx-max-frames
1270            - rx-usecs-irq
1271            - rx-max-frames-irq
1272            - tx-usecs
1273            - tx-max-frames
1274            - tx-usecs-irq
1275            - tx-max-frames-irq
1276            - stats-block-usecs
1277            - use-adaptive-rx
1278            - use-adaptive-tx
1279            - pkt-rate-low
1280            - rx-usecs-low
1281            - rx-max-frames-low
1282            - tx-usecs-low
1283            - tx-max-frames-low
1284            - pkt-rate-high
1285            - rx-usecs-high
1286            - rx-max-frames-high
1287            - tx-usecs-high
1288            - tx-max-frames-high
1289            - rate-sample-interval
1290            - use-cqe-mode-tx
1291            - use-cqe-mode-rx
1292            - tx-aggr-max-bytes
1293            - tx-aggr-max-frames
1294            - tx-aggr-time-usecs
1295      dump: *coalesce-get-op
1296    -
1297      name: coalesce-set
1298      doc: Set coalesce params.
1299
1300      attribute-set: coalesce
1301
1302      do:
1303        request:
1304          attributes: *coalesce
1305    -
1306      name: coalesce-ntf
1307      doc: Notification for change in coalesce params.
1308      notify: coalesce-get
1309    -
1310      name: pause-get
1311      doc: Get pause params.
1312
1313      attribute-set: pause
1314
1315      do: &pause-get-op
1316        request:
1317          attributes:
1318            - header
1319        reply:
1320          attributes: &pause
1321            - header
1322            - autoneg
1323            - rx
1324            - tx
1325            - stats
1326            - stats-src
1327      dump: *pause-get-op
1328    -
1329      name: pause-set
1330      doc: Set pause params.
1331
1332      attribute-set: pause
1333
1334      do:
1335        request:
1336          attributes: *pause
1337    -
1338      name: pause-ntf
1339      doc: Notification for change in pause params.
1340      notify: pause-get
1341    -
1342      name: eee-get
1343      doc: Get eee params.
1344
1345      attribute-set: eee
1346
1347      do: &eee-get-op
1348        request:
1349          attributes:
1350            - header
1351        reply:
1352          attributes: &eee
1353            - header
1354            - modes-ours
1355            - modes-peer
1356            - active
1357            - enabled
1358            - tx-lpi-enabled
1359            - tx-lpi-timer
1360      dump: *eee-get-op
1361    -
1362      name: eee-set
1363      doc: Set eee params.
1364
1365      attribute-set: eee
1366
1367      do:
1368        request:
1369          attributes: *eee
1370    -
1371      name: eee-ntf
1372      doc: Notification for change in eee params.
1373      notify: eee-get
1374    -
1375      name: tsinfo-get
1376      doc: Get tsinfo params.
1377
1378      attribute-set: tsinfo
1379
1380      do: &tsinfo-get-op
1381        request:
1382          attributes:
1383            - header
1384        reply:
1385          attributes:
1386            - header
1387            - timestamping
1388            - tx-types
1389            - rx-filters
1390            - phc-index
1391      dump: *tsinfo-get-op
1392    -
1393      name: cable-test-act
1394      doc: Cable test.
1395
1396      attribute-set: cable-test
1397
1398      do:
1399        request:
1400          attributes:
1401            - header
1402    -
1403      name: cable-test-ntf
1404      doc: Cable test notification.
1405
1406      attribute-set: cable-test-ntf
1407
1408      event:
1409        attributes:
1410          - header
1411          - status
1412    -
1413      name: cable-test-tdr-act
1414      doc: Cable test TDR.
1415
1416      attribute-set: cable-test-tdr
1417
1418      do:
1419        request:
1420          attributes:
1421            - header
1422    -
1423      name: cable-test-tdr-ntf
1424      doc: Cable test TDR notification.
1425
1426      attribute-set: cable-test-tdr-ntf
1427
1428      event:
1429        attributes:
1430          - header
1431          - status
1432          - nest
1433    -
1434      name: tunnel-info-get
1435      doc: Get tsinfo params.
1436
1437      attribute-set: tunnel-info
1438
1439      do: &tunnel-info-get-op
1440        request:
1441          attributes:
1442            - header
1443        reply:
1444          attributes:
1445            - header
1446            - udp-ports
1447      dump: *tunnel-info-get-op
1448    -
1449      name: fec-get
1450      doc: Get FEC params.
1451
1452      attribute-set: fec
1453
1454      do: &fec-get-op
1455        request:
1456          attributes:
1457            - header
1458        reply:
1459          attributes: &fec
1460            - header
1461            - modes
1462            - auto
1463            - active
1464            - stats
1465      dump: *fec-get-op
1466    -
1467      name: fec-set
1468      doc: Set FEC params.
1469
1470      attribute-set: fec
1471
1472      do:
1473        request:
1474          attributes: *fec
1475    -
1476      name: fec-ntf
1477      doc: Notification for change in FEC params.
1478      notify: fec-get
1479    -
1480      name: module-eeprom-get
1481      doc: Get module EEPROM params.
1482
1483      attribute-set: module-eeprom
1484
1485      do: &module-eeprom-get-op
1486        request:
1487          attributes:
1488            - header
1489        reply:
1490          attributes:
1491            - header
1492            - offset
1493            - length
1494            - page
1495            - bank
1496            - i2c-address
1497            - data
1498      dump: *module-eeprom-get-op
1499    -
1500      name: stats-get
1501      doc: Get statistics.
1502
1503      attribute-set: stats
1504
1505      do: &stats-get-op
1506        request:
1507          attributes:
1508            - header
1509            - groups
1510        reply:
1511          attributes:
1512            - header
1513            - groups
1514            - grp
1515            - src
1516      dump: *stats-get-op
1517    -
1518      name: phc-vclocks-get
1519      doc: Get PHC VCLOCKs.
1520
1521      attribute-set: phc-vclocks
1522
1523      do: &phc-vclocks-get-op
1524        request:
1525          attributes:
1526            - header
1527        reply:
1528          attributes:
1529            - header
1530            - num
1531      dump: *phc-vclocks-get-op
1532    -
1533      name: module-get
1534      doc: Get module params.
1535
1536      attribute-set: module
1537
1538      do: &module-get-op
1539        request:
1540          attributes:
1541            - header
1542        reply:
1543          attributes: &module
1544            - header
1545            - power-mode-policy
1546            - power-mode
1547      dump: *module-get-op
1548    -
1549      name: module-set
1550      doc: Set module params.
1551
1552      attribute-set: module
1553
1554      do:
1555        request:
1556          attributes: *module
1557    -
1558      name: module-ntf
1559      doc: Notification for change in module params.
1560      notify: module-get
1561    -
1562      name: pse-get
1563      doc: Get Power Sourcing Equipment params.
1564
1565      attribute-set: pse
1566
1567      do: &pse-get-op
1568        request:
1569          attributes:
1570            - header
1571        reply:
1572          attributes: &pse
1573            - header
1574            - admin-state
1575            - admin-control
1576            - pw-d-status
1577      dump: *pse-get-op
1578    -
1579      name: pse-set
1580      doc: Set Power Sourcing Equipment params.
1581
1582      attribute-set: pse
1583
1584      do:
1585        request:
1586          attributes: *pse
1587    -
1588      name: rss-get
1589      doc: Get RSS params.
1590
1591      attribute-set: rss
1592
1593      do: &rss-get-op
1594        request:
1595          attributes:
1596            - header
1597        reply:
1598          attributes:
1599            - header
1600            - context
1601            - hfunc
1602            - indir
1603            - hkey
1604      dump: *rss-get-op
1605    -
1606      name: plca-get-cfg
1607      doc: Get PLCA params.
1608
1609      attribute-set: plca
1610
1611      do: &plca-get-op
1612        request:
1613          attributes:
1614            - header
1615        reply:
1616          attributes: &plca
1617            - header
1618            - version
1619            - enabled
1620            - status
1621            - node-cnt
1622            - node-id
1623            - to-tmr
1624            - burst-cnt
1625            - burst-tmr
1626      dump: *plca-get-op
1627    -
1628      name: plca-set-cfg
1629      doc: Set PLCA params.
1630
1631      attribute-set: plca
1632
1633      do:
1634        request:
1635          attributes: *plca
1636    -
1637      name: plca-get-status
1638      doc: Get PLCA status params.
1639
1640      attribute-set: plca
1641
1642      do: &plca-get-status-op
1643        request:
1644          attributes:
1645            - header
1646        reply:
1647          attributes: *plca
1648      dump: *plca-get-status-op
1649    -
1650      name: plca-ntf
1651      doc: Notification for change in PLCA params.
1652      notify: plca-get-cfg
1653    -
1654      name: mm-get
1655      doc: Get MAC Merge configuration and state
1656
1657      attribute-set: mm
1658
1659      do: &mm-get-op
1660        request:
1661          attributes:
1662            - header
1663        reply:
1664          attributes:
1665            - header
1666            - pmac-enabled
1667            - tx-enabled
1668            - tx-active
1669            - tx-min-frag-size
1670            - rx-min-frag-size
1671            - verify-enabled
1672            - verify-time
1673            - max-verify-time
1674            - stats
1675      dump: *mm-get-op
1676    -
1677      name: mm-set
1678      doc: Set MAC Merge configuration
1679
1680      attribute-set: mm
1681
1682      do:
1683        request:
1684          attributes:
1685            - header
1686            - verify-enabled
1687            - verify-time
1688            - tx-enabled
1689            - pmac-enabled
1690            - tx-min-frag-size
1691    -
1692      name: mm-ntf
1693      doc: Notification for change in MAC Merge configuration.
1694      notify: mm-get
1695