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