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