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