xref: /linux/Documentation/netlink/specs/ethtool.yaml (revision 3e64db35bc37edbe9e37aaa987df92cde12ddb6c)
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.
8
9definitions:
10  -
11    name: udp-tunnel-type
12    enum-name:
13    type: enum
14    entries: [ vxlan, geneve, vxlan-gpe ]
15  -
16    name: stringset
17    type: enum
18    entries: []
19  -
20    name: phy-upstream-type
21    enum-name:
22    type: enum
23    entries: [ mac, phy ]
24
25attribute-sets:
26  -
27    name: header
28    attributes:
29      -
30        name: dev-index
31        type: u32
32      -
33        name: dev-name
34        type: string
35      -
36        name: flags
37        type: u32
38      -
39        name: phy-index
40        type: u32
41
42  -
43    name: bitset-bit
44    attributes:
45      -
46        name: index
47        type: u32
48      -
49        name: name
50        type: string
51      -
52        name: value
53        type: flag
54  -
55    name: bitset-bits
56    attributes:
57      -
58        name: bit
59        type: nest
60        multi-attr: true
61        nested-attributes: bitset-bit
62  -
63    name: bitset
64    attributes:
65      -
66        name: nomask
67        type: flag
68      -
69        name: size
70        type: u32
71      -
72        name: bits
73        type: nest
74        nested-attributes: bitset-bits
75
76  -
77    name: string
78    attributes:
79      -
80        name: index
81        type: u32
82      -
83        name: value
84        type: string
85  -
86    name: strings
87    attributes:
88      -
89        name: string
90        type: nest
91        multi-attr: true
92        nested-attributes: string
93  -
94    name: stringset
95    attributes:
96      -
97        name: id
98        type: u32
99      -
100        name: count
101        type: u32
102      -
103        name: strings
104        type: nest
105        multi-attr: true
106        nested-attributes: strings
107  -
108    name: stringsets
109    attributes:
110      -
111        name: stringset
112        type: nest
113        multi-attr: true
114        nested-attributes: stringset
115  -
116    name: strset
117    attributes:
118      -
119        name: header
120        type: nest
121        nested-attributes: header
122      -
123        name: stringsets
124        type: nest
125        nested-attributes: stringsets
126      -
127        name: counts-only
128        type: flag
129
130  -
131    name: privflags
132    attributes:
133      -
134        name: header
135        type: nest
136        nested-attributes: header
137      -
138        name: flags
139        type: nest
140        nested-attributes: bitset
141
142  -
143    name: rings
144    attributes:
145      -
146        name: header
147        type: nest
148        nested-attributes: header
149      -
150        name: rx-max
151        type: u32
152      -
153        name: rx-mini-max
154        type: u32
155      -
156        name: rx-jumbo-max
157        type: u32
158      -
159        name: tx-max
160        type: u32
161      -
162        name: rx
163        type: u32
164      -
165        name: rx-mini
166        type: u32
167      -
168        name: rx-jumbo
169        type: u32
170      -
171        name: tx
172        type: u32
173      -
174        name: rx-buf-len
175        type: u32
176      -
177        name: tcp-data-split
178        type: u8
179      -
180        name: cqe-size
181        type: u32
182      -
183        name: tx-push
184        type: u8
185      -
186        name: rx-push
187        type: u8
188      -
189        name: tx-push-buf-len
190        type: u32
191      -
192        name: tx-push-buf-len-max
193        type: u32
194
195  -
196    name: mm-stat
197    attributes:
198      -
199        name: pad
200        type: pad
201      -
202        name: reassembly-errors
203        type: u64
204      -
205        name: smd-errors
206        type: u64
207      -
208        name: reassembly-ok
209        type: u64
210      -
211        name: rx-frag-count
212        type: u64
213      -
214        name: tx-frag-count
215        type: u64
216      -
217        name: hold-count
218        type: u64
219  -
220    name: mm
221    attributes:
222      -
223        name: header
224        type: nest
225        nested-attributes: header
226      -
227        name: pmac-enabled
228        type: u8
229      -
230        name: tx-enabled
231        type: u8
232      -
233        name: tx-active
234        type: u8
235      -
236        name: tx-min-frag-size
237        type: u32
238      -
239        name: rx-min-frag-size
240        type: u32
241      -
242        name: verify-enabled
243        type: u8
244      -
245        name: verify-status
246        type: u8
247      -
248        name: verify-time
249        type: u32
250      -
251        name: max-verify-time
252        type: u32
253      -
254        name: stats
255        type: nest
256        nested-attributes: mm-stat
257  -
258    name: linkinfo
259    attributes:
260      -
261        name: header
262        type: nest
263        nested-attributes: header
264      -
265        name: port
266        type: u8
267      -
268        name: phyaddr
269        type: u8
270      -
271        name: tp-mdix
272        type: u8
273      -
274        name: tp-mdix-ctrl
275        type: u8
276      -
277        name: transceiver
278        type: u8
279  -
280    name: linkmodes
281    attributes:
282      -
283        name: header
284        type: nest
285        nested-attributes: header
286      -
287        name: autoneg
288        type: u8
289      -
290        name: ours
291        type: nest
292        nested-attributes: bitset
293      -
294        name: peer
295        type: nest
296        nested-attributes: bitset
297      -
298        name: speed
299        type: u32
300      -
301        name: duplex
302        type: u8
303      -
304        name: master-slave-cfg
305        type: u8
306      -
307        name: master-slave-state
308        type: u8
309      -
310        name: lanes
311        type: u32
312      -
313        name: rate-matching
314        type: u8
315  -
316    name: linkstate
317    attributes:
318      -
319        name: header
320        type: nest
321        nested-attributes: header
322      -
323        name: link
324        type: u8
325      -
326        name: sqi
327        type: u32
328      -
329        name: sqi-max
330        type: u32
331      -
332        name: ext-state
333        type: u8
334      -
335        name: ext-substate
336        type: u8
337      -
338        name: ext-down-cnt
339        type: u32
340  -
341    name: debug
342    attributes:
343      -
344        name: header
345        type: nest
346        nested-attributes: header
347      -
348        name: msgmask
349        type: nest
350        nested-attributes: bitset
351  -
352    name: wol
353    attributes:
354      -
355        name: header
356        type: nest
357        nested-attributes: header
358      -
359        name: modes
360        type: nest
361        nested-attributes: bitset
362      -
363        name: sopass
364        type: binary
365  -
366    name: features
367    attributes:
368      -
369        name: header
370        type: nest
371        nested-attributes: header
372      -
373        name: hw
374        type: nest
375        nested-attributes: bitset
376      -
377        name: wanted
378        type: nest
379        nested-attributes: bitset
380      -
381        name: active
382        type: nest
383        nested-attributes: bitset
384      -
385        name: nochange
386        type: nest
387        nested-attributes: bitset
388  -
389    name: channels
390    attributes:
391      -
392        name: header
393        type: nest
394        nested-attributes: header
395      -
396        name: rx-max
397        type: u32
398      -
399        name: tx-max
400        type: u32
401      -
402        name: other-max
403        type: u32
404      -
405        name: combined-max
406        type: u32
407      -
408        name: rx-count
409        type: u32
410      -
411        name: tx-count
412        type: u32
413      -
414        name: other-count
415        type: u32
416      -
417        name: combined-count
418        type: u32
419
420  -
421    name: coalesce
422    attributes:
423      -
424        name: header
425        type: nest
426        nested-attributes: header
427      -
428        name: rx-usecs
429        type: u32
430      -
431        name: rx-max-frames
432        type: u32
433      -
434        name: rx-usecs-irq
435        type: u32
436      -
437        name: rx-max-frames-irq
438        type: u32
439      -
440        name: tx-usecs
441        type: u32
442      -
443        name: tx-max-frames
444        type: u32
445      -
446        name: tx-usecs-irq
447        type: u32
448      -
449        name: tx-max-frames-irq
450        type: u32
451      -
452        name: stats-block-usecs
453        type: u32
454      -
455        name: use-adaptive-rx
456        type: u8
457      -
458        name: use-adaptive-tx
459        type: u8
460      -
461        name: pkt-rate-low
462        type: u32
463      -
464        name: rx-usecs-low
465        type: u32
466      -
467        name: rx-max-frames-low
468        type: u32
469      -
470        name: tx-usecs-low
471        type: u32
472      -
473        name: tx-max-frames-low
474        type: u32
475      -
476        name: pkt-rate-high
477        type: u32
478      -
479        name: rx-usecs-high
480        type: u32
481      -
482        name: rx-max-frames-high
483        type: u32
484      -
485        name: tx-usecs-high
486        type: u32
487      -
488        name: tx-max-frames-high
489        type: u32
490      -
491        name: rate-sample-interval
492        type: u32
493      -
494        name: use-cqe-mode-tx
495        type: u8
496      -
497        name: use-cqe-mode-rx
498        type: u8
499      -
500        name: tx-aggr-max-bytes
501        type: u32
502      -
503        name: tx-aggr-max-frames
504        type: u32
505      -
506        name: tx-aggr-time-usecs
507        type: u32
508  -
509    name: pause-stat
510    attributes:
511      -
512        name: pad
513        type: pad
514      -
515        name: tx-frames
516        type: u64
517      -
518        name: rx-frames
519        type: u64
520  -
521    name: pause
522    attributes:
523      -
524        name: header
525        type: nest
526        nested-attributes: header
527      -
528        name: autoneg
529        type: u8
530      -
531        name: rx
532        type: u8
533      -
534        name: tx
535        type: u8
536      -
537        name: stats
538        type: nest
539        nested-attributes: pause-stat
540      -
541        name: stats-src
542        type: u32
543  -
544    name: eee
545    attributes:
546      -
547        name: header
548        type: nest
549        nested-attributes: header
550      -
551        name: modes-ours
552        type: nest
553        nested-attributes: bitset
554      -
555        name: modes-peer
556        type: nest
557        nested-attributes: bitset
558      -
559        name: active
560        type: u8
561      -
562        name: enabled
563        type: u8
564      -
565        name: tx-lpi-enabled
566        type: u8
567      -
568        name: tx-lpi-timer
569        type: u32
570  -
571    name: tsinfo
572    attributes:
573      -
574        name: header
575        type: nest
576        nested-attributes: header
577      -
578        name: timestamping
579        type: nest
580        nested-attributes: bitset
581      -
582        name: tx-types
583        type: nest
584        nested-attributes: bitset
585      -
586        name: rx-filters
587        type: nest
588        nested-attributes: bitset
589      -
590        name: phc-index
591        type: u32
592  -
593    name: cable-result
594    attributes:
595      -
596        name: pair
597        type: u8
598      -
599        name: code
600        type: u8
601  -
602    name: cable-fault-length
603    attributes:
604      -
605        name: pair
606        type: u8
607      -
608        name: cm
609        type: u32
610  -
611    name: cable-nest
612    attributes:
613      -
614        name: result
615        type: nest
616        nested-attributes: cable-result
617      -
618        name: fault-length
619        type: nest
620        nested-attributes: cable-fault-length
621  -
622    name: cable-test
623    attributes:
624      -
625        name: header
626        type: nest
627        nested-attributes: header
628  -
629    name: cable-test-ntf
630    attributes:
631      -
632        name: header
633        type: nest
634        nested-attributes: header
635      -
636        name: status
637        type: u8
638      -
639        name: nest
640        type: nest
641        nested-attributes: cable-nest
642  -
643    name: cable-test-tdr-cfg
644    attributes:
645      -
646        name: first
647        type: u32
648      -
649        name: last
650        type: u32
651      -
652        name: step
653        type: u32
654      -
655        name: pair
656        type: u8
657  -
658    name: cable-test-tdr-ntf
659    attributes:
660      -
661        name: header
662        type: nest
663        nested-attributes: header
664      -
665        name: status
666        type: u8
667      -
668        name: nest
669        type: nest
670        nested-attributes: cable-nest
671  -
672    name: cable-test-tdr
673    attributes:
674      -
675        name: header
676        type: nest
677        nested-attributes: header
678      -
679        name: cfg
680        type: nest
681        nested-attributes: cable-test-tdr-cfg
682  -
683    name: tunnel-udp-entry
684    attributes:
685      -
686        name: port
687        type: u16
688        byte-order: big-endian
689      -
690        name: type
691        type: u32
692        enum: udp-tunnel-type
693  -
694    name: tunnel-udp-table
695    attributes:
696      -
697        name: size
698        type: u32
699      -
700        name: types
701        type: nest
702        nested-attributes: bitset
703      -
704        name: entry
705        type: nest
706        multi-attr: true
707        nested-attributes: tunnel-udp-entry
708  -
709    name: tunnel-udp
710    attributes:
711      -
712        name: table
713        type: nest
714        nested-attributes: tunnel-udp-table
715  -
716    name: tunnel-info
717    attributes:
718      -
719        name: header
720        type: nest
721        nested-attributes: header
722      -
723        name: udp-ports
724        type: nest
725        nested-attributes: tunnel-udp
726  -
727    name: fec-stat
728    attributes:
729      -
730        name: pad
731        type: pad
732      -
733        name: corrected
734        type: binary
735        sub-type: u64
736      -
737        name: uncorr
738        type: binary
739        sub-type: u64
740      -
741        name: corr-bits
742        type: binary
743        sub-type: u64
744  -
745    name: fec
746    attributes:
747      -
748        name: header
749        type: nest
750        nested-attributes: header
751      -
752        name: modes
753        type: nest
754        nested-attributes: bitset
755      -
756        name: auto
757        type: u8
758      -
759        name: active
760        type: u32
761      -
762        name: stats
763        type: nest
764        nested-attributes: fec-stat
765  -
766    name: module-eeprom
767    attributes:
768      -
769        name: header
770        type: nest
771        nested-attributes: header
772      -
773        name: offset
774        type: u32
775      -
776        name: length
777        type: u32
778      -
779        name: page
780        type: u8
781      -
782        name: bank
783        type: u8
784      -
785        name: i2c-address
786        type: u8
787      -
788        name: data
789        type: binary
790  -
791    name: stats-grp
792    attributes:
793      -
794        name: pad
795        type: pad
796      -
797        name: id
798        type: u32
799      -
800        name: ss-id
801        type: u32
802      -
803        name: stat
804        type: u64
805        type-value: [ id ]
806      -
807        name: hist-rx
808        type: nest
809        nested-attributes: stats-grp-hist
810      -
811        name: hist-tx
812        type: nest
813        nested-attributes: stats-grp-hist
814      -
815        name: hist-bkt-low
816        type: u32
817      -
818        name: hist-bkt-hi
819        type: u32
820      -
821        name: hist-val
822        type: u64
823  -
824    name: stats-grp-hist
825    subset-of: stats-grp
826    attributes:
827      -
828        name: hist-bkt-low
829      -
830        name: hist-bkt-hi
831      -
832        name: hist-val
833  -
834    name: stats
835    attributes:
836      -
837        name: pad
838        type: pad
839      -
840        name: header
841        type: nest
842        nested-attributes: header
843      -
844        name: groups
845        type: nest
846        nested-attributes: bitset
847      -
848        name: grp
849        type: nest
850        nested-attributes: stats-grp
851      -
852        name: src
853        type: u32
854  -
855    name: phc-vclocks
856    attributes:
857      -
858        name: header
859        type: nest
860        nested-attributes: header
861      -
862        name: num
863        type: u32
864      -
865        name: index
866        type: binary
867        sub-type: s32
868  -
869    name: module
870    attributes:
871      -
872        name: header
873        type: nest
874        nested-attributes: header
875      -
876        name: power-mode-policy
877        type: u8
878      -
879        name: power-mode
880        type: u8
881  -
882    name: pse
883    attributes:
884      -
885        name: header
886        type: nest
887        nested-attributes: header
888      -
889        name: admin-state
890        type: u32
891        name-prefix: ethtool-a-podl-pse-
892      -
893        name: admin-control
894        type: u32
895        name-prefix: ethtool-a-podl-pse-
896      -
897        name: pw-d-status
898        type: u32
899        name-prefix: ethtool-a-podl-pse-
900  -
901    name: rss
902    attributes:
903      -
904        name: header
905        type: nest
906        nested-attributes: header
907      -
908        name: context
909        type: u32
910      -
911        name: hfunc
912        type: u32
913      -
914        name: indir
915        type: binary
916      -
917        name: hkey
918        type: binary
919      -
920        name: input_xfrm
921        type: u32
922  -
923    name: plca
924    attributes:
925      -
926        name: header
927        type: nest
928        nested-attributes: header
929      -
930        name: version
931        type: u16
932      -
933        name: enabled
934        type: u8
935      -
936        name: status
937        type: u8
938      -
939        name: node-cnt
940        type: u32
941      -
942        name: node-id
943        type: u32
944      -
945        name: to-tmr
946        type: u32
947      -
948        name: burst-cnt
949        type: u32
950      -
951        name: burst-tmr
952        type: u32
953  -
954    name: phy-upstream
955    attributes:
956      -
957        name: index
958        type: u32
959      -
960        name: sfp-name
961        type: string
962  -
963    name: phy
964    attributes:
965      -
966        name: header
967        type: nest
968        nested-attributes: header
969      -
970        name: index
971        type: u32
972      -
973        name: drvname
974        type: string
975      -
976        name: name
977        type: string
978      -
979        name: upstream-type
980        type: u8
981        enum: phy-upstream-type
982      -
983        name: upstream
984        type: nest
985        nested-attributes: phy-upstream
986      -
987        name: downstream-sfp-name
988        type: string
989      -
990        name: id
991        type: u32
992
993operations:
994  enum-model: directional
995  name-prefix: ethtool-msg-
996  list:
997    -
998      name: strset-get
999      doc: Get string set from the kernel.
1000
1001      attribute-set: strset
1002
1003      do: &strset-get-op
1004        request:
1005          attributes:
1006            - header
1007            - stringsets
1008            - counts-only
1009        reply:
1010          attributes:
1011            - header
1012            - stringsets
1013      dump: *strset-get-op
1014    -
1015      name: linkinfo-get
1016      doc: Get link info.
1017
1018      attribute-set: linkinfo
1019
1020      do: &linkinfo-get-op
1021        request:
1022          attributes:
1023            - header
1024        reply:
1025          attributes: &linkinfo
1026            - header
1027            - port
1028            - phyaddr
1029            - tp-mdix
1030            - tp-mdix-ctrl
1031            - transceiver
1032      dump: *linkinfo-get-op
1033    -
1034      name: linkinfo-set
1035      doc: Set link info.
1036
1037      attribute-set: linkinfo
1038
1039      do:
1040        request:
1041          attributes: *linkinfo
1042    -
1043      name: linkinfo-ntf
1044      doc: Notification for change in link info.
1045      notify: linkinfo-get
1046    -
1047      name: linkmodes-get
1048      doc: Get link modes.
1049
1050      attribute-set: linkmodes
1051
1052      do: &linkmodes-get-op
1053        request:
1054          attributes:
1055            - header
1056        reply:
1057          attributes: &linkmodes
1058            - header
1059            - autoneg
1060            - ours
1061            - peer
1062            - speed
1063            - duplex
1064            - master-slave-cfg
1065            - master-slave-state
1066            - lanes
1067            - rate-matching
1068      dump: *linkmodes-get-op
1069    -
1070      name: linkmodes-set
1071      doc: Set link modes.
1072
1073      attribute-set: linkmodes
1074
1075      do:
1076        request:
1077          attributes: *linkmodes
1078    -
1079      name: linkmodes-ntf
1080      doc: Notification for change in link modes.
1081      notify: linkmodes-get
1082    -
1083      name: linkstate-get
1084      doc: Get link state.
1085
1086      attribute-set: linkstate
1087
1088      do: &linkstate-get-op
1089        request:
1090          attributes:
1091            - header
1092        reply:
1093          attributes:
1094            - header
1095            - link
1096            - sqi
1097            - sqi-max
1098            - ext-state
1099            - ext-substate
1100            - ext-down-cnt
1101      dump: *linkstate-get-op
1102    -
1103      name: debug-get
1104      doc: Get debug message mask.
1105
1106      attribute-set: debug
1107
1108      do: &debug-get-op
1109        request:
1110          attributes:
1111            - header
1112        reply:
1113          attributes: &debug
1114            - header
1115            - msgmask
1116      dump: *debug-get-op
1117    -
1118      name: debug-set
1119      doc: Set debug message mask.
1120
1121      attribute-set: debug
1122
1123      do:
1124        request:
1125          attributes: *debug
1126    -
1127      name: debug-ntf
1128      doc: Notification for change in debug message mask.
1129      notify: debug-get
1130    -
1131      name: wol-get
1132      doc: Get WOL params.
1133
1134      attribute-set: wol
1135
1136      do: &wol-get-op
1137        request:
1138          attributes:
1139            - header
1140        reply:
1141          attributes: &wol
1142            - header
1143            - modes
1144            - sopass
1145      dump: *wol-get-op
1146    -
1147      name: wol-set
1148      doc: Set WOL params.
1149
1150      attribute-set: wol
1151
1152      do:
1153        request:
1154          attributes: *wol
1155    -
1156      name: wol-ntf
1157      doc: Notification for change in WOL params.
1158      notify: wol-get
1159    -
1160      name: features-get
1161      doc: Get features.
1162
1163      attribute-set: features
1164
1165      do: &feature-get-op
1166        request:
1167          attributes:
1168            - header
1169        reply:
1170          attributes: &feature
1171            - header
1172            # User-changeable features.
1173            - hw
1174            # User-requested features.
1175            - wanted
1176            # Currently active features.
1177            - active
1178            # Unchangeable features.
1179            - nochange
1180      dump: *feature-get-op
1181    -
1182      name: features-set
1183      doc: Set features.
1184
1185      attribute-set: features
1186
1187      do: &feature-set-op
1188        request:
1189          attributes: *feature
1190        reply:
1191          attributes: *feature
1192    -
1193      name: features-ntf
1194      doc: Notification for change in features.
1195      notify: features-get
1196    -
1197      name: privflags-get
1198      doc: Get device private flags.
1199
1200      attribute-set: privflags
1201
1202      do: &privflag-get-op
1203        request:
1204          attributes:
1205            - header
1206        reply:
1207          attributes: &privflag
1208            - header
1209            - flags
1210      dump: *privflag-get-op
1211    -
1212      name: privflags-set
1213      doc: Set device private flags.
1214
1215      attribute-set: privflags
1216
1217      do:
1218        request:
1219          attributes: *privflag
1220    -
1221      name: privflags-ntf
1222      doc: Notification for change in device private flags.
1223      notify: privflags-get
1224
1225    -
1226      name: rings-get
1227      doc: Get ring params.
1228
1229      attribute-set: rings
1230
1231      do: &ring-get-op
1232        request:
1233          attributes:
1234            - header
1235        reply:
1236          attributes: &ring
1237            - header
1238            - rx-max
1239            - rx-mini-max
1240            - rx-jumbo-max
1241            - tx-max
1242            - rx
1243            - rx-mini
1244            - rx-jumbo
1245            - tx
1246            - rx-buf-len
1247            - tcp-data-split
1248            - cqe-size
1249            - tx-push
1250            - rx-push
1251            - tx-push-buf-len
1252            - tx-push-buf-len-max
1253      dump: *ring-get-op
1254    -
1255      name: rings-set
1256      doc: Set ring params.
1257
1258      attribute-set: rings
1259
1260      do:
1261        request:
1262          attributes: *ring
1263    -
1264      name: rings-ntf
1265      doc: Notification for change in ring params.
1266      notify: rings-get
1267    -
1268      name: channels-get
1269      doc: Get channel params.
1270
1271      attribute-set: channels
1272
1273      do: &channel-get-op
1274        request:
1275          attributes:
1276            - header
1277        reply:
1278          attributes: &channel
1279            - header
1280            - rx-max
1281            - tx-max
1282            - other-max
1283            - combined-max
1284            - rx-count
1285            - tx-count
1286            - other-count
1287            - combined-count
1288      dump: *channel-get-op
1289    -
1290      name: channels-set
1291      doc: Set channel params.
1292
1293      attribute-set: channels
1294
1295      do:
1296        request:
1297          attributes: *channel
1298    -
1299      name: channels-ntf
1300      doc: Notification for change in channel params.
1301      notify: channels-get
1302    -
1303      name: coalesce-get
1304      doc: Get coalesce params.
1305
1306      attribute-set: coalesce
1307
1308      do: &coalesce-get-op
1309        request:
1310          attributes:
1311            - header
1312        reply:
1313          attributes: &coalesce
1314            - header
1315            - rx-usecs
1316            - rx-max-frames
1317            - rx-usecs-irq
1318            - rx-max-frames-irq
1319            - tx-usecs
1320            - tx-max-frames
1321            - tx-usecs-irq
1322            - tx-max-frames-irq
1323            - stats-block-usecs
1324            - use-adaptive-rx
1325            - use-adaptive-tx
1326            - pkt-rate-low
1327            - rx-usecs-low
1328            - rx-max-frames-low
1329            - tx-usecs-low
1330            - tx-max-frames-low
1331            - pkt-rate-high
1332            - rx-usecs-high
1333            - rx-max-frames-high
1334            - tx-usecs-high
1335            - tx-max-frames-high
1336            - rate-sample-interval
1337            - use-cqe-mode-tx
1338            - use-cqe-mode-rx
1339            - tx-aggr-max-bytes
1340            - tx-aggr-max-frames
1341            - tx-aggr-time-usecs
1342      dump: *coalesce-get-op
1343    -
1344      name: coalesce-set
1345      doc: Set coalesce params.
1346
1347      attribute-set: coalesce
1348
1349      do:
1350        request:
1351          attributes: *coalesce
1352    -
1353      name: coalesce-ntf
1354      doc: Notification for change in coalesce params.
1355      notify: coalesce-get
1356    -
1357      name: pause-get
1358      doc: Get pause params.
1359
1360      attribute-set: pause
1361
1362      do: &pause-get-op
1363        request:
1364          attributes:
1365            - header
1366        reply:
1367          attributes: &pause
1368            - header
1369            - autoneg
1370            - rx
1371            - tx
1372            - stats
1373            - stats-src
1374      dump: *pause-get-op
1375    -
1376      name: pause-set
1377      doc: Set pause params.
1378
1379      attribute-set: pause
1380
1381      do:
1382        request:
1383          attributes: *pause
1384    -
1385      name: pause-ntf
1386      doc: Notification for change in pause params.
1387      notify: pause-get
1388    -
1389      name: eee-get
1390      doc: Get eee params.
1391
1392      attribute-set: eee
1393
1394      do: &eee-get-op
1395        request:
1396          attributes:
1397            - header
1398        reply:
1399          attributes: &eee
1400            - header
1401            - modes-ours
1402            - modes-peer
1403            - active
1404            - enabled
1405            - tx-lpi-enabled
1406            - tx-lpi-timer
1407      dump: *eee-get-op
1408    -
1409      name: eee-set
1410      doc: Set eee params.
1411
1412      attribute-set: eee
1413
1414      do:
1415        request:
1416          attributes: *eee
1417    -
1418      name: eee-ntf
1419      doc: Notification for change in eee params.
1420      notify: eee-get
1421    -
1422      name: tsinfo-get
1423      doc: Get tsinfo params.
1424
1425      attribute-set: tsinfo
1426
1427      do: &tsinfo-get-op
1428        request:
1429          attributes:
1430            - header
1431        reply:
1432          attributes:
1433            - header
1434            - timestamping
1435            - tx-types
1436            - rx-filters
1437            - phc-index
1438      dump: *tsinfo-get-op
1439    -
1440      name: cable-test-act
1441      doc: Cable test.
1442
1443      attribute-set: cable-test
1444
1445      do:
1446        request:
1447          attributes:
1448            - header
1449    -
1450      name: cable-test-ntf
1451      doc: Cable test notification.
1452
1453      attribute-set: cable-test-ntf
1454
1455      event:
1456        attributes:
1457          - header
1458          - status
1459    -
1460      name: cable-test-tdr-act
1461      doc: Cable test TDR.
1462
1463      attribute-set: cable-test-tdr
1464
1465      do:
1466        request:
1467          attributes:
1468            - header
1469    -
1470      name: cable-test-tdr-ntf
1471      doc: Cable test TDR notification.
1472
1473      attribute-set: cable-test-tdr-ntf
1474
1475      event:
1476        attributes:
1477          - header
1478          - status
1479          - nest
1480    -
1481      name: tunnel-info-get
1482      doc: Get tsinfo params.
1483
1484      attribute-set: tunnel-info
1485
1486      do: &tunnel-info-get-op
1487        request:
1488          attributes:
1489            - header
1490        reply:
1491          attributes:
1492            - header
1493            - udp-ports
1494      dump: *tunnel-info-get-op
1495    -
1496      name: fec-get
1497      doc: Get FEC params.
1498
1499      attribute-set: fec
1500
1501      do: &fec-get-op
1502        request:
1503          attributes:
1504            - header
1505        reply:
1506          attributes: &fec
1507            - header
1508            - modes
1509            - auto
1510            - active
1511            - stats
1512      dump: *fec-get-op
1513    -
1514      name: fec-set
1515      doc: Set FEC params.
1516
1517      attribute-set: fec
1518
1519      do:
1520        request:
1521          attributes: *fec
1522    -
1523      name: fec-ntf
1524      doc: Notification for change in FEC params.
1525      notify: fec-get
1526    -
1527      name: module-eeprom-get
1528      doc: Get module EEPROM params.
1529
1530      attribute-set: module-eeprom
1531
1532      do: &module-eeprom-get-op
1533        request:
1534          attributes:
1535            - header
1536        reply:
1537          attributes:
1538            - header
1539            - offset
1540            - length
1541            - page
1542            - bank
1543            - i2c-address
1544            - data
1545      dump: *module-eeprom-get-op
1546    -
1547      name: stats-get
1548      doc: Get statistics.
1549
1550      attribute-set: stats
1551
1552      do: &stats-get-op
1553        request:
1554          attributes:
1555            - header
1556            - groups
1557        reply:
1558          attributes:
1559            - header
1560            - groups
1561            - grp
1562            - src
1563      dump: *stats-get-op
1564    -
1565      name: phc-vclocks-get
1566      doc: Get PHC VCLOCKs.
1567
1568      attribute-set: phc-vclocks
1569
1570      do: &phc-vclocks-get-op
1571        request:
1572          attributes:
1573            - header
1574        reply:
1575          attributes:
1576            - header
1577            - num
1578      dump: *phc-vclocks-get-op
1579    -
1580      name: module-get
1581      doc: Get module params.
1582
1583      attribute-set: module
1584
1585      do: &module-get-op
1586        request:
1587          attributes:
1588            - header
1589        reply:
1590          attributes: &module
1591            - header
1592            - power-mode-policy
1593            - power-mode
1594      dump: *module-get-op
1595    -
1596      name: module-set
1597      doc: Set module params.
1598
1599      attribute-set: module
1600
1601      do:
1602        request:
1603          attributes: *module
1604    -
1605      name: module-ntf
1606      doc: Notification for change in module params.
1607      notify: module-get
1608    -
1609      name: pse-get
1610      doc: Get Power Sourcing Equipment params.
1611
1612      attribute-set: pse
1613
1614      do: &pse-get-op
1615        request:
1616          attributes:
1617            - header
1618        reply:
1619          attributes: &pse
1620            - header
1621            - admin-state
1622            - admin-control
1623            - pw-d-status
1624      dump: *pse-get-op
1625    -
1626      name: pse-set
1627      doc: Set Power Sourcing Equipment params.
1628
1629      attribute-set: pse
1630
1631      do:
1632        request:
1633          attributes: *pse
1634    -
1635      name: rss-get
1636      doc: Get RSS params.
1637
1638      attribute-set: rss
1639
1640      do: &rss-get-op
1641        request:
1642          attributes:
1643            - header
1644        reply:
1645          attributes:
1646            - header
1647            - context
1648            - hfunc
1649            - indir
1650            - hkey
1651            - input_xfrm
1652      dump: *rss-get-op
1653    -
1654      name: plca-get-cfg
1655      doc: Get PLCA params.
1656
1657      attribute-set: plca
1658
1659      do: &plca-get-op
1660        request:
1661          attributes:
1662            - header
1663        reply:
1664          attributes: &plca
1665            - header
1666            - version
1667            - enabled
1668            - status
1669            - node-cnt
1670            - node-id
1671            - to-tmr
1672            - burst-cnt
1673            - burst-tmr
1674      dump: *plca-get-op
1675    -
1676      name: plca-set-cfg
1677      doc: Set PLCA params.
1678
1679      attribute-set: plca
1680
1681      do:
1682        request:
1683          attributes: *plca
1684    -
1685      name: plca-get-status
1686      doc: Get PLCA status params.
1687
1688      attribute-set: plca
1689
1690      do: &plca-get-status-op
1691        request:
1692          attributes:
1693            - header
1694        reply:
1695          attributes: *plca
1696      dump: *plca-get-status-op
1697    -
1698      name: plca-ntf
1699      doc: Notification for change in PLCA params.
1700      notify: plca-get-cfg
1701    -
1702      name: mm-get
1703      doc: Get MAC Merge configuration and state
1704
1705      attribute-set: mm
1706
1707      do: &mm-get-op
1708        request:
1709          attributes:
1710            - header
1711        reply:
1712          attributes:
1713            - header
1714            - pmac-enabled
1715            - tx-enabled
1716            - tx-active
1717            - tx-min-frag-size
1718            - rx-min-frag-size
1719            - verify-enabled
1720            - verify-time
1721            - max-verify-time
1722            - stats
1723      dump: *mm-get-op
1724    -
1725      name: mm-set
1726      doc: Set MAC Merge configuration
1727
1728      attribute-set: mm
1729
1730      do:
1731        request:
1732          attributes:
1733            - header
1734            - verify-enabled
1735            - verify-time
1736            - tx-enabled
1737            - pmac-enabled
1738            - tx-min-frag-size
1739    -
1740      name: mm-ntf
1741      doc: Notification for change in MAC Merge configuration.
1742      notify: mm-get
1743    -
1744      name: phy-get
1745      doc: Get PHY devices attached to an interface
1746
1747      attribute-set: phy
1748
1749      do: &phy-get-op
1750        request:
1751          attributes:
1752            - header
1753        reply:
1754          attributes:
1755            - header
1756            - index
1757            - drvname
1758            - name
1759            - upstream-type
1760            - upstream
1761            - downstream-sfp-name
1762            - id
1763      dump: *phy-get-op
1764