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