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