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