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