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