xref: /linux/Documentation/netlink/specs/ethtool.yaml (revision 348f968b89bfeec0bb53dd82dba58b94d97fbd34)
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.
8uapi-header: linux/ethtool_netlink_generated.h
9
10definitions:
11  -
12    name: udp-tunnel-type
13    enum-name:
14    type: enum
15    entries: [ vxlan, geneve, vxlan-gpe ]
16    enum-cnt-name: __ethtool-udp-tunnel-type-cnt
17    render-max: true
18  -
19    name: stringset
20    type: enum
21    entries: []
22    header: linux/ethtool.h # skip rendering, no actual definition
23  -
24    name: header-flags
25    type: flags
26    name-prefix: ethtool-flag-
27    doc: common ethtool header flags
28    entries:
29      -
30        name: compact-bitsets
31        doc: use compact bitsets in reply
32      -
33        name: omit-reply
34        doc: provide optional reply for SET or ACT requests
35      -
36        name: stats
37        doc: request statistics, if supported by the driver
38  -
39    name: module-fw-flash-status
40    type: enum
41    doc: plug-in module firmware flashing status
42    header: linux/ethtool.h
43    entries:
44      -
45        name: started
46        doc: The firmware flashing process has started.
47      -
48        name: in_progress
49        doc: The firmware flashing process is in progress.
50      -
51        name: completed
52        doc: The firmware flashing process was completed successfully.
53      -
54        name: error
55        doc: The firmware flashing process was stopped due to an error.
56  -
57    name: c33-pse-ext-state
58    doc: "groups of PSE extended states functions. IEEE 802.3-2022 33.2.4.4 Variables"
59    type: enum
60    name-prefix: ethtool-c33-pse-ext-state-
61    header: linux/ethtool.h
62    entries:
63        -
64          name: none
65          doc: none
66        -
67          name: error-condition
68          doc: Group of error_condition states
69        -
70          name: mr-mps-valid
71          doc: Group of mr_mps_valid states
72        -
73          name: mr-pse-enable
74          doc: Group of mr_pse_enable states
75        -
76          name: option-detect-ted
77          doc: Group of option_detect_ted states
78        -
79          name: option-vport-lim
80          doc: Group of option_vport_lim states
81        -
82          name: ovld-detected
83          doc: Group of ovld_detected states
84        -
85          name: power-not-available
86          doc: Group of power_not_available states
87        -
88          name: short-detected
89          doc: Group of short_detected states
90  -
91    name: phy-upstream-type
92    enum-name:
93    type: enum
94    entries: [ mac, phy ]
95  -
96    name: tcp-data-split
97    type: enum
98    entries: [ unknown, disabled, enabled ]
99
100attribute-sets:
101  -
102    name: header
103    attr-cnt-name: __ethtool-a-header-cnt
104    attributes:
105      -
106        name: unspec
107        type: unused
108        value: 0
109      -
110        name: dev-index
111        type: u32
112      -
113        name: dev-name
114        type: string
115      -
116        name: flags
117        type: u32
118        enum: header-flags
119      -
120        name: phy-index
121        type: u32
122
123  -
124    name: bitset-bit
125    attr-cnt-name: __ethtool-a-bitset-bit-cnt
126    attributes:
127      -
128        name: unspec
129        type: unused
130        value: 0
131      -
132        name: index
133        type: u32
134      -
135        name: name
136        type: string
137      -
138        name: value
139        type: flag
140  -
141    name: bitset-bits
142    attr-cnt-name: __ethtool-a-bitset-bits-cnt
143    attributes:
144      -
145        name: unspec
146        type: unused
147        value: 0
148      -
149        name: bit
150        type: nest
151        multi-attr: true
152        nested-attributes: bitset-bit
153  -
154    name: bitset
155    attr-cnt-name: __ethtool-a-bitset-cnt
156    attributes:
157      -
158        name: unspec
159        type: unused
160        value: 0
161      -
162        name: nomask
163        type: flag
164      -
165        name: size
166        type: u32
167      -
168        name: bits
169        type: nest
170        nested-attributes: bitset-bits
171      -
172        name: value
173        type: binary
174      -
175        name: mask
176        type: binary
177  -
178    name: string
179    attr-cnt-name: __ethtool-a-string-cnt
180    attributes:
181      -
182        name: unspec
183        type: unused
184        value: 0
185      -
186        name: index
187        type: u32
188      -
189        name: value
190        type: string
191  -
192    name: strings
193    attr-cnt-name: __ethtool-a-strings-cnt
194    attributes:
195      -
196        name: unspec
197        type: unused
198        value: 0
199      -
200        name: unspec
201        type: unused
202        value: 0
203      -
204        name: string
205        type: nest
206        multi-attr: true
207        nested-attributes: string
208  -
209    name: stringset
210    attr-cnt-name: __ethtool-a-stringset-cnt
211    attributes:
212      -
213        name: unspec
214        type: unused
215        value: 0
216      -
217        name: id
218        type: u32
219      -
220        name: count
221        type: u32
222      -
223        name: strings
224        type: nest
225        multi-attr: true
226        nested-attributes: strings
227  -
228    name: stringsets
229    attr-cnt-name: __ethtool-a-stringsets-cnt
230    attributes:
231      -
232        name: unspec
233        type: unused
234        value: 0
235      -
236        name: stringset
237        type: nest
238        multi-attr: true
239        nested-attributes: stringset
240  -
241    name: strset
242    attr-cnt-name: __ethtool-a-strset-cnt
243    attributes:
244      -
245        name: unspec
246        type: unused
247        value: 0
248      -
249        name: header
250        type: nest
251        nested-attributes: header
252      -
253        name: stringsets
254        type: nest
255        nested-attributes: stringsets
256      -
257        name: counts-only
258        type: flag
259
260  -
261    name: privflags
262    attr-cnt-name: __ethtool-a-privflags-cnt
263    attributes:
264      -
265        name: unspec
266        type: unused
267        value: 0
268      -
269        name: header
270        type: nest
271        nested-attributes: header
272      -
273        name: flags
274        type: nest
275        nested-attributes: bitset
276
277  -
278    name: rings
279    attr-cnt-name: __ethtool-a-rings-cnt
280    attributes:
281      -
282        name: unspec
283        type: unused
284        value: 0
285      -
286        name: header
287        type: nest
288        nested-attributes: header
289      -
290        name: rx-max
291        type: u32
292      -
293        name: rx-mini-max
294        type: u32
295      -
296        name: rx-jumbo-max
297        type: u32
298      -
299        name: tx-max
300        type: u32
301      -
302        name: rx
303        type: u32
304      -
305        name: rx-mini
306        type: u32
307      -
308        name: rx-jumbo
309        type: u32
310      -
311        name: tx
312        type: u32
313      -
314        name: rx-buf-len
315        type: u32
316      -
317        name: tcp-data-split
318        type: u8
319        enum: tcp-data-split
320      -
321        name: cqe-size
322        type: u32
323      -
324        name: tx-push
325        type: u8
326      -
327        name: rx-push
328        type: u8
329      -
330        name: tx-push-buf-len
331        type: u32
332      -
333        name: tx-push-buf-len-max
334        type: u32
335      -
336        name: hds-thresh
337        type: u32
338      -
339        name: hds-thresh-max
340        type: u32
341
342  -
343    name: mm-stat
344    attr-cnt-name: __ethtool-a-mm-stat-cnt
345    doc: MAC Merge (802.3)
346    attributes:
347      -
348        name: unspec
349        type: unused
350        value: 0
351      -
352        name: pad
353        type: pad
354      -
355        name: reassembly-errors
356        doc: aMACMergeFrameAssErrorCount
357        type: u64
358      -
359        name: smd-errors
360        doc: aMACMergeFrameSmdErrorCount
361        type: u64
362      -
363        name: reassembly-ok
364        doc: aMACMergeFrameAssOkCount
365        type: u64
366      -
367        name: rx-frag-count
368        doc: aMACMergeFragCountRx
369        type: u64
370      -
371        name: tx-frag-count
372        doc: aMACMergeFragCountTx
373        type: u64
374      -
375        name: hold-count
376        doc: aMACMergeHoldCount
377        type: u64
378  -
379    name: mm
380    attr-cnt-name: __ethtool-a-mm-cnt
381    attributes:
382      -
383        name: unspec
384        type: unused
385        value: 0
386      -
387        name: header
388        type: nest
389        nested-attributes: header
390      -
391        name: pmac-enabled
392        type: u8
393      -
394        name: tx-enabled
395        type: u8
396      -
397        name: tx-active
398        type: u8
399      -
400        name: tx-min-frag-size
401        type: u32
402      -
403        name: rx-min-frag-size
404        type: u32
405      -
406        name: verify-enabled
407        type: u8
408      -
409        name: verify-status
410        type: u8
411      -
412        name: verify-time
413        type: u32
414      -
415        name: max-verify-time
416        type: u32
417      -
418        name: stats
419        type: nest
420        nested-attributes: mm-stat
421  -
422    name: linkinfo
423    attr-cnt-name: __ethtool-a-linkinfo-cnt
424    attributes:
425      -
426        name: unspec
427        type: unused
428        value: 0
429      -
430        name: header
431        type: nest
432        nested-attributes: header
433      -
434        name: port
435        type: u8
436      -
437        name: phyaddr
438        type: u8
439      -
440        name: tp-mdix
441        type: u8
442      -
443        name: tp-mdix-ctrl
444        type: u8
445      -
446        name: transceiver
447        type: u8
448  -
449    name: linkmodes
450    attr-cnt-name: __ethtool-a-linkmodes-cnt
451    attributes:
452      -
453        name: unspec
454        type: unused
455        value: 0
456      -
457        name: header
458        type: nest
459        nested-attributes: header
460      -
461        name: autoneg
462        type: u8
463      -
464        name: ours
465        type: nest
466        nested-attributes: bitset
467      -
468        name: peer
469        type: nest
470        nested-attributes: bitset
471      -
472        name: speed
473        type: u32
474      -
475        name: duplex
476        type: u8
477      -
478        name: master-slave-cfg
479        type: u8
480      -
481        name: master-slave-state
482        type: u8
483      -
484        name: lanes
485        type: u32
486      -
487        name: rate-matching
488        type: u8
489  -
490    name: linkstate
491    attr-cnt-name: __ethtool-a-linkstate-cnt
492    attributes:
493      -
494        name: unspec
495        type: unused
496        value: 0
497      -
498        name: header
499        type: nest
500        nested-attributes: header
501      -
502        name: link
503        type: u8
504      -
505        name: sqi
506        type: u32
507      -
508        name: sqi-max
509        type: u32
510      -
511        name: ext-state
512        type: u8
513      -
514        name: ext-substate
515        type: u8
516      -
517        name: ext-down-cnt
518        type: u32
519  -
520    name: debug
521    attr-cnt-name: __ethtool-a-debug-cnt
522    attributes:
523      -
524        name: unspec
525        type: unused
526        value: 0
527      -
528        name: header
529        type: nest
530        nested-attributes: header
531      -
532        name: msgmask
533        type: nest
534        nested-attributes: bitset
535  -
536    name: wol
537    attr-cnt-name: __ethtool-a-wol-cnt
538    attributes:
539      -
540        name: unspec
541        type: unused
542        value: 0
543      -
544        name: header
545        type: nest
546        nested-attributes: header
547      -
548        name: modes
549        type: nest
550        nested-attributes: bitset
551      -
552        name: sopass
553        type: binary
554  -
555    name: features
556    attr-cnt-name: __ethtool-a-features-cnt
557    attributes:
558      -
559        name: unspec
560        type: unused
561        value: 0
562      -
563        name: header
564        type: nest
565        nested-attributes: header
566      -
567        name: hw
568        type: nest
569        nested-attributes: bitset
570      -
571        name: wanted
572        type: nest
573        nested-attributes: bitset
574      -
575        name: active
576        type: nest
577        nested-attributes: bitset
578      -
579        name: nochange
580        type: nest
581        nested-attributes: bitset
582  -
583    name: channels
584    attr-cnt-name: __ethtool-a-channels-cnt
585    attributes:
586      -
587        name: unspec
588        type: unused
589        value: 0
590      -
591        name: header
592        type: nest
593        nested-attributes: header
594      -
595        name: rx-max
596        type: u32
597      -
598        name: tx-max
599        type: u32
600      -
601        name: other-max
602        type: u32
603      -
604        name: combined-max
605        type: u32
606      -
607        name: rx-count
608        type: u32
609      -
610        name: tx-count
611        type: u32
612      -
613        name: other-count
614        type: u32
615      -
616        name: combined-count
617        type: u32
618
619  -
620    name: irq-moderation
621    attr-cnt-name: __ethtool-a-irq-moderation-cnt
622    attributes:
623      -
624        name: unspec
625        type: unused
626        value: 0
627      -
628        name: usec
629        type: u32
630      -
631        name: pkts
632        type: u32
633      -
634        name: comps
635        type: u32
636  -
637    name: profile
638    attr-cnt-name: __ethtool-a-profile-cnt
639    attributes:
640      -
641        name: unspec
642        type: unused
643        value: 0
644      -
645        name: irq-moderation
646        type: nest
647        multi-attr: true
648        nested-attributes: irq-moderation
649  -
650    name: coalesce
651    attr-cnt-name: __ethtool-a-coalesce-cnt
652    attributes:
653      -
654        name: unspec
655        type: unused
656        value: 0
657      -
658        name: header
659        type: nest
660        nested-attributes: header
661      -
662        name: rx-usecs
663        type: u32
664      -
665        name: rx-max-frames
666        type: u32
667      -
668        name: rx-usecs-irq
669        type: u32
670      -
671        name: rx-max-frames-irq
672        type: u32
673      -
674        name: tx-usecs
675        type: u32
676      -
677        name: tx-max-frames
678        type: u32
679      -
680        name: tx-usecs-irq
681        type: u32
682      -
683        name: tx-max-frames-irq
684        type: u32
685      -
686        name: stats-block-usecs
687        type: u32
688      -
689        name: use-adaptive-rx
690        type: u8
691      -
692        name: use-adaptive-tx
693        type: u8
694      -
695        name: pkt-rate-low
696        type: u32
697      -
698        name: rx-usecs-low
699        type: u32
700      -
701        name: rx-max-frames-low
702        type: u32
703      -
704        name: tx-usecs-low
705        type: u32
706      -
707        name: tx-max-frames-low
708        type: u32
709      -
710        name: pkt-rate-high
711        type: u32
712      -
713        name: rx-usecs-high
714        type: u32
715      -
716        name: rx-max-frames-high
717        type: u32
718      -
719        name: tx-usecs-high
720        type: u32
721      -
722        name: tx-max-frames-high
723        type: u32
724      -
725        name: rate-sample-interval
726        type: u32
727      -
728        name: use-cqe-mode-tx
729        type: u8
730      -
731        name: use-cqe-mode-rx
732        type: u8
733      -
734        name: tx-aggr-max-bytes
735        type: u32
736      -
737        name: tx-aggr-max-frames
738        type: u32
739      -
740        name: tx-aggr-time-usecs
741        type: u32
742      -
743        name: rx-profile
744        type: nest
745        nested-attributes: profile
746      -
747        name: tx-profile
748        type: nest
749        nested-attributes: profile
750
751  -
752    name: pause-stat
753    attr-cnt-name: __ethtool-a-pause-stat-cnt
754    attributes:
755      -
756        name: unspec
757        type: unused
758        value: 0
759      -
760        name: pad
761        type: pad
762      -
763        name: tx-frames
764        type: u64
765      -
766        name: rx-frames
767        type: u64
768  -
769    name: pause
770    attr-cnt-name: __ethtool-a-pause-cnt
771    attributes:
772      -
773        name: unspec
774        type: unused
775        value: 0
776      -
777        name: header
778        type: nest
779        nested-attributes: header
780      -
781        name: autoneg
782        type: u8
783      -
784        name: rx
785        type: u8
786      -
787        name: tx
788        type: u8
789      -
790        name: stats
791        type: nest
792        nested-attributes: pause-stat
793      -
794        name: stats-src
795        type: u32
796  -
797    name: eee
798    attr-cnt-name: __ethtool-a-eee-cnt
799    attributes:
800      -
801        name: unspec
802        type: unused
803        value: 0
804      -
805        name: header
806        type: nest
807        nested-attributes: header
808      -
809        name: modes-ours
810        type: nest
811        nested-attributes: bitset
812      -
813        name: modes-peer
814        type: nest
815        nested-attributes: bitset
816      -
817        name: active
818        type: u8
819      -
820        name: enabled
821        type: u8
822      -
823        name: tx-lpi-enabled
824        type: u8
825      -
826        name: tx-lpi-timer
827        type: u32
828  -
829    name: ts-stat
830    attr-cnt-name: __ethtool-a-ts-stat-cnt
831    attributes:
832      -
833        name: unspec
834        type: unused
835        value: 0
836      -
837        name: tx-pkts
838        type: uint
839      -
840        name: tx-lost
841        type: uint
842      -
843        name: tx-err
844        type: uint
845      -
846        name: tx-onestep-pkts-unconfirmed
847        type: uint
848  -
849    name: ts-hwtstamp-provider
850    attr-cnt-name: __ethtool-a-ts-hwtstamp-provider-cnt
851    attributes:
852      -
853        name: unspec
854        type: unused
855        value: 0
856      -
857        name: index
858        type: u32
859      -
860        name: qualifier
861        type: u32
862  -
863    name: tsinfo
864    attr-cnt-name: __ethtool-a-tsinfo-cnt
865    attributes:
866      -
867        name: unspec
868        type: unused
869        value: 0
870      -
871        name: header
872        type: nest
873        nested-attributes: header
874      -
875        name: timestamping
876        type: nest
877        nested-attributes: bitset
878      -
879        name: tx-types
880        type: nest
881        nested-attributes: bitset
882      -
883        name: rx-filters
884        type: nest
885        nested-attributes: bitset
886      -
887        name: phc-index
888        type: u32
889      -
890        name: stats
891        type: nest
892        nested-attributes: ts-stat
893      -
894        name: hwtstamp-provider
895        type: nest
896        nested-attributes: ts-hwtstamp-provider
897  -
898    name: cable-result
899    attr-cnt-name: __ethtool-a-cable-result-cnt
900    attributes:
901      -
902        name: unspec
903        type: unused
904        value: 0
905      -
906        name: pair
907        doc: ETHTOOL_A_CABLE_PAIR
908        type: u8
909      -
910        name: code
911        doc: ETHTOOL_A_CABLE_RESULT_CODE
912        type: u8
913      -
914        name: src
915        doc: ETHTOOL_A_CABLE_INF_SRC
916        type: u32
917  -
918    name: cable-fault-length
919    attr-cnt-name: __ethtool-a-cable-fault-length-cnt
920    attributes:
921      -
922        name: unspec
923        type: unused
924        value: 0
925      -
926        name: pair
927        type: u8
928      -
929        name: cm
930        type: u32
931      -
932        name: src
933        type: u32
934  -
935    name: cable-nest
936    attr-cnt-name: __ethtool-a-cable-nest-cnt
937    attributes:
938      -
939        name: unspec
940        type: unused
941        value: 0
942      -
943        name: result
944        type: nest
945        nested-attributes: cable-result
946      -
947        name: fault-length
948        type: nest
949        nested-attributes: cable-fault-length
950  -
951    name: cable-test
952    attr-cnt-name: __ethtool-a-cable-test-cnt
953    attributes:
954      -
955        name: unspec
956        type: unused
957        value: 0
958      -
959        name: header
960        type: nest
961        nested-attributes: header
962  -
963    name: cable-test-ntf
964    attr-cnt-name: __ethtool-a-cable-test-ntf-cnt
965    attributes:
966      -
967        name: unspec
968        type: unused
969        value: 0
970      -
971        name: header
972        type: nest
973        nested-attributes: header
974      -
975        name: status
976        doc: _STARTED/_COMPLETE
977        type: u8
978      -
979        name: nest
980        type: nest
981        nested-attributes: cable-nest
982  -
983    name: cable-test-tdr-cfg
984    attr-cnt-name: __ethtool-a-cable-test-tdr-cfg-cnt
985    attributes:
986      -
987        name: unspec
988        type: unused
989        value: 0
990      -
991        name: first
992        type: u32
993      -
994        name: last
995        type: u32
996      -
997        name: step
998        type: u32
999      -
1000        name: pair
1001        type: u8
1002  -
1003    name: cable-test-tdr-ntf
1004    attr-cnt-name: __ethtool-a-cable-test-tdr-ntf-cnt
1005    attributes:
1006      -
1007        name: unspec
1008        type: unused
1009        value: 0
1010      -
1011        name: header
1012        type: nest
1013        nested-attributes: header
1014      -
1015        name: status
1016        type: u8
1017      -
1018        name: nest
1019        type: nest
1020        nested-attributes: cable-nest
1021  -
1022    name: cable-test-tdr
1023    attr-cnt-name: __ethtool-a-cable-test-tdr-cnt
1024    attributes:
1025      -
1026        name: unspec
1027        type: unused
1028        value: 0
1029      -
1030        name: header
1031        type: nest
1032        nested-attributes: header
1033      -
1034        name: cfg
1035        type: nest
1036        nested-attributes: cable-test-tdr-cfg
1037  -
1038    name: tunnel-udp-entry
1039    attr-cnt-name: __ethtool-a-tunnel-udp-entry-cnt
1040    attributes:
1041      -
1042        name: unspec
1043        type: unused
1044        value: 0
1045      -
1046        name: port
1047        type: u16
1048        byte-order: big-endian
1049      -
1050        name: type
1051        type: u32
1052        enum: udp-tunnel-type
1053  -
1054    name: tunnel-udp-table
1055    attr-cnt-name: __ethtool-a-tunnel-udp-table-cnt
1056    attributes:
1057      -
1058        name: unspec
1059        type: unused
1060        value: 0
1061      -
1062        name: size
1063        type: u32
1064      -
1065        name: types
1066        type: nest
1067        nested-attributes: bitset
1068      -
1069        name: entry
1070        type: nest
1071        multi-attr: true
1072        nested-attributes: tunnel-udp-entry
1073  -
1074    name: tunnel-udp
1075    attr-cnt-name: __ethtool-a-tunnel-udp-cnt
1076    attributes:
1077      -
1078        name: unspec
1079        type: unused
1080        value: 0
1081      -
1082        name: table
1083        type: nest
1084        nested-attributes: tunnel-udp-table
1085  -
1086    name: tunnel-info
1087    attr-cnt-name: __ethtool-a-tunnel-info-cnt
1088    attributes:
1089      -
1090        name: unspec
1091        type: unused
1092        value: 0
1093      -
1094        name: header
1095        type: nest
1096        nested-attributes: header
1097      -
1098        name: udp-ports
1099        type: nest
1100        nested-attributes: tunnel-udp
1101  -
1102    name: fec-stat
1103    attr-cnt-name: __ethtool-a-fec-stat-cnt
1104    attributes:
1105      -
1106        name: unspec
1107        type: unused
1108        value: 0
1109      -
1110        name: pad
1111        type: pad
1112      -
1113        name: corrected
1114        type: binary
1115        sub-type: u64
1116      -
1117        name: uncorr
1118        type: binary
1119        sub-type: u64
1120      -
1121        name: corr-bits
1122        type: binary
1123        sub-type: u64
1124  -
1125    name: fec
1126    attr-cnt-name: __ethtool-a-fec-cnt
1127    attributes:
1128      -
1129        name: unspec
1130        type: unused
1131        value: 0
1132      -
1133        name: header
1134        type: nest
1135        nested-attributes: header
1136      -
1137        name: modes
1138        type: nest
1139        nested-attributes: bitset
1140      -
1141        name: auto
1142        type: u8
1143      -
1144        name: active
1145        type: u32
1146      -
1147        name: stats
1148        type: nest
1149        nested-attributes: fec-stat
1150  -
1151    name: module-eeprom
1152    attr-cnt-name: __ethtool-a-module-eeprom-cnt
1153    attributes:
1154      -
1155        name: unspec
1156        type: unused
1157        value: 0
1158      -
1159        name: header
1160        type: nest
1161        nested-attributes: header
1162      -
1163        name: offset
1164        type: u32
1165      -
1166        name: length
1167        type: u32
1168      -
1169        name: page
1170        type: u8
1171      -
1172        name: bank
1173        type: u8
1174      -
1175        name: i2c-address
1176        type: u8
1177      -
1178        name: data
1179        type: binary
1180  -
1181    name: stats-grp
1182    attr-cnt-name: __ethtool-a-stats-grp-cnt
1183    attributes:
1184      -
1185        name: unspec
1186        type: unused
1187        value: 0
1188      -
1189        name: pad
1190        type: pad
1191      -
1192        name: id
1193        type: u32
1194      -
1195        name: ss-id
1196        type: u32
1197      -
1198        name: stat
1199        type: u64
1200        type-value: [ id ]
1201      -
1202        name: hist-rx
1203        type: nest
1204        nested-attributes: stats-grp-hist
1205      -
1206        name: hist-tx
1207        type: nest
1208        nested-attributes: stats-grp-hist
1209      -
1210        name: hist-bkt-low
1211        type: u32
1212      -
1213        name: hist-bkt-hi
1214        type: u32
1215      -
1216        name: hist-val
1217        type: u64
1218  -
1219    name: stats-grp-hist
1220    subset-of: stats-grp
1221    attributes:
1222      -
1223        name: hist-bkt-low
1224      -
1225        name: hist-bkt-hi
1226      -
1227        name: hist-val
1228  -
1229    name: stats
1230    attr-cnt-name: __ethtool-a-stats-cnt
1231    attributes:
1232      -
1233        name: unspec
1234        type: unused
1235        value: 0
1236      -
1237        name: pad
1238        type: pad
1239      -
1240        name: header
1241        type: nest
1242        nested-attributes: header
1243      -
1244        name: groups
1245        type: nest
1246        nested-attributes: bitset
1247      -
1248        name: grp
1249        type: nest
1250        nested-attributes: stats-grp
1251      -
1252        name: src
1253        type: u32
1254  -
1255    name: phc-vclocks
1256    attr-cnt-name: __ethtool-a-phc-vclocks-cnt
1257    attributes:
1258      -
1259        name: unspec
1260        type: unused
1261        value: 0
1262      -
1263        name: header
1264        type: nest
1265        nested-attributes: header
1266      -
1267        name: num
1268        type: u32
1269      -
1270        name: index
1271        type: binary
1272        sub-type: s32
1273  -
1274    name: module
1275    attr-cnt-name: __ethtool-a-module-cnt
1276    attributes:
1277      -
1278        name: unspec
1279        type: unused
1280        value: 0
1281      -
1282        name: header
1283        type: nest
1284        nested-attributes: header
1285      -
1286        name: power-mode-policy
1287        type: u8
1288      -
1289        name: power-mode
1290        type: u8
1291  -
1292    name: c33-pse-pw-limit
1293    attr-cnt-name: __ethtool-a-c33-pse-pw-limit-cnt
1294    attr-max-name: __ethtool-a-c33-pse-pw-limit-max
1295    attributes:
1296      -
1297        name: unspec
1298        type: unused
1299        value: 0
1300      -
1301        name: min
1302        type: u32
1303      -
1304        name: max
1305        type: u32
1306  -
1307    name: pse
1308    attr-cnt-name: __ethtool-a-pse-cnt
1309    attributes:
1310      -
1311        name: unspec
1312        type: unused
1313        value: 0
1314      -
1315        name: header
1316        type: nest
1317        nested-attributes: header
1318      -
1319        name: podl-pse-admin-state
1320        type: u32
1321        name-prefix: ethtool-a-
1322      -
1323        name: podl-pse-admin-control
1324        type: u32
1325        name-prefix: ethtool-a-
1326      -
1327        name: podl-pse-pw-d-status
1328        type: u32
1329        name-prefix: ethtool-a-
1330      -
1331        name: c33-pse-admin-state
1332        type: u32
1333        name-prefix: ethtool-a-
1334      -
1335        name: c33-pse-admin-control
1336        type: u32
1337        name-prefix: ethtool-a-
1338      -
1339        name: c33-pse-pw-d-status
1340        type: u32
1341        name-prefix: ethtool-a-
1342      -
1343        name: c33-pse-pw-class
1344        type: u32
1345        name-prefix: ethtool-a-
1346      -
1347        name: c33-pse-actual-pw
1348        type: u32
1349        name-prefix: ethtool-a-
1350      -
1351        name: c33-pse-ext-state
1352        type: u32
1353        name-prefix: ethtool-a-
1354        enum: c33-pse-ext-state
1355      -
1356        name: c33-pse-ext-substate
1357        type: u32
1358        name-prefix: ethtool-a-
1359      -
1360        name: c33-pse-avail-pw-limit
1361        type: u32
1362        name-prefix: ethtool-a-
1363      -
1364        name: c33-pse-pw-limit-ranges
1365        name-prefix: ethtool-a-
1366        type: nest
1367        multi-attr: true
1368        nested-attributes: c33-pse-pw-limit
1369  -
1370    name: rss
1371    attr-cnt-name: __ethtool-a-rss-cnt
1372    attributes:
1373      -
1374        name: unspec
1375        type: unused
1376        value: 0
1377      -
1378        name: header
1379        type: nest
1380        nested-attributes: header
1381      -
1382        name: context
1383        type: u32
1384      -
1385        name: hfunc
1386        type: u32
1387      -
1388        name: indir
1389        type: binary
1390        sub-type: u32
1391      -
1392        name: hkey
1393        type: binary
1394      -
1395        name: input_xfrm
1396        type: u32
1397      -
1398        name: start-context
1399        type: u32
1400  -
1401    name: plca
1402    attr-cnt-name: __ethtool-a-plca-cnt
1403    attributes:
1404      -
1405        name: unspec
1406        type: unused
1407        value: 0
1408      -
1409        name: header
1410        type: nest
1411        nested-attributes: header
1412      -
1413        name: version
1414        type: u16
1415      -
1416        name: enabled
1417        type: u8
1418      -
1419        name: status
1420        type: u8
1421      -
1422        name: node-cnt
1423        type: u32
1424      -
1425        name: node-id
1426        type: u32
1427      -
1428        name: to-tmr
1429        type: u32
1430      -
1431        name: burst-cnt
1432        type: u32
1433      -
1434        name: burst-tmr
1435        type: u32
1436  -
1437    name: module-fw-flash
1438    attr-cnt-name: __ethtool-a-module-fw-flash-cnt
1439    attributes:
1440      -
1441        name: unspec
1442        type: unused
1443        value: 0
1444      -
1445        name: header
1446        type: nest
1447        nested-attributes: header
1448      -
1449        name: file-name
1450        type: string
1451      -
1452        name: password
1453        type: u32
1454      -
1455        name: status
1456        type: u32
1457        enum: module-fw-flash-status
1458      -
1459        name: status-msg
1460        type: string
1461      -
1462        name: done
1463        type: uint
1464      -
1465        name: total
1466        type: uint
1467  -
1468    name: phy
1469    attr-cnt-name: __ethtool-a-phy-cnt
1470    attributes:
1471      -
1472        name: unspec
1473        type: unused
1474        value: 0
1475      -
1476        name: header
1477        type: nest
1478        nested-attributes: header
1479      -
1480        name: index
1481        type: u32
1482      -
1483        name: drvname
1484        type: string
1485      -
1486        name: name
1487        type: string
1488      -
1489        name: upstream-type
1490        type: u32
1491        enum: phy-upstream-type
1492      -
1493        name: upstream-index
1494        type: u32
1495      -
1496        name: upstream-sfp-name
1497        type: string
1498      -
1499        name: downstream-sfp-name
1500        type: string
1501  -
1502    name: tsconfig
1503    attr-cnt-name: __ethtool-a-tsconfig-cnt
1504    attributes:
1505      -
1506        name: unspec
1507        type: unused
1508        value: 0
1509      -
1510        name: header
1511        type: nest
1512        nested-attributes: header
1513      -
1514        name: hwtstamp-provider
1515        type: nest
1516        nested-attributes: ts-hwtstamp-provider
1517      -
1518        name: tx-types
1519        type: nest
1520        nested-attributes: bitset
1521      -
1522        name: rx-filters
1523        type: nest
1524        nested-attributes: bitset
1525      -
1526        name: hwtstamp-flags
1527        type: nest
1528        nested-attributes: bitset
1529
1530operations:
1531  enum-model: directional
1532  name-prefix: ethtool-msg-
1533  list:
1534    -
1535      name: strset-get
1536      doc: Get string set from the kernel.
1537
1538      attribute-set: strset
1539
1540      do: &strset-get-op
1541        request:
1542          attributes:
1543            - header
1544            - stringsets
1545            - counts-only
1546        reply:
1547          attributes:
1548            - header
1549            - stringsets
1550      dump: *strset-get-op
1551    -
1552      name: linkinfo-get
1553      doc: Get link info.
1554
1555      attribute-set: linkinfo
1556
1557      do: &linkinfo-get-op
1558        request:
1559          attributes:
1560            - header
1561        reply:
1562          attributes: &linkinfo
1563            - header
1564            - port
1565            - phyaddr
1566            - tp-mdix
1567            - tp-mdix-ctrl
1568            - transceiver
1569      dump: *linkinfo-get-op
1570    -
1571      name: linkinfo-set
1572      doc: Set link info.
1573
1574      attribute-set: linkinfo
1575
1576      do:
1577        request:
1578          attributes: *linkinfo
1579    -
1580      name: linkinfo-ntf
1581      doc: Notification for change in link info.
1582      notify: linkinfo-get
1583    -
1584      name: linkmodes-get
1585      doc: Get link modes.
1586
1587      attribute-set: linkmodes
1588
1589      do: &linkmodes-get-op
1590        request:
1591          attributes:
1592            - header
1593        reply:
1594          attributes: &linkmodes
1595            - header
1596            - autoneg
1597            - ours
1598            - peer
1599            - speed
1600            - duplex
1601            - master-slave-cfg
1602            - master-slave-state
1603            - lanes
1604            - rate-matching
1605      dump: *linkmodes-get-op
1606    -
1607      name: linkmodes-set
1608      doc: Set link modes.
1609
1610      attribute-set: linkmodes
1611
1612      do:
1613        request:
1614          attributes: *linkmodes
1615    -
1616      name: linkmodes-ntf
1617      doc: Notification for change in link modes.
1618      notify: linkmodes-get
1619    -
1620      name: linkstate-get
1621      doc: Get link state.
1622
1623      attribute-set: linkstate
1624
1625      do: &linkstate-get-op
1626        request:
1627          attributes:
1628            - header
1629        reply:
1630          attributes:
1631            - header
1632            - link
1633            - sqi
1634            - sqi-max
1635            - ext-state
1636            - ext-substate
1637            - ext-down-cnt
1638      dump: *linkstate-get-op
1639    -
1640      name: debug-get
1641      doc: Get debug message mask.
1642
1643      attribute-set: debug
1644
1645      do: &debug-get-op
1646        request:
1647          attributes:
1648            - header
1649        reply:
1650          attributes: &debug
1651            - header
1652            - msgmask
1653      dump: *debug-get-op
1654    -
1655      name: debug-set
1656      doc: Set debug message mask.
1657
1658      attribute-set: debug
1659
1660      do:
1661        request:
1662          attributes: *debug
1663    -
1664      name: debug-ntf
1665      doc: Notification for change in debug message mask.
1666      notify: debug-get
1667    -
1668      name: wol-get
1669      doc: Get WOL params.
1670
1671      attribute-set: wol
1672
1673      do: &wol-get-op
1674        request:
1675          attributes:
1676            - header
1677        reply:
1678          attributes: &wol
1679            - header
1680            - modes
1681            - sopass
1682      dump: *wol-get-op
1683    -
1684      name: wol-set
1685      doc: Set WOL params.
1686
1687      attribute-set: wol
1688
1689      do:
1690        request:
1691          attributes: *wol
1692    -
1693      name: wol-ntf
1694      doc: Notification for change in WOL params.
1695      notify: wol-get
1696    -
1697      name: features-get
1698      doc: Get features.
1699
1700      attribute-set: features
1701
1702      do: &feature-get-op
1703        request:
1704          attributes:
1705            - header
1706        reply:
1707          attributes: &feature
1708            - header
1709            # User-changeable features.
1710            - hw
1711            # User-requested features.
1712            - wanted
1713            # Currently active features.
1714            - active
1715            # Unchangeable features.
1716            - nochange
1717      dump: *feature-get-op
1718    -
1719      name: features-set
1720      doc: Set features.
1721
1722      attribute-set: features
1723
1724      do: &feature-set-op
1725        request:
1726          attributes: *feature
1727        reply:
1728          attributes: *feature
1729    -
1730      name: features-ntf
1731      doc: Notification for change in features.
1732      notify: features-get
1733    -
1734      name: privflags-get
1735      doc: Get device private flags.
1736
1737      attribute-set: privflags
1738
1739      do: &privflag-get-op
1740        request:
1741          attributes:
1742            - header
1743        reply:
1744          attributes: &privflag
1745            - header
1746            - flags
1747      dump: *privflag-get-op
1748    -
1749      name: privflags-set
1750      doc: Set device private flags.
1751
1752      attribute-set: privflags
1753
1754      do:
1755        request:
1756          attributes: *privflag
1757    -
1758      name: privflags-ntf
1759      doc: Notification for change in device private flags.
1760      notify: privflags-get
1761
1762    -
1763      name: rings-get
1764      doc: Get ring params.
1765
1766      attribute-set: rings
1767
1768      do: &ring-get-op
1769        request:
1770          attributes:
1771            - header
1772        reply:
1773          attributes: &ring
1774            - header
1775            - rx-max
1776            - rx-mini-max
1777            - rx-jumbo-max
1778            - tx-max
1779            - rx
1780            - rx-mini
1781            - rx-jumbo
1782            - tx
1783            - rx-buf-len
1784            - tcp-data-split
1785            - cqe-size
1786            - tx-push
1787            - rx-push
1788            - tx-push-buf-len
1789            - tx-push-buf-len-max
1790            - hds-thresh
1791            - hds-thresh-max
1792      dump: *ring-get-op
1793    -
1794      name: rings-set
1795      doc: Set ring params.
1796
1797      attribute-set: rings
1798
1799      do:
1800        request:
1801          attributes: *ring
1802    -
1803      name: rings-ntf
1804      doc: Notification for change in ring params.
1805      notify: rings-get
1806    -
1807      name: channels-get
1808      doc: Get channel params.
1809
1810      attribute-set: channels
1811
1812      do: &channel-get-op
1813        request:
1814          attributes:
1815            - header
1816        reply:
1817          attributes: &channel
1818            - header
1819            - rx-max
1820            - tx-max
1821            - other-max
1822            - combined-max
1823            - rx-count
1824            - tx-count
1825            - other-count
1826            - combined-count
1827      dump: *channel-get-op
1828    -
1829      name: channels-set
1830      doc: Set channel params.
1831
1832      attribute-set: channels
1833
1834      do:
1835        request:
1836          attributes: *channel
1837    -
1838      name: channels-ntf
1839      doc: Notification for change in channel params.
1840      notify: channels-get
1841    -
1842      name: coalesce-get
1843      doc: Get coalesce params.
1844
1845      attribute-set: coalesce
1846
1847      do: &coalesce-get-op
1848        request:
1849          attributes:
1850            - header
1851        reply:
1852          attributes: &coalesce
1853            - header
1854            - rx-usecs
1855            - rx-max-frames
1856            - rx-usecs-irq
1857            - rx-max-frames-irq
1858            - tx-usecs
1859            - tx-max-frames
1860            - tx-usecs-irq
1861            - tx-max-frames-irq
1862            - stats-block-usecs
1863            - use-adaptive-rx
1864            - use-adaptive-tx
1865            - pkt-rate-low
1866            - rx-usecs-low
1867            - rx-max-frames-low
1868            - tx-usecs-low
1869            - tx-max-frames-low
1870            - pkt-rate-high
1871            - rx-usecs-high
1872            - rx-max-frames-high
1873            - tx-usecs-high
1874            - tx-max-frames-high
1875            - rate-sample-interval
1876            - use-cqe-mode-tx
1877            - use-cqe-mode-rx
1878            - tx-aggr-max-bytes
1879            - tx-aggr-max-frames
1880            - tx-aggr-time-usecs
1881            - rx-profile
1882            - tx-profile
1883      dump: *coalesce-get-op
1884    -
1885      name: coalesce-set
1886      doc: Set coalesce params.
1887
1888      attribute-set: coalesce
1889
1890      do:
1891        request:
1892          attributes: *coalesce
1893    -
1894      name: coalesce-ntf
1895      doc: Notification for change in coalesce params.
1896      notify: coalesce-get
1897    -
1898      name: pause-get
1899      doc: Get pause params.
1900
1901      attribute-set: pause
1902
1903      do: &pause-get-op
1904        request:
1905          attributes:
1906            - header
1907        reply:
1908          attributes: &pause
1909            - header
1910            - autoneg
1911            - rx
1912            - tx
1913            - stats
1914            - stats-src
1915      dump: *pause-get-op
1916    -
1917      name: pause-set
1918      doc: Set pause params.
1919
1920      attribute-set: pause
1921
1922      do:
1923        request:
1924          attributes: *pause
1925    -
1926      name: pause-ntf
1927      doc: Notification for change in pause params.
1928      notify: pause-get
1929    -
1930      name: eee-get
1931      doc: Get eee params.
1932
1933      attribute-set: eee
1934
1935      do: &eee-get-op
1936        request:
1937          attributes:
1938            - header
1939        reply:
1940          attributes: &eee
1941            - header
1942            - modes-ours
1943            - modes-peer
1944            - active
1945            - enabled
1946            - tx-lpi-enabled
1947            - tx-lpi-timer
1948      dump: *eee-get-op
1949    -
1950      name: eee-set
1951      doc: Set eee params.
1952
1953      attribute-set: eee
1954
1955      do:
1956        request:
1957          attributes: *eee
1958    -
1959      name: eee-ntf
1960      doc: Notification for change in eee params.
1961      notify: eee-get
1962    -
1963      name: tsinfo-get
1964      doc: Get tsinfo params.
1965
1966      attribute-set: tsinfo
1967
1968      do: &tsinfo-get-op
1969        request:
1970          attributes:
1971            - header
1972            - hwtstamp-provider
1973        reply:
1974          attributes:
1975            - header
1976            - timestamping
1977            - tx-types
1978            - rx-filters
1979            - phc-index
1980            - stats
1981            - hwtstamp-provider
1982      dump: *tsinfo-get-op
1983    -
1984      name: cable-test-act
1985      doc: Cable test.
1986
1987      attribute-set: cable-test
1988
1989      do:
1990        request:
1991          attributes:
1992            - header
1993    -
1994      name: cable-test-ntf
1995      doc: Cable test notification.
1996
1997      attribute-set: cable-test-ntf
1998
1999      event:
2000        attributes:
2001          - header
2002          - status
2003    -
2004      name: cable-test-tdr-act
2005      doc: Cable test TDR.
2006
2007      attribute-set: cable-test-tdr
2008
2009      do:
2010        request:
2011          attributes:
2012            - header
2013    -
2014      name: cable-test-tdr-ntf
2015      doc: Cable test TDR notification.
2016
2017      attribute-set: cable-test-tdr-ntf
2018
2019      event:
2020        attributes:
2021          - header
2022          - status
2023          - nest
2024    -
2025      name: tunnel-info-get
2026      doc: Get tsinfo params.
2027
2028      attribute-set: tunnel-info
2029
2030      do: &tunnel-info-get-op
2031        request:
2032          attributes:
2033            - header
2034        reply:
2035          attributes:
2036            - header
2037            - udp-ports
2038      dump: *tunnel-info-get-op
2039    -
2040      name: fec-get
2041      doc: Get FEC params.
2042
2043      attribute-set: fec
2044
2045      do: &fec-get-op
2046        request:
2047          attributes:
2048            - header
2049        reply:
2050          attributes: &fec
2051            - header
2052            - modes
2053            - auto
2054            - active
2055            - stats
2056      dump: *fec-get-op
2057    -
2058      name: fec-set
2059      doc: Set FEC params.
2060
2061      attribute-set: fec
2062
2063      do:
2064        request:
2065          attributes: *fec
2066    -
2067      name: fec-ntf
2068      doc: Notification for change in FEC params.
2069      notify: fec-get
2070    -
2071      name: module-eeprom-get
2072      doc: Get module EEPROM params.
2073
2074      attribute-set: module-eeprom
2075
2076      do: &module-eeprom-get-op
2077        request:
2078          attributes:
2079            - header
2080        reply:
2081          attributes:
2082            - header
2083            - offset
2084            - length
2085            - page
2086            - bank
2087            - i2c-address
2088            - data
2089      dump: *module-eeprom-get-op
2090    -
2091      name: stats-get
2092      doc: Get statistics.
2093
2094      attribute-set: stats
2095
2096      do: &stats-get-op
2097        request:
2098          attributes:
2099            - header
2100            - groups
2101        reply:
2102          attributes:
2103            - header
2104            - groups
2105            - grp
2106            - src
2107      dump: *stats-get-op
2108    -
2109      name: phc-vclocks-get
2110      doc: Get PHC VCLOCKs.
2111
2112      attribute-set: phc-vclocks
2113
2114      do: &phc-vclocks-get-op
2115        request:
2116          attributes:
2117            - header
2118        reply:
2119          attributes:
2120            - header
2121            - num
2122      dump: *phc-vclocks-get-op
2123    -
2124      name: module-get
2125      doc: Get module params.
2126
2127      attribute-set: module
2128
2129      do: &module-get-op
2130        request:
2131          attributes:
2132            - header
2133        reply:
2134          attributes: &module
2135            - header
2136            - power-mode-policy
2137            - power-mode
2138      dump: *module-get-op
2139    -
2140      name: module-set
2141      doc: Set module params.
2142
2143      attribute-set: module
2144
2145      do:
2146        request:
2147          attributes: *module
2148    -
2149      name: module-ntf
2150      doc: Notification for change in module params.
2151      notify: module-get
2152    -
2153      name: pse-get
2154      doc: Get Power Sourcing Equipment params.
2155
2156      attribute-set: pse
2157
2158      do: &pse-get-op
2159        request:
2160          attributes:
2161            - header
2162        reply:
2163          attributes:
2164            - header
2165            - podl-pse-admin-state
2166            - podl-pse-admin-control
2167            - podl-pse-pw-d-status
2168            - c33-pse-admin-state
2169            - c33-pse-admin-control
2170            - c33-pse-pw-d-status
2171            - c33-pse-pw-class
2172            - c33-pse-actual-pw
2173            - c33-pse-ext-state
2174            - c33-pse-ext-substate
2175            - c33-pse-avail-pw-limit
2176            - c33-pse-pw-limit-ranges
2177      dump: *pse-get-op
2178    -
2179      name: pse-set
2180      doc: Set Power Sourcing Equipment params.
2181
2182      attribute-set: pse
2183
2184      do:
2185        request:
2186          attributes:
2187            - header
2188            - podl-pse-admin-control
2189            - c33-pse-admin-control
2190            - c33-pse-avail-pw-limit
2191    -
2192      name: rss-get
2193      doc: Get RSS params.
2194
2195      attribute-set: rss
2196
2197      do:
2198        request:
2199          attributes:
2200            - header
2201            - context
2202        reply: &rss-reply
2203          attributes:
2204            - header
2205            - context
2206            - hfunc
2207            - indir
2208            - hkey
2209            - input_xfrm
2210      dump:
2211        request:
2212          attributes:
2213            - header
2214            - start-context
2215        reply: *rss-reply
2216    -
2217      name: plca-get-cfg
2218      doc: Get PLCA params.
2219
2220      attribute-set: plca
2221
2222      do: &plca-get-op
2223        request:
2224          attributes:
2225            - header
2226        reply:
2227          attributes: &plca
2228            - header
2229            - version
2230            - enabled
2231            - status
2232            - node-cnt
2233            - node-id
2234            - to-tmr
2235            - burst-cnt
2236            - burst-tmr
2237      dump: *plca-get-op
2238    -
2239      name: plca-set-cfg
2240      doc: Set PLCA params.
2241
2242      attribute-set: plca
2243
2244      do:
2245        request:
2246          attributes: *plca
2247    -
2248      name: plca-get-status
2249      doc: Get PLCA status params.
2250
2251      attribute-set: plca
2252
2253      do: &plca-get-status-op
2254        request:
2255          attributes:
2256            - header
2257        reply:
2258          attributes: *plca
2259      dump: *plca-get-status-op
2260    -
2261      name: plca-ntf
2262      doc: Notification for change in PLCA params.
2263      notify: plca-get-cfg
2264    -
2265      name: mm-get
2266      doc: Get MAC Merge configuration and state
2267
2268      attribute-set: mm
2269
2270      do: &mm-get-op
2271        request:
2272          attributes:
2273            - header
2274        reply:
2275          attributes:
2276            - header
2277            - pmac-enabled
2278            - tx-enabled
2279            - tx-active
2280            - tx-min-frag-size
2281            - rx-min-frag-size
2282            - verify-enabled
2283            - verify-time
2284            - max-verify-time
2285            - stats
2286      dump: *mm-get-op
2287    -
2288      name: mm-set
2289      doc: Set MAC Merge configuration
2290
2291      attribute-set: mm
2292
2293      do:
2294        request:
2295          attributes:
2296            - header
2297            - verify-enabled
2298            - verify-time
2299            - tx-enabled
2300            - pmac-enabled
2301            - tx-min-frag-size
2302    -
2303      name: mm-ntf
2304      doc: Notification for change in MAC Merge configuration.
2305      notify: mm-get
2306    -
2307      name: module-fw-flash-act
2308      doc: Flash transceiver module firmware.
2309
2310      attribute-set: module-fw-flash
2311
2312      do:
2313        request:
2314          attributes:
2315            - header
2316            - file-name
2317            - password
2318    -
2319      name: module-fw-flash-ntf
2320      doc: Notification for firmware flashing progress and status.
2321
2322      attribute-set: module-fw-flash
2323
2324      event:
2325        attributes:
2326          - header
2327          - status
2328          - status-msg
2329          - done
2330          - total
2331    -
2332      name: phy-get
2333      doc: Get PHY devices attached to an interface
2334
2335      attribute-set: phy
2336
2337      do: &phy-get-op
2338        request:
2339          attributes:
2340            - header
2341        reply:
2342          attributes:
2343            - header
2344            - index
2345            - drvname
2346            - name
2347            - upstream-type
2348            - upstream-index
2349            - upstream-sfp-name
2350            - downstream-sfp-name
2351      dump: *phy-get-op
2352    -
2353      name: phy-ntf
2354      doc: Notification for change in PHY devices.
2355      notify: phy-get
2356    -
2357      name: tsconfig-get
2358      doc: Get hwtstamp config.
2359
2360      attribute-set: tsconfig
2361
2362      do: &tsconfig-get-op
2363        request:
2364          attributes:
2365            - header
2366        reply:
2367          attributes: &tsconfig
2368            - header
2369            - hwtstamp-provider
2370            - tx-types
2371            - rx-filters
2372            - hwtstamp-flags
2373      dump: *tsconfig-get-op
2374    -
2375      name: tsconfig-set
2376      doc: Set hwtstamp config.
2377
2378      attribute-set: tsconfig
2379
2380      do:
2381        request:
2382          attributes: *tsconfig
2383        reply:
2384          attributes: *tsconfig
2385