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