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