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