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