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