xref: /linux/Documentation/netlink/specs/ethtool.yaml (revision 07cf71bf25cd4e5735ff13468e7b86f02c3665cb)
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-stat
1224    attr-cnt-name: __ethtool-a-fec-stat-cnt
1225    attributes:
1226      -
1227        name: unspec
1228        type: unused
1229        value: 0
1230      -
1231        name: pad
1232        type: pad
1233      -
1234        name: corrected
1235        type: binary
1236        sub-type: u64
1237      -
1238        name: uncorr
1239        type: binary
1240        sub-type: u64
1241      -
1242        name: corr-bits
1243        type: binary
1244        sub-type: u64
1245  -
1246    name: fec
1247    attr-cnt-name: __ethtool-a-fec-cnt
1248    attributes:
1249      -
1250        name: unspec
1251        type: unused
1252        value: 0
1253      -
1254        name: header
1255        type: nest
1256        nested-attributes: header
1257      -
1258        name: modes
1259        type: nest
1260        nested-attributes: bitset
1261      -
1262        name: auto
1263        type: u8
1264      -
1265        name: active
1266        type: u32
1267      -
1268        name: stats
1269        type: nest
1270        nested-attributes: fec-stat
1271  -
1272    name: module-eeprom
1273    attr-cnt-name: __ethtool-a-module-eeprom-cnt
1274    attributes:
1275      -
1276        name: unspec
1277        type: unused
1278        value: 0
1279      -
1280        name: header
1281        type: nest
1282        nested-attributes: header
1283      -
1284        name: offset
1285        type: u32
1286      -
1287        name: length
1288        type: u32
1289      -
1290        name: page
1291        type: u8
1292      -
1293        name: bank
1294        type: u8
1295      -
1296        name: i2c-address
1297        type: u8
1298      -
1299        name: data
1300        type: binary
1301  -
1302    name: stats-grp
1303    attr-cnt-name: __ethtool-a-stats-grp-cnt
1304    attributes:
1305      -
1306        name: unspec
1307        type: unused
1308        value: 0
1309      -
1310        name: pad
1311        type: pad
1312      -
1313        name: id
1314        type: u32
1315      -
1316        name: ss-id
1317        type: u32
1318      -
1319        name: stat
1320        type: u64
1321        type-value: [id]
1322      -
1323        name: hist-rx
1324        type: nest
1325        nested-attributes: stats-grp-hist
1326      -
1327        name: hist-tx
1328        type: nest
1329        nested-attributes: stats-grp-hist
1330      -
1331        name: hist-bkt-low
1332        type: u32
1333      -
1334        name: hist-bkt-hi
1335        type: u32
1336      -
1337        name: hist-val
1338        type: u64
1339  -
1340    name: stats-grp-hist
1341    subset-of: stats-grp
1342    attributes:
1343      -
1344        name: hist-bkt-low
1345      -
1346        name: hist-bkt-hi
1347      -
1348        name: hist-val
1349  -
1350    name: stats
1351    attr-cnt-name: __ethtool-a-stats-cnt
1352    attributes:
1353      -
1354        name: unspec
1355        type: unused
1356        value: 0
1357      -
1358        name: pad
1359        type: pad
1360      -
1361        name: header
1362        type: nest
1363        nested-attributes: header
1364      -
1365        name: groups
1366        type: nest
1367        nested-attributes: bitset
1368      -
1369        name: grp
1370        type: nest
1371        nested-attributes: stats-grp
1372      -
1373        name: src
1374        type: u32
1375  -
1376    name: phc-vclocks
1377    attr-cnt-name: __ethtool-a-phc-vclocks-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: num
1389        type: u32
1390      -
1391        name: index
1392        type: binary
1393        sub-type: s32
1394  -
1395    name: module
1396    attr-cnt-name: __ethtool-a-module-cnt
1397    attributes:
1398      -
1399        name: unspec
1400        type: unused
1401        value: 0
1402      -
1403        name: header
1404        type: nest
1405        nested-attributes: header
1406      -
1407        name: power-mode-policy
1408        type: u8
1409      -
1410        name: power-mode
1411        type: u8
1412  -
1413    name: c33-pse-pw-limit
1414    attr-cnt-name: __ethtool-a-c33-pse-pw-limit-cnt
1415    attr-max-name: __ethtool-a-c33-pse-pw-limit-max
1416    attributes:
1417      -
1418        name: unspec
1419        type: unused
1420        value: 0
1421      -
1422        name: min
1423        type: u32
1424      -
1425        name: max
1426        type: u32
1427  -
1428    name: pse
1429    attr-cnt-name: __ethtool-a-pse-cnt
1430    attributes:
1431      -
1432        name: unspec
1433        type: unused
1434        value: 0
1435      -
1436        name: header
1437        type: nest
1438        nested-attributes: header
1439      -
1440        name: podl-pse-admin-state
1441        type: u32
1442        name-prefix: ethtool-a-
1443      -
1444        name: podl-pse-admin-control
1445        type: u32
1446        name-prefix: ethtool-a-
1447      -
1448        name: podl-pse-pw-d-status
1449        type: u32
1450        name-prefix: ethtool-a-
1451      -
1452        name: c33-pse-admin-state
1453        type: u32
1454        name-prefix: ethtool-a-
1455      -
1456        name: c33-pse-admin-control
1457        type: u32
1458        name-prefix: ethtool-a-
1459      -
1460        name: c33-pse-pw-d-status
1461        type: u32
1462        name-prefix: ethtool-a-
1463      -
1464        name: c33-pse-pw-class
1465        type: u32
1466        name-prefix: ethtool-a-
1467      -
1468        name: c33-pse-actual-pw
1469        type: u32
1470        name-prefix: ethtool-a-
1471      -
1472        name: c33-pse-ext-state
1473        type: u32
1474        name-prefix: ethtool-a-
1475        enum: c33-pse-ext-state
1476      -
1477        name: c33-pse-ext-substate
1478        type: u32
1479        name-prefix: ethtool-a-
1480      -
1481        name: c33-pse-avail-pw-limit
1482        type: u32
1483        name-prefix: ethtool-a-
1484      -
1485        name: c33-pse-pw-limit-ranges
1486        name-prefix: ethtool-a-
1487        type: nest
1488        multi-attr: true
1489        nested-attributes: c33-pse-pw-limit
1490      -
1491        name: pse-pw-d-id
1492        type: u32
1493        name-prefix: ethtool-a-
1494      -
1495        name: pse-prio-max
1496        type: u32
1497        name-prefix: ethtool-a-
1498      -
1499        name: pse-prio
1500        type: u32
1501        name-prefix: ethtool-a-
1502  -
1503    name: flow
1504    attr-cnt-name: --ethtool-a-flow-cnt
1505    doc: |
1506      Flow types, corresponding to those defined in the old
1507      ethtool header for RXFH and RXNFC as ${PROTO}_FLOW.
1508      The values are not matching the old ones to avoid carrying
1509      into Netlink the IP_USER_FLOW vs IPV4_FLOW vs IPV4_USER_FLOW confusion.
1510    attributes:
1511      -
1512        name: ether
1513        type: uint
1514        enum: rxfh-fields
1515      -
1516        name: ip4
1517        type: uint
1518        enum: rxfh-fields
1519      -
1520        name: ip6
1521        type: uint
1522        enum: rxfh-fields
1523      -
1524        name: tcp4
1525        type: uint
1526        enum: rxfh-fields
1527      -
1528        name: tcp6
1529        type: uint
1530        enum: rxfh-fields
1531      -
1532        name: udp4
1533        type: uint
1534        enum: rxfh-fields
1535      -
1536        name: udp6
1537        type: uint
1538        enum: rxfh-fields
1539      -
1540        name: sctp4
1541        type: uint
1542        enum: rxfh-fields
1543      -
1544        name: sctp6
1545        type: uint
1546        enum: rxfh-fields
1547      -
1548        name: ah4
1549        type: uint
1550        enum: rxfh-fields
1551      -
1552        name: ah6
1553        type: uint
1554        enum: rxfh-fields
1555      -
1556        name: esp4
1557        type: uint
1558        enum: rxfh-fields
1559      -
1560        name: esp6
1561        type: uint
1562        enum: rxfh-fields
1563      -
1564        name: ah-esp4
1565        type: uint
1566        enum: rxfh-fields
1567      -
1568        name: ah-esp6
1569        type: uint
1570        enum: rxfh-fields
1571      -
1572        name: gtpu4
1573        type: uint
1574        enum: rxfh-fields
1575      -
1576        name: gtpu6
1577        type: uint
1578        enum: rxfh-fields
1579      -
1580        name: gtpc4
1581        type: uint
1582        enum: rxfh-fields
1583      -
1584        name: gtpc6
1585        type: uint
1586        enum: rxfh-fields
1587      -
1588        name: gtpc-teid4
1589        type: uint
1590        enum: rxfh-fields
1591      -
1592        name: gtpc-teid6
1593        type: uint
1594        enum: rxfh-fields
1595      -
1596        name: gtpu-eh4
1597        type: uint
1598        enum: rxfh-fields
1599      -
1600        name: gtpu-eh6
1601        type: uint
1602        enum: rxfh-fields
1603      -
1604        name: gtpu-ul4
1605        type: uint
1606        enum: rxfh-fields
1607      -
1608        name: gtpu-ul6
1609        type: uint
1610        enum: rxfh-fields
1611      -
1612        name: gtpu-dl4
1613        type: uint
1614        enum: rxfh-fields
1615      -
1616        name: gtpu-dl6
1617        type: uint
1618        enum: rxfh-fields
1619  -
1620    name: rss
1621    attr-cnt-name: __ethtool-a-rss-cnt
1622    attributes:
1623      -
1624        name: unspec
1625        type: unused
1626        value: 0
1627      -
1628        name: header
1629        type: nest
1630        nested-attributes: header
1631      -
1632        name: context
1633        type: u32
1634      -
1635        name: hfunc
1636        type: u32
1637      -
1638        name: indir
1639        type: binary
1640        sub-type: u32
1641      -
1642        name: hkey
1643        type: binary
1644      -
1645        name: input-xfrm
1646        type: u32
1647        enum: input-xfrm
1648      -
1649        name: start-context
1650        type: u32
1651      -
1652        name: flow-hash
1653        type: nest
1654        nested-attributes: flow
1655  -
1656    name: plca
1657    attr-cnt-name: __ethtool-a-plca-cnt
1658    attributes:
1659      -
1660        name: unspec
1661        type: unused
1662        value: 0
1663      -
1664        name: header
1665        type: nest
1666        nested-attributes: header
1667      -
1668        name: version
1669        type: u16
1670      -
1671        name: enabled
1672        type: u8
1673      -
1674        name: status
1675        type: u8
1676      -
1677        name: node-cnt
1678        type: u32
1679      -
1680        name: node-id
1681        type: u32
1682      -
1683        name: to-tmr
1684        type: u32
1685      -
1686        name: burst-cnt
1687        type: u32
1688      -
1689        name: burst-tmr
1690        type: u32
1691  -
1692    name: module-fw-flash
1693    attr-cnt-name: __ethtool-a-module-fw-flash-cnt
1694    attributes:
1695      -
1696        name: unspec
1697        type: unused
1698        value: 0
1699      -
1700        name: header
1701        type: nest
1702        nested-attributes: header
1703      -
1704        name: file-name
1705        type: string
1706      -
1707        name: password
1708        type: u32
1709      -
1710        name: status
1711        type: u32
1712        enum: module-fw-flash-status
1713      -
1714        name: status-msg
1715        type: string
1716      -
1717        name: done
1718        type: uint
1719      -
1720        name: total
1721        type: uint
1722  -
1723    name: phy
1724    attr-cnt-name: __ethtool-a-phy-cnt
1725    attributes:
1726      -
1727        name: unspec
1728        type: unused
1729        value: 0
1730      -
1731        name: header
1732        type: nest
1733        nested-attributes: header
1734      -
1735        name: index
1736        type: u32
1737      -
1738        name: drvname
1739        type: string
1740      -
1741        name: name
1742        type: string
1743      -
1744        name: upstream-type
1745        type: u32
1746        enum: phy-upstream-type
1747      -
1748        name: upstream-index
1749        type: u32
1750      -
1751        name: upstream-sfp-name
1752        type: string
1753      -
1754        name: downstream-sfp-name
1755        type: string
1756  -
1757    name: tsconfig
1758    attr-cnt-name: __ethtool-a-tsconfig-cnt
1759    attributes:
1760      -
1761        name: unspec
1762        type: unused
1763        value: 0
1764      -
1765        name: header
1766        type: nest
1767        nested-attributes: header
1768      -
1769        name: hwtstamp-provider
1770        type: nest
1771        nested-attributes: ts-hwtstamp-provider
1772      -
1773        name: tx-types
1774        type: nest
1775        nested-attributes: bitset
1776      -
1777        name: rx-filters
1778        type: nest
1779        nested-attributes: bitset
1780      -
1781        name: hwtstamp-flags
1782        type: nest
1783        nested-attributes: bitset
1784  -
1785    name: pse-ntf
1786    attr-cnt-name: --ethtool-a-pse-ntf-cnt
1787    attributes:
1788      -
1789        name: header
1790        type: nest
1791        nested-attributes: header
1792      -
1793        name: events
1794        type: uint
1795        enum: pse-event
1796        doc: List of events reported by the PSE controller
1797
1798operations:
1799  enum-model: directional
1800  name-prefix: ethtool-msg-
1801  list:
1802    -
1803      name: strset-get
1804      doc: Get string set from the kernel.
1805
1806      attribute-set: strset
1807
1808      do: &strset-get-op
1809        request:
1810          attributes:
1811            - header
1812            - stringsets
1813            - counts-only
1814        reply:
1815          attributes:
1816            - header
1817            - stringsets
1818      dump: *strset-get-op
1819    -
1820      name: linkinfo-get
1821      doc: Get link info.
1822
1823      attribute-set: linkinfo
1824
1825      do: &linkinfo-get-op
1826        request:
1827          attributes:
1828            - header
1829        reply:
1830          attributes: &linkinfo
1831            - header
1832            - port
1833            - phyaddr
1834            - tp-mdix
1835            - tp-mdix-ctrl
1836            - transceiver
1837      dump: *linkinfo-get-op
1838    -
1839      name: linkinfo-set
1840      doc: Set link info.
1841
1842      attribute-set: linkinfo
1843
1844      do:
1845        request:
1846          attributes: *linkinfo
1847    -
1848      name: linkinfo-ntf
1849      doc: Notification for change in link info.
1850      notify: linkinfo-get
1851    -
1852      name: linkmodes-get
1853      doc: Get link modes.
1854
1855      attribute-set: linkmodes
1856
1857      do: &linkmodes-get-op
1858        request:
1859          attributes:
1860            - header
1861        reply:
1862          attributes: &linkmodes
1863            - header
1864            - autoneg
1865            - ours
1866            - peer
1867            - speed
1868            - duplex
1869            - master-slave-cfg
1870            - master-slave-state
1871            - lanes
1872            - rate-matching
1873      dump: *linkmodes-get-op
1874    -
1875      name: linkmodes-set
1876      doc: Set link modes.
1877
1878      attribute-set: linkmodes
1879
1880      do:
1881        request:
1882          attributes: *linkmodes
1883    -
1884      name: linkmodes-ntf
1885      doc: Notification for change in link modes.
1886      notify: linkmodes-get
1887    -
1888      name: linkstate-get
1889      doc: Get link state.
1890
1891      attribute-set: linkstate
1892
1893      do: &linkstate-get-op
1894        request:
1895          attributes:
1896            - header
1897        reply:
1898          attributes:
1899            - header
1900            - link
1901            - sqi
1902            - sqi-max
1903            - ext-state
1904            - ext-substate
1905            - ext-down-cnt
1906      dump: *linkstate-get-op
1907    -
1908      name: debug-get
1909      doc: Get debug message mask.
1910
1911      attribute-set: debug
1912
1913      do: &debug-get-op
1914        request:
1915          attributes:
1916            - header
1917        reply:
1918          attributes: &debug
1919            - header
1920            - msgmask
1921      dump: *debug-get-op
1922    -
1923      name: debug-set
1924      doc: Set debug message mask.
1925
1926      attribute-set: debug
1927
1928      do:
1929        request:
1930          attributes: *debug
1931    -
1932      name: debug-ntf
1933      doc: Notification for change in debug message mask.
1934      notify: debug-get
1935    -
1936      name: wol-get
1937      doc: Get WOL params.
1938
1939      attribute-set: wol
1940
1941      do: &wol-get-op
1942        request:
1943          attributes:
1944            - header
1945        reply:
1946          attributes: &wol
1947            - header
1948            - modes
1949            - sopass
1950      dump: *wol-get-op
1951    -
1952      name: wol-set
1953      doc: Set WOL params.
1954
1955      attribute-set: wol
1956
1957      do:
1958        request:
1959          attributes: *wol
1960    -
1961      name: wol-ntf
1962      doc: Notification for change in WOL params.
1963      notify: wol-get
1964    -
1965      name: features-get
1966      doc: Get features.
1967
1968      attribute-set: features
1969
1970      do: &feature-get-op
1971        request:
1972          attributes:
1973            - header
1974        reply:
1975          attributes: &feature
1976            - header
1977            # User-changeable features.
1978            - hw
1979            # User-requested features.
1980            - wanted
1981            # Currently active features.
1982            - active
1983            # Unchangeable features.
1984            - nochange
1985      dump: *feature-get-op
1986    -
1987      name: features-set
1988      doc: Set features.
1989
1990      attribute-set: features
1991
1992      do: &feature-set-op
1993        request:
1994          attributes: *feature
1995        reply:
1996          attributes: *feature
1997    -
1998      name: features-ntf
1999      doc: Notification for change in features.
2000      notify: features-get
2001    -
2002      name: privflags-get
2003      doc: Get device private flags.
2004
2005      attribute-set: privflags
2006
2007      do: &privflag-get-op
2008        request:
2009          attributes:
2010            - header
2011        reply:
2012          attributes: &privflag
2013            - header
2014            - flags
2015      dump: *privflag-get-op
2016    -
2017      name: privflags-set
2018      doc: Set device private flags.
2019
2020      attribute-set: privflags
2021
2022      do:
2023        request:
2024          attributes: *privflag
2025    -
2026      name: privflags-ntf
2027      doc: Notification for change in device private flags.
2028      notify: privflags-get
2029
2030    -
2031      name: rings-get
2032      doc: Get ring params.
2033
2034      attribute-set: rings
2035
2036      do: &ring-get-op
2037        request:
2038          attributes:
2039            - header
2040        reply:
2041          attributes: &ring
2042            - header
2043            - rx-max
2044            - rx-mini-max
2045            - rx-jumbo-max
2046            - tx-max
2047            - rx
2048            - rx-mini
2049            - rx-jumbo
2050            - tx
2051            - rx-buf-len
2052            - tcp-data-split
2053            - cqe-size
2054            - tx-push
2055            - rx-push
2056            - tx-push-buf-len
2057            - tx-push-buf-len-max
2058            - hds-thresh
2059            - hds-thresh-max
2060      dump: *ring-get-op
2061    -
2062      name: rings-set
2063      doc: Set ring params.
2064
2065      attribute-set: rings
2066
2067      do:
2068        request:
2069          attributes: *ring
2070    -
2071      name: rings-ntf
2072      doc: Notification for change in ring params.
2073      notify: rings-get
2074    -
2075      name: channels-get
2076      doc: Get channel params.
2077
2078      attribute-set: channels
2079
2080      do: &channel-get-op
2081        request:
2082          attributes:
2083            - header
2084        reply:
2085          attributes: &channel
2086            - header
2087            - rx-max
2088            - tx-max
2089            - other-max
2090            - combined-max
2091            - rx-count
2092            - tx-count
2093            - other-count
2094            - combined-count
2095      dump: *channel-get-op
2096    -
2097      name: channels-set
2098      doc: Set channel params.
2099
2100      attribute-set: channels
2101
2102      do:
2103        request:
2104          attributes: *channel
2105    -
2106      name: channels-ntf
2107      doc: Notification for change in channel params.
2108      notify: channels-get
2109    -
2110      name: coalesce-get
2111      doc: Get coalesce params.
2112
2113      attribute-set: coalesce
2114
2115      do: &coalesce-get-op
2116        request:
2117          attributes:
2118            - header
2119        reply:
2120          attributes: &coalesce
2121            - header
2122            - rx-usecs
2123            - rx-max-frames
2124            - rx-usecs-irq
2125            - rx-max-frames-irq
2126            - tx-usecs
2127            - tx-max-frames
2128            - tx-usecs-irq
2129            - tx-max-frames-irq
2130            - stats-block-usecs
2131            - use-adaptive-rx
2132            - use-adaptive-tx
2133            - pkt-rate-low
2134            - rx-usecs-low
2135            - rx-max-frames-low
2136            - tx-usecs-low
2137            - tx-max-frames-low
2138            - pkt-rate-high
2139            - rx-usecs-high
2140            - rx-max-frames-high
2141            - tx-usecs-high
2142            - tx-max-frames-high
2143            - rate-sample-interval
2144            - use-cqe-mode-tx
2145            - use-cqe-mode-rx
2146            - tx-aggr-max-bytes
2147            - tx-aggr-max-frames
2148            - tx-aggr-time-usecs
2149            - rx-profile
2150            - tx-profile
2151      dump: *coalesce-get-op
2152    -
2153      name: coalesce-set
2154      doc: Set coalesce params.
2155
2156      attribute-set: coalesce
2157
2158      do:
2159        request:
2160          attributes: *coalesce
2161    -
2162      name: coalesce-ntf
2163      doc: Notification for change in coalesce params.
2164      notify: coalesce-get
2165    -
2166      name: pause-get
2167      doc: Get pause params.
2168
2169      attribute-set: pause
2170
2171      do: &pause-get-op
2172        request:
2173          attributes:
2174            - header
2175        reply:
2176          attributes: &pause
2177            - header
2178            - autoneg
2179            - rx
2180            - tx
2181            - stats
2182            - stats-src
2183      dump: *pause-get-op
2184    -
2185      name: pause-set
2186      doc: Set pause params.
2187
2188      attribute-set: pause
2189
2190      do:
2191        request:
2192          attributes: *pause
2193    -
2194      name: pause-ntf
2195      doc: Notification for change in pause params.
2196      notify: pause-get
2197    -
2198      name: eee-get
2199      doc: Get eee params.
2200
2201      attribute-set: eee
2202
2203      do: &eee-get-op
2204        request:
2205          attributes:
2206            - header
2207        reply:
2208          attributes: &eee
2209            - header
2210            - modes-ours
2211            - modes-peer
2212            - active
2213            - enabled
2214            - tx-lpi-enabled
2215            - tx-lpi-timer
2216      dump: *eee-get-op
2217    -
2218      name: eee-set
2219      doc: Set eee params.
2220
2221      attribute-set: eee
2222
2223      do:
2224        request:
2225          attributes: *eee
2226    -
2227      name: eee-ntf
2228      doc: Notification for change in eee params.
2229      notify: eee-get
2230    -
2231      name: tsinfo-get
2232      doc: Get tsinfo params.
2233
2234      attribute-set: tsinfo
2235
2236      do: &tsinfo-get-op
2237        request:
2238          attributes:
2239            - header
2240            - hwtstamp-provider
2241        reply:
2242          attributes:
2243            - header
2244            - timestamping
2245            - tx-types
2246            - rx-filters
2247            - phc-index
2248            - stats
2249            - hwtstamp-provider
2250            - hwtstamp-source
2251            - hwtstamp-phyindex
2252      dump: *tsinfo-get-op
2253    -
2254      name: cable-test-act
2255      doc: Cable test.
2256
2257      attribute-set: cable-test
2258
2259      do:
2260        request:
2261          attributes:
2262            - header
2263    -
2264      name: cable-test-ntf
2265      doc: Cable test notification.
2266
2267      attribute-set: cable-test-ntf
2268
2269      event:
2270        attributes:
2271          - header
2272          - status
2273    -
2274      name: cable-test-tdr-act
2275      doc: Cable test TDR.
2276
2277      attribute-set: cable-test-tdr
2278
2279      do:
2280        request:
2281          attributes:
2282            - header
2283    -
2284      name: cable-test-tdr-ntf
2285      doc: Cable test TDR notification.
2286
2287      attribute-set: cable-test-tdr-ntf
2288
2289      event:
2290        attributes:
2291          - header
2292          - status
2293          - nest
2294    -
2295      name: tunnel-info-get
2296      doc: Get tsinfo params.
2297
2298      attribute-set: tunnel-info
2299
2300      do: &tunnel-info-get-op
2301        request:
2302          attributes:
2303            - header
2304        reply:
2305          attributes:
2306            - header
2307            - udp-ports
2308      dump: *tunnel-info-get-op
2309    -
2310      name: fec-get
2311      doc: Get FEC params.
2312
2313      attribute-set: fec
2314
2315      do: &fec-get-op
2316        request:
2317          attributes:
2318            - header
2319        reply:
2320          attributes: &fec
2321            - header
2322            - modes
2323            - auto
2324            - active
2325            - stats
2326      dump: *fec-get-op
2327    -
2328      name: fec-set
2329      doc: Set FEC params.
2330
2331      attribute-set: fec
2332
2333      do:
2334        request:
2335          attributes: *fec
2336    -
2337      name: fec-ntf
2338      doc: Notification for change in FEC params.
2339      notify: fec-get
2340    -
2341      name: module-eeprom-get
2342      doc: Get module EEPROM params.
2343
2344      attribute-set: module-eeprom
2345
2346      do: &module-eeprom-get-op
2347        request:
2348          attributes:
2349            - header
2350            - offset
2351            - length
2352            - page
2353            - bank
2354            - i2c-address
2355        reply:
2356          attributes:
2357            - header
2358            - data
2359      dump: *module-eeprom-get-op
2360    -
2361      name: stats-get
2362      doc: Get statistics.
2363
2364      attribute-set: stats
2365
2366      do: &stats-get-op
2367        request:
2368          attributes:
2369            - header
2370            - groups
2371        reply:
2372          attributes:
2373            - header
2374            - groups
2375            - grp
2376            - src
2377      dump: *stats-get-op
2378    -
2379      name: phc-vclocks-get
2380      doc: Get PHC VCLOCKs.
2381
2382      attribute-set: phc-vclocks
2383
2384      do: &phc-vclocks-get-op
2385        request:
2386          attributes:
2387            - header
2388        reply:
2389          attributes:
2390            - header
2391            - num
2392      dump: *phc-vclocks-get-op
2393    -
2394      name: module-get
2395      doc: Get module params.
2396
2397      attribute-set: module
2398
2399      do: &module-get-op
2400        request:
2401          attributes:
2402            - header
2403        reply:
2404          attributes: &module
2405            - header
2406            - power-mode-policy
2407            - power-mode
2408      dump: *module-get-op
2409    -
2410      name: module-set
2411      doc: Set module params.
2412
2413      attribute-set: module
2414
2415      do:
2416        request:
2417          attributes: *module
2418    -
2419      name: module-ntf
2420      doc: Notification for change in module params.
2421      notify: module-get
2422    -
2423      name: pse-get
2424      doc: Get Power Sourcing Equipment params.
2425
2426      attribute-set: pse
2427
2428      do: &pse-get-op
2429        request:
2430          attributes:
2431            - header
2432        reply:
2433          attributes:
2434            - header
2435            - podl-pse-admin-state
2436            - podl-pse-admin-control
2437            - podl-pse-pw-d-status
2438            - c33-pse-admin-state
2439            - c33-pse-admin-control
2440            - c33-pse-pw-d-status
2441            - c33-pse-pw-class
2442            - c33-pse-actual-pw
2443            - c33-pse-ext-state
2444            - c33-pse-ext-substate
2445            - c33-pse-avail-pw-limit
2446            - c33-pse-pw-limit-ranges
2447            - pse-pw-d-id
2448            - pse-prio-max
2449            - pse-prio
2450      dump: *pse-get-op
2451    -
2452      name: pse-set
2453      doc: Set Power Sourcing Equipment params.
2454
2455      attribute-set: pse
2456
2457      do:
2458        request:
2459          attributes:
2460            - header
2461            - podl-pse-admin-control
2462            - c33-pse-admin-control
2463            - c33-pse-avail-pw-limit
2464            - pse-prio
2465    -
2466      name: rss-get
2467      doc: Get RSS params.
2468
2469      attribute-set: rss
2470
2471      do:
2472        request:
2473          attributes:
2474            - header
2475            - context
2476        reply: &rss-reply
2477          attributes:
2478            - header
2479            - context
2480            - hfunc
2481            - indir
2482            - hkey
2483            - input-xfrm
2484            - flow-hash
2485      dump:
2486        request:
2487          attributes:
2488            - header
2489            - start-context
2490        reply: *rss-reply
2491    -
2492      name: plca-get-cfg
2493      doc: Get PLCA params.
2494
2495      attribute-set: plca
2496
2497      do: &plca-get-op
2498        request:
2499          attributes:
2500            - header
2501        reply:
2502          attributes: &plca
2503            - header
2504            - version
2505            - enabled
2506            - status
2507            - node-cnt
2508            - node-id
2509            - to-tmr
2510            - burst-cnt
2511            - burst-tmr
2512      dump: *plca-get-op
2513    -
2514      name: plca-set-cfg
2515      doc: Set PLCA params.
2516
2517      attribute-set: plca
2518
2519      do:
2520        request:
2521          attributes: *plca
2522    -
2523      name: plca-get-status
2524      doc: Get PLCA status params.
2525
2526      attribute-set: plca
2527
2528      do: &plca-get-status-op
2529        request:
2530          attributes:
2531            - header
2532        reply:
2533          attributes: *plca
2534      dump: *plca-get-status-op
2535    -
2536      name: plca-ntf
2537      doc: Notification for change in PLCA params.
2538      notify: plca-get-cfg
2539    -
2540      name: mm-get
2541      doc: Get MAC Merge configuration and state
2542
2543      attribute-set: mm
2544
2545      do: &mm-get-op
2546        request:
2547          attributes:
2548            - header
2549        reply:
2550          attributes:
2551            - header
2552            - pmac-enabled
2553            - tx-enabled
2554            - tx-active
2555            - tx-min-frag-size
2556            - rx-min-frag-size
2557            - verify-enabled
2558            - verify-time
2559            - max-verify-time
2560            - stats
2561      dump: *mm-get-op
2562    -
2563      name: mm-set
2564      doc: Set MAC Merge configuration
2565
2566      attribute-set: mm
2567
2568      do:
2569        request:
2570          attributes:
2571            - header
2572            - verify-enabled
2573            - verify-time
2574            - tx-enabled
2575            - pmac-enabled
2576            - tx-min-frag-size
2577    -
2578      name: mm-ntf
2579      doc: Notification for change in MAC Merge configuration.
2580      notify: mm-get
2581    -
2582      name: module-fw-flash-act
2583      doc: Flash transceiver module firmware.
2584
2585      attribute-set: module-fw-flash
2586
2587      do:
2588        request:
2589          attributes:
2590            - header
2591            - file-name
2592            - password
2593    -
2594      name: module-fw-flash-ntf
2595      doc: Notification for firmware flashing progress and status.
2596
2597      attribute-set: module-fw-flash
2598
2599      event:
2600        attributes:
2601          - header
2602          - status
2603          - status-msg
2604          - done
2605          - total
2606    -
2607      name: phy-get
2608      doc: Get PHY devices attached to an interface
2609
2610      attribute-set: phy
2611
2612      do: &phy-get-op
2613        request:
2614          attributes:
2615            - header
2616        reply:
2617          attributes:
2618            - header
2619            - index
2620            - drvname
2621            - name
2622            - upstream-type
2623            - upstream-index
2624            - upstream-sfp-name
2625            - downstream-sfp-name
2626      dump: *phy-get-op
2627    -
2628      name: phy-ntf
2629      doc: Notification for change in PHY devices.
2630      notify: phy-get
2631    -
2632      name: tsconfig-get
2633      doc: Get hwtstamp config.
2634
2635      attribute-set: tsconfig
2636
2637      do: &tsconfig-get-op
2638        request:
2639          attributes:
2640            - header
2641        reply:
2642          attributes: &tsconfig
2643            - header
2644            - hwtstamp-provider
2645            - tx-types
2646            - rx-filters
2647            - hwtstamp-flags
2648      dump: *tsconfig-get-op
2649    -
2650      name: tsconfig-set
2651      doc: Set hwtstamp config.
2652
2653      attribute-set: tsconfig
2654
2655      do:
2656        request:
2657          attributes: *tsconfig
2658        reply:
2659          attributes: *tsconfig
2660    -
2661      name: pse-ntf
2662      doc: Notification for PSE events.
2663
2664      attribute-set: pse-ntf
2665
2666      event:
2667        attributes:
2668          - header
2669          - events
2670    -
2671      name: rss-set
2672      doc: Set RSS params.
2673
2674      attribute-set: rss
2675
2676      do:
2677        request:
2678          attributes:
2679            - header
2680            - context
2681            - hfunc
2682            - indir
2683            - hkey
2684            - input-xfrm
2685            - flow-hash
2686    -
2687      name: rss-ntf
2688      doc: |
2689        Notification for change in RSS configuration.
2690        For additional contexts only modifications use this notification,
2691        creation and deletion have dedicated messages.
2692      notify: rss-get
2693    -
2694      name: rss-create-act
2695      doc: Create an RSS context.
2696      attribute-set: rss
2697      do:
2698        request: &rss-create-attrs
2699          attributes:
2700            - header
2701            - context
2702            - hfunc
2703            - indir
2704            - hkey
2705            - input-xfrm
2706        reply: *rss-create-attrs
2707    -
2708      name: rss-create-ntf
2709      doc: |
2710        Notification for creation of an additional RSS context.
2711      notify: rss-create-act
2712    -
2713      name: rss-delete-act
2714      doc: Delete an RSS context.
2715      attribute-set: rss
2716      do:
2717        request:
2718          attributes:
2719            - header
2720            - context
2721    -
2722      name: rss-delete-ntf
2723      doc: |
2724        Notification for deletion of an additional RSS context.
2725      attribute-set: rss
2726      event:
2727        attributes:
2728          - header
2729          - context
2730
2731mcast-groups:
2732  list:
2733    -
2734      name: monitor
2735      c-define-name: ethtool-mcgrp-monitor-name
2736