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