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