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