xref: /linux/Documentation/netlink/specs/devlink.yaml (revision 9c577f09989f921e7a7cc724949fa81f9444dffb)
1# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
2---
3name: devlink
4
5protocol: genetlink-legacy
6
7doc: Partial family for Devlink.
8
9definitions:
10  -
11    type: enum
12    name: sb-pool-type
13    entries:
14      -
15        name: ingress
16      -
17        name: egress
18  -
19    type: enum
20    name: port-type
21    entries:
22      -
23        name: notset
24      -
25        name: auto
26      -
27        name: eth
28      -
29        name: ib
30  -
31    type: enum
32    name: port-flavour
33    entries:
34      -
35        name: physical
36      -
37        name: cpu
38      -
39        name: dsa
40      -
41        name: pci-pf
42      -
43        name: pci-vf
44      -
45        name: virtual
46      -
47        name: unused
48      -
49        name: pci-sf
50  -
51    type: enum
52    name: port-fn-state
53    entries:
54      -
55        name: inactive
56      -
57        name: active
58  -
59    type: enum
60    name: port-fn-opstate
61    entries:
62      -
63        name: detached
64      -
65        name: attached
66  -
67    type: enum
68    name: port-fn-attr-cap
69    entries:
70      -
71        name: roce-bit
72      -
73        name: migratable-bit
74      -
75        name: ipsec-crypto-bit
76      -
77        name: ipsec-packet-bit
78  -
79    type: enum
80    name: rate-type
81    entries:
82      -
83        name: leaf
84      -
85        name: node
86  -
87    type: enum
88    name: sb-threshold-type
89    entries:
90      -
91        name: static
92      -
93        name: dynamic
94  -
95    type: enum
96    name: eswitch-mode
97    entries:
98      -
99        name: legacy
100      -
101        name: switchdev
102      -
103        name: switchdev-inactive
104  -
105    type: enum
106    name: eswitch-inline-mode
107    entries:
108      -
109        name: none
110      -
111        name: link
112      -
113        name: network
114      -
115        name: transport
116  -
117    type: enum
118    name: eswitch-encap-mode
119    entries:
120      -
121        name: none
122      -
123        name: basic
124  -
125    type: enum
126    name: dpipe-header-id
127    entries:
128      -
129        name: ethernet
130      -
131        name: ipv4
132      -
133        name: ipv6
134  -
135    type: enum
136    name: dpipe-match-type
137    entries:
138      -
139        name: field-exact
140  -
141    type: enum
142    name: dpipe-action-type
143    entries:
144      -
145        name: field-modify
146  -
147    type: enum
148    name: dpipe-field-mapping-type
149    entries:
150      -
151        name: none
152      -
153        name: ifindex
154  -
155    type: enum
156    name: resource-unit
157    entries:
158      -
159        name: entry
160  -
161    type: enum
162    name: reload-action
163    entries:
164      -
165        name: driver-reinit
166        value: 1
167      -
168        name: fw-activate
169  -
170    type: enum
171    name: param-cmode
172    entries:
173      -
174        name: runtime
175      -
176        name: driverinit
177      -
178        name: permanent
179  -
180    type: enum
181    name: flash-overwrite
182    entries:
183      -
184        name: settings-bit
185      -
186        name: identifiers-bit
187  -
188    type: enum
189    name: trap-action
190    entries:
191      -
192        name: drop
193      -
194        name: trap
195      -
196        name: mirror
197  -
198    type: enum
199    name: trap-type
200    entries:
201      -
202        name: drop
203      -
204        name: exception
205      -
206        name: control
207  -
208    type: enum
209    name: var-attr-type
210    entries:
211      -
212        name: u8
213        value: 1
214      -
215        name: u16
216      -
217        name: u32
218      -
219        name: u64
220      -
221        name: string
222      -
223        name: flag
224      -
225        name: nul-string
226        value: 10
227      -
228        name: binary
229  -
230    name: rate-tc-index-max
231    type: const
232    value: 7
233
234attribute-sets:
235  -
236    name: devlink
237    name-prefix: devlink-attr-
238    attributes:
239      -
240        name: bus-name
241        type: string
242        value: 1
243      -
244        name: dev-name
245        type: string
246      -
247        name: port-index
248        type: u32
249      -
250        name: port-type
251        type: u16
252        enum: port-type
253      -
254        name: port-desired-type
255        type: u16
256      -
257        name: port-netdev-ifindex
258        type: u32
259      -
260        name: port-netdev-name
261        type: string
262      -
263        name: port-ibdev-name
264        type: string
265      -
266        name: port-split-count
267        type: u32
268      -
269        name: port-split-group
270        type: u32
271      -
272        name: sb-index
273        type: u32
274      -
275        name: sb-size
276        type: u32
277      -
278        name: sb-ingress-pool-count
279        type: u16
280      -
281        name: sb-egress-pool-count
282        type: u16
283      -
284        name: sb-ingress-tc-count
285        type: u16
286      -
287        name: sb-egress-tc-count
288        type: u16
289      -
290        name: sb-pool-index
291        type: u16
292      -
293        name: sb-pool-type
294        type: u8
295        enum: sb-pool-type
296      -
297        name: sb-pool-size
298        type: u32
299      -
300        name: sb-pool-threshold-type
301        type: u8
302        enum: sb-threshold-type
303      -
304        name: sb-threshold
305        type: u32
306      -
307        name: sb-tc-index
308        type: u16
309      -
310        name: sb-occ-cur
311        type: u32
312      -
313        name: sb-occ-max
314        type: u32
315      -
316        name: eswitch-mode
317        type: u16
318        enum: eswitch-mode
319      -
320        name: eswitch-inline-mode
321        type: u8
322        enum: eswitch-inline-mode
323      -
324        name: dpipe-tables
325        type: nest
326        nested-attributes: dl-dpipe-tables
327      -
328        name: dpipe-table
329        type: nest
330        multi-attr: true
331        nested-attributes: dl-dpipe-table
332      -
333        name: dpipe-table-name
334        type: string
335      -
336        name: dpipe-table-size
337        type: u64
338      -
339        name: dpipe-table-matches
340        type: nest
341        nested-attributes: dl-dpipe-table-matches
342      -
343        name: dpipe-table-actions
344        type: nest
345        nested-attributes: dl-dpipe-table-actions
346      -
347        name: dpipe-table-counters-enabled
348        type: u8
349      -
350        name: dpipe-entries
351        type: nest
352        nested-attributes: dl-dpipe-entries
353      -
354        name: dpipe-entry
355        type: nest
356        multi-attr: true
357        nested-attributes: dl-dpipe-entry
358      -
359        name: dpipe-entry-index
360        type: u64
361      -
362        name: dpipe-entry-match-values
363        type: nest
364        nested-attributes: dl-dpipe-entry-match-values
365      -
366        name: dpipe-entry-action-values
367        type: nest
368        nested-attributes: dl-dpipe-entry-action-values
369      -
370        name: dpipe-entry-counter
371        type: u64
372      -
373        name: dpipe-match
374        type: nest
375        multi-attr: true
376        nested-attributes: dl-dpipe-match
377      -
378        name: dpipe-match-value
379        type: nest
380        multi-attr: true
381        nested-attributes: dl-dpipe-match-value
382      -
383        name: dpipe-match-type
384        type: u32
385        enum: dpipe-match-type
386      -
387        name: dpipe-action
388        type: nest
389        multi-attr: true
390        nested-attributes: dl-dpipe-action
391      -
392        name: dpipe-action-value
393        type: nest
394        multi-attr: true
395        nested-attributes: dl-dpipe-action-value
396      -
397        name: dpipe-action-type
398        type: u32
399        enum: dpipe-action-type
400      -
401        name: dpipe-value
402        type: binary
403      -
404        name: dpipe-value-mask
405        type: binary
406      -
407        name: dpipe-value-mapping
408        type: u32
409      -
410        name: dpipe-headers
411        type: nest
412        nested-attributes: dl-dpipe-headers
413      -
414        name: dpipe-header
415        type: nest
416        multi-attr: true
417        nested-attributes: dl-dpipe-header
418      -
419        name: dpipe-header-name
420        type: string
421      -
422        name: dpipe-header-id
423        type: u32
424        enum: dpipe-header-id
425      -
426        name: dpipe-header-fields
427        type: nest
428        nested-attributes: dl-dpipe-header-fields
429      -
430        name: dpipe-header-global
431        type: u8
432      -
433        name: dpipe-header-index
434        type: u32
435      -
436        name: dpipe-field
437        type: nest
438        multi-attr: true
439        nested-attributes: dl-dpipe-field
440      -
441        name: dpipe-field-name
442        type: string
443      -
444        name: dpipe-field-id
445        type: u32
446      -
447        name: dpipe-field-bitwidth
448        type: u32
449      -
450        name: dpipe-field-mapping-type
451        type: u32
452        enum: dpipe-field-mapping-type
453      -
454        name: pad
455        type: pad
456      -
457        name: eswitch-encap-mode
458        type: u8
459        enum: eswitch-encap-mode
460      -
461        name: resource-list
462        type: nest
463        nested-attributes: dl-resource-list
464      -
465        name: resource
466        type: nest
467        multi-attr: true
468        nested-attributes: dl-resource
469      -
470        name: resource-name
471        type: string
472      -
473        name: resource-id
474        type: u64
475      -
476        name: resource-size
477        type: u64
478      -
479        name: resource-size-new
480        type: u64
481      -
482        name: resource-size-valid
483        type: u8
484      -
485        name: resource-size-min
486        type: u64
487      -
488        name: resource-size-max
489        type: u64
490      -
491        name: resource-size-gran
492        type: u64
493      -
494        name: resource-unit
495        type: u8
496        enum: resource-unit
497      -
498        name: resource-occ
499        type: u64
500      -
501        name: dpipe-table-resource-id
502        type: u64
503      -
504        name: dpipe-table-resource-units
505        type: u64
506      -
507        name: port-flavour
508        type: u16
509        enum: port-flavour
510      -
511        name: port-number
512        type: u32
513      -
514        name: port-split-subport-number
515        type: u32
516      -
517        name: param
518        type: nest
519        nested-attributes: dl-param
520      -
521        name: param-name
522        type: string
523      -
524        name: param-generic
525        type: flag
526      -
527        name: param-type
528        type: u8
529        enum: var-attr-type
530
531      # TODO: fill in the attributes in between
532
533      -
534        name: param-value-cmode
535        type: u8
536        enum: param-cmode
537        value: 87
538      -
539        name: region-name
540        type: string
541      -
542        name: region-size
543        type: u64
544      -
545        name: region-snapshots
546        type: nest
547        nested-attributes: dl-region-snapshots
548      -
549        name: region-snapshot
550        type: nest
551        nested-attributes: dl-region-snapshot
552      -
553        name: region-snapshot-id
554        type: u32
555      -
556        name: region-chunks
557        type: nest
558        nested-attributes: dl-region-chunks
559      -
560        name: region-chunk
561        type: nest
562        nested-attributes: dl-region-chunk
563      -
564        name: region-chunk-data
565        type: binary
566      -
567        name: region-chunk-addr
568        type: u64
569      -
570        name: region-chunk-len
571        type: u64
572      -
573        name: info-driver-name
574        type: string
575      -
576        name: info-serial-number
577        type: string
578      -
579        name: info-version-fixed
580        type: nest
581        multi-attr: true
582        nested-attributes: dl-info-version
583      -
584        name: info-version-running
585        type: nest
586        multi-attr: true
587        nested-attributes: dl-info-version
588      -
589        name: info-version-stored
590        type: nest
591        multi-attr: true
592        nested-attributes: dl-info-version
593      -
594        name: info-version-name
595        type: string
596      -
597        name: info-version-value
598        type: string
599      -
600        name: sb-pool-cell-size
601        type: u32
602      -
603        name: fmsg
604        type: nest
605        nested-attributes: dl-fmsg
606      -
607        name: fmsg-obj-nest-start
608        type: flag
609      -
610        name: fmsg-pair-nest-start
611        type: flag
612      -
613        name: fmsg-arr-nest-start
614        type: flag
615      -
616        name: fmsg-nest-end
617        type: flag
618      -
619        name: fmsg-obj-name
620        type: string
621      -
622        name: fmsg-obj-value-type
623        type: u8
624        enum: var-attr-type
625
626      # TODO: fill in the attributes in between
627
628      -
629        name: health-reporter
630        type: nest
631        value: 114
632        nested-attributes: dl-health-reporter
633      -
634        name: health-reporter-name
635        type: string
636      -
637        name: health-reporter-state
638        type: u8
639      -
640        name: health-reporter-err-count
641        type: u64
642      -
643        name: health-reporter-recover-count
644        type: u64
645      -
646        name: health-reporter-dump-ts
647        type: u64
648      -
649        name: health-reporter-graceful-period
650        type: u64
651      -
652        name: health-reporter-auto-recover
653        type: u8
654      -
655        name: flash-update-file-name
656        type: string
657      -
658        name: flash-update-component
659        type: string
660      -
661        name: flash-update-status-msg
662        type: string
663      -
664        name: flash-update-status-done
665        type: u64
666      -
667        name: flash-update-status-total
668        type: u64
669      -
670        name: port-pci-pf-number
671        type: u16
672      -
673        name: port-pci-vf-number
674        type: u16
675      -
676        name: stats
677        type: nest
678        nested-attributes: dl-attr-stats
679      -
680        name: trap-name
681        type: string
682      -
683        name: trap-action
684        type: u8
685        enum: trap-action
686      -
687        name: trap-type
688        type: u8
689        enum: trap-type
690      -
691        name: trap-generic
692        type: flag
693      -
694        name: trap-metadata
695        type: nest
696        nested-attributes: dl-trap-metadata
697      -
698        name: trap-group-name
699        type: string
700      -
701        name: reload-failed
702        type: u8
703      -
704        name: health-reporter-dump-ts-ns
705        type: u64
706      -
707        name: netns-fd
708        type: u32
709      -
710        name: netns-pid
711        type: u32
712      -
713        name: netns-id
714        type: u32
715      -
716        name: health-reporter-auto-dump
717        type: u8
718      -
719        name: trap-policer-id
720        type: u32
721      -
722        name: trap-policer-rate
723        type: u64
724      -
725        name: trap-policer-burst
726        type: u64
727      -
728        name: port-function
729        type: nest
730        nested-attributes: dl-port-function
731      -
732        name: info-board-serial-number
733        type: string
734      -
735        name: port-lanes
736        type: u32
737      -
738        name: port-splittable
739        type: u8
740      -
741        name: port-external
742        type: u8
743      -
744        name: port-controller-number
745        type: u32
746      -
747        name: flash-update-status-timeout
748        type: u64
749      -
750        name: flash-update-overwrite-mask
751        type: bitfield32
752        enum: flash-overwrite
753        enum-as-flags: true
754      -
755        name: reload-action
756        type: u8
757        enum: reload-action
758      -
759        name: reload-actions-performed
760        type: bitfield32
761        enum: reload-action
762        enum-as-flags: true
763      -
764        name: reload-limits
765        type: bitfield32
766        enum: reload-action
767        enum-as-flags: true
768      -
769        name: dev-stats
770        type: nest
771        nested-attributes: dl-dev-stats
772      -
773        name: reload-stats
774        type: nest
775        nested-attributes: dl-reload-stats
776      -
777        name: reload-stats-entry
778        type: nest
779        multi-attr: true
780        nested-attributes: dl-reload-stats-entry
781      -
782        name: reload-stats-limit
783        type: u8
784      -
785        name: reload-stats-value
786        type: u32
787      -
788        name: remote-reload-stats
789        type: nest
790        nested-attributes: dl-reload-stats
791      -
792        name: reload-action-info
793        type: nest
794        multi-attr: true
795        nested-attributes: dl-reload-act-info
796      -
797        name: reload-action-stats
798        type: nest
799        multi-attr: true
800        nested-attributes: dl-reload-act-stats
801      -
802        name: port-pci-sf-number
803        type: u32
804      -
805        name: rate-type
806        type: u16
807        enum: rate-type
808      -
809        name: rate-tx-share
810        type: u64
811      -
812        name: rate-tx-max
813        type: u64
814      -
815        name: rate-node-name
816        type: string
817      -
818        name: rate-parent-node-name
819        type: string
820      -
821        name: region-max-snapshots
822        type: u32
823      -
824        name: linecard-index
825        type: u32
826      -
827        name: linecard-state
828        type: u8
829      -
830        name: linecard-type
831        type: string
832      -
833        name: linecard-supported-types
834        type: nest
835        nested-attributes: dl-linecard-supported-types
836
837      # TODO: fill in the attributes in between
838
839      -
840        name: selftests
841        type: nest
842        value: 176
843        nested-attributes: dl-selftest-id
844      -
845        name: rate-tx-priority
846        type: u32
847      -
848        name: rate-tx-weight
849        type: u32
850      -
851        name: region-direct
852        type: flag
853      -
854        name: rate-tc-bws
855        type: nest
856        multi-attr: true
857        nested-attributes: dl-rate-tc-bws
858      -
859        name: health-reporter-burst-period
860        type: u64
861        doc: Time (in msec) for recoveries before starting the grace period.
862  -
863    name: dl-dev-stats
864    subset-of: devlink
865    attributes:
866      -
867        name: reload-stats
868      -
869        name: remote-reload-stats
870
871  -
872    name: dl-reload-stats
873    subset-of: devlink
874    attributes:
875      -
876        name: reload-action-info
877
878  -
879    name: dl-reload-act-info
880    subset-of: devlink
881    attributes:
882      -
883        name: reload-action
884      -
885        name: reload-action-stats
886
887  -
888    name: dl-reload-act-stats
889    subset-of: devlink
890    attributes:
891      -
892        name: reload-stats-entry
893
894  -
895    name: dl-reload-stats-entry
896    subset-of: devlink
897    attributes:
898      -
899        name: reload-stats-limit
900      -
901        name: reload-stats-value
902
903  -
904    name: dl-info-version
905    subset-of: devlink
906    attributes:
907      -
908        name: info-version-name
909      -
910        name: info-version-value
911
912  -
913    name: dl-port-function
914    name-prefix: devlink-port-fn-attr-
915    attr-max-name: devlink-port-function-attr-max
916    attributes:
917      -
918        name-prefix: devlink-port-function-attr-
919        name: hw-addr
920        type: binary
921        value: 1
922      -
923        name: state
924        type: u8
925        enum: port-fn-state
926      -
927        name: opstate
928        type: u8
929        enum: port-fn-opstate
930      -
931        name: caps
932        type: bitfield32
933        enum: port-fn-attr-cap
934        enum-as-flags: true
935
936  -
937    name: dl-dpipe-tables
938    subset-of: devlink
939    attributes:
940      -
941        name: dpipe-table
942
943  -
944    name: dl-dpipe-table
945    subset-of: devlink
946    attributes:
947      -
948        name: dpipe-table-name
949      -
950        name: dpipe-table-size
951      -
952        name: dpipe-table-name
953      -
954        name: dpipe-table-size
955      -
956        name: dpipe-table-matches
957      -
958        name: dpipe-table-actions
959      -
960        name: dpipe-table-counters-enabled
961      -
962        name: dpipe-table-resource-id
963      -
964        name: dpipe-table-resource-units
965
966  -
967    name: dl-dpipe-table-matches
968    subset-of: devlink
969    attributes:
970      -
971        name: dpipe-match
972
973  -
974    name: dl-dpipe-table-actions
975    subset-of: devlink
976    attributes:
977      -
978        name: dpipe-action
979
980  -
981    name: dl-dpipe-entries
982    subset-of: devlink
983    attributes:
984      -
985        name: dpipe-entry
986
987  -
988    name: dl-dpipe-entry
989    subset-of: devlink
990    attributes:
991      -
992        name: dpipe-entry-index
993      -
994        name: dpipe-entry-match-values
995      -
996        name: dpipe-entry-action-values
997      -
998        name: dpipe-entry-counter
999
1000  -
1001    name: dl-dpipe-entry-match-values
1002    subset-of: devlink
1003    attributes:
1004      -
1005        name: dpipe-match-value
1006
1007  -
1008    name: dl-dpipe-entry-action-values
1009    subset-of: devlink
1010    attributes:
1011      -
1012        name: dpipe-action-value
1013
1014  -
1015    name: dl-dpipe-match
1016    subset-of: devlink
1017    attributes:
1018      -
1019        name: dpipe-match-type
1020      -
1021        name: dpipe-header-id
1022      -
1023        name: dpipe-header-global
1024      -
1025        name: dpipe-header-index
1026      -
1027        name: dpipe-field-id
1028
1029  -
1030    name: dl-dpipe-match-value
1031    subset-of: devlink
1032    attributes:
1033      -
1034        name: dpipe-match
1035      -
1036        name: dpipe-value
1037      -
1038        name: dpipe-value-mask
1039      -
1040        name: dpipe-value-mapping
1041
1042  -
1043    name: dl-dpipe-action
1044    subset-of: devlink
1045    attributes:
1046      -
1047        name: dpipe-action-type
1048      -
1049        name: dpipe-header-id
1050      -
1051        name: dpipe-header-global
1052      -
1053        name: dpipe-header-index
1054      -
1055        name: dpipe-field-id
1056
1057  -
1058    name: dl-dpipe-action-value
1059    subset-of: devlink
1060    attributes:
1061      -
1062        name: dpipe-action
1063      -
1064        name: dpipe-value
1065      -
1066        name: dpipe-value-mask
1067      -
1068        name: dpipe-value-mapping
1069
1070  -
1071    name: dl-dpipe-headers
1072    subset-of: devlink
1073    attributes:
1074      -
1075        name: dpipe-header
1076
1077  -
1078    name: dl-dpipe-header
1079    subset-of: devlink
1080    attributes:
1081      -
1082        name: dpipe-header-name
1083      -
1084        name: dpipe-header-id
1085      -
1086        name: dpipe-header-global
1087      -
1088        name: dpipe-header-fields
1089
1090  -
1091    name: dl-dpipe-header-fields
1092    subset-of: devlink
1093    attributes:
1094      -
1095        name: dpipe-field
1096
1097  -
1098    name: dl-dpipe-field
1099    subset-of: devlink
1100    attributes:
1101      -
1102        name: dpipe-field-name
1103      -
1104        name: dpipe-field-id
1105      -
1106        name: dpipe-field-bitwidth
1107      -
1108        name: dpipe-field-mapping-type
1109
1110  -
1111    name: dl-resource
1112    subset-of: devlink
1113    attributes:
1114      # -
1115      # name: resource-list
1116      # This is currently unsupported due to circular dependency
1117      -
1118        name: resource-name
1119      -
1120        name: resource-id
1121      -
1122        name: resource-size
1123      -
1124        name: resource-size-new
1125      -
1126        name: resource-size-valid
1127      -
1128        name: resource-size-min
1129      -
1130        name: resource-size-max
1131      -
1132        name: resource-size-gran
1133      -
1134        name: resource-unit
1135      -
1136        name: resource-occ
1137
1138  -
1139    name: dl-resource-list
1140    subset-of: devlink
1141    attributes:
1142      -
1143        name: resource
1144
1145  -
1146    name: dl-param
1147    subset-of: devlink
1148    attributes:
1149      -
1150        name: param-name
1151      -
1152        name: param-generic
1153      -
1154        name: param-type
1155
1156        # TODO: fill in the attribute param-value-list
1157
1158  -
1159    name: dl-region-snapshots
1160    subset-of: devlink
1161    attributes:
1162      -
1163        name: region-snapshot
1164
1165  -
1166    name: dl-region-snapshot
1167    subset-of: devlink
1168    attributes:
1169      -
1170        name: region-snapshot-id
1171
1172  -
1173    name: dl-region-chunks
1174    subset-of: devlink
1175    attributes:
1176      -
1177        name: region-chunk
1178
1179  -
1180    name: dl-region-chunk
1181    subset-of: devlink
1182    attributes:
1183      -
1184        name: region-chunk-data
1185      -
1186        name: region-chunk-addr
1187
1188  -
1189    name: dl-fmsg
1190    subset-of: devlink
1191    attributes:
1192      -
1193        name: fmsg-obj-nest-start
1194      -
1195        name: fmsg-pair-nest-start
1196      -
1197        name: fmsg-arr-nest-start
1198      -
1199        name: fmsg-nest-end
1200      -
1201        name: fmsg-obj-name
1202
1203  -
1204    name: dl-health-reporter
1205    subset-of: devlink
1206    attributes:
1207      -
1208        name: health-reporter-name
1209      -
1210        name: health-reporter-state
1211      -
1212        name: health-reporter-err-count
1213      -
1214        name: health-reporter-recover-count
1215      -
1216        name: health-reporter-graceful-period
1217      -
1218        name: health-reporter-auto-recover
1219      -
1220        name: health-reporter-dump-ts
1221      -
1222        name: health-reporter-dump-ts-ns
1223      -
1224        name: health-reporter-auto-dump
1225      -
1226        name: health-reporter-burst-period
1227
1228  -
1229    name: dl-attr-stats
1230    name-prefix: devlink-attr-
1231    attributes:
1232      - name: stats-rx-packets
1233        type: u64
1234        value: 0
1235      -
1236        name: stats-rx-bytes
1237        type: u64
1238      -
1239        name: stats-rx-dropped
1240        type: u64
1241
1242  -
1243    name: dl-trap-metadata
1244    name-prefix: devlink-attr-
1245    attributes:
1246      -
1247        name: trap-metadata-type-in-port
1248        type: flag
1249        value: 0
1250      -
1251        name: trap-metadata-type-fa-cookie
1252        type: flag
1253
1254  -
1255    name: dl-linecard-supported-types
1256    subset-of: devlink
1257    attributes:
1258      -
1259        name: linecard-type
1260
1261  -
1262    name: dl-selftest-id
1263    name-prefix: devlink-attr-selftest-id-
1264    attributes:
1265      -
1266        name: flash
1267        type: flag
1268  -
1269    name: dl-rate-tc-bws
1270    name-prefix: devlink-rate-tc-attr-
1271    attributes:
1272      -
1273        name: index
1274        type: u8
1275        checks:
1276          max: rate-tc-index-max
1277      -
1278        name: bw
1279        type: u32
1280        doc: |
1281             Specifies the bandwidth share assigned to the Traffic Class.
1282             The bandwidth for the traffic class is determined
1283             in proportion to the sum of the shares of all configured classes.
1284
1285operations:
1286  enum-model: directional
1287  list:
1288    -
1289      name: get
1290      doc: Get devlink instances.
1291      attribute-set: devlink
1292      dont-validate: [strict, dump]
1293      do:
1294        pre: devlink-nl-pre-doit
1295        post: devlink-nl-post-doit
1296        request:
1297          value: 1
1298          attributes: &dev-id-attrs
1299            - bus-name
1300            - dev-name
1301        reply: &get-reply
1302          value: 3
1303          attributes:
1304            - bus-name
1305            - dev-name
1306            - reload-failed
1307            - dev-stats
1308      dump:
1309        reply: *get-reply
1310
1311    -
1312      name: port-get
1313      doc: Get devlink port instances.
1314      attribute-set: devlink
1315      dont-validate: [strict]
1316      do:
1317        pre: devlink-nl-pre-doit-port
1318        post: devlink-nl-post-doit
1319        request:
1320          value: 5
1321          attributes: &port-id-attrs
1322            - bus-name
1323            - dev-name
1324            - port-index
1325        reply:
1326          value: 7
1327          attributes: *port-id-attrs
1328      dump:
1329        request:
1330          attributes: *dev-id-attrs
1331        reply:
1332          value: 3  # due to a bug, port dump returns DEVLINK_CMD_NEW
1333          attributes: *port-id-attrs
1334
1335    -
1336      name: port-set
1337      doc: Set devlink port instances.
1338      attribute-set: devlink
1339      dont-validate: [strict]
1340      flags: [admin-perm]
1341      do:
1342        pre: devlink-nl-pre-doit-port
1343        post: devlink-nl-post-doit
1344        request:
1345          attributes:
1346            - bus-name
1347            - dev-name
1348            - port-index
1349            - port-type
1350            - port-function
1351
1352    -
1353      name: port-new
1354      doc: Create devlink port instances.
1355      attribute-set: devlink
1356      dont-validate: [strict]
1357      flags: [admin-perm]
1358      do:
1359        pre: devlink-nl-pre-doit
1360        post: devlink-nl-post-doit
1361        request:
1362          attributes:
1363            - bus-name
1364            - dev-name
1365            - port-index
1366            - port-flavour
1367            - port-pci-pf-number
1368            - port-pci-sf-number
1369            - port-controller-number
1370        reply:
1371          value: 7
1372          attributes: *port-id-attrs
1373
1374    -
1375      name: port-del
1376      doc: Delete devlink port instances.
1377      attribute-set: devlink
1378      dont-validate: [strict]
1379      flags: [admin-perm]
1380      do:
1381        pre: devlink-nl-pre-doit-port
1382        post: devlink-nl-post-doit
1383        request:
1384          attributes: *port-id-attrs
1385
1386    -
1387      name: port-split
1388      doc: Split devlink port instances.
1389      attribute-set: devlink
1390      dont-validate: [strict]
1391      flags: [admin-perm]
1392      do:
1393        pre: devlink-nl-pre-doit-port
1394        post: devlink-nl-post-doit
1395        request:
1396          attributes:
1397            - bus-name
1398            - dev-name
1399            - port-index
1400            - port-split-count
1401
1402    -
1403      name: port-unsplit
1404      doc: Unplit devlink port instances.
1405      attribute-set: devlink
1406      dont-validate: [strict]
1407      flags: [admin-perm]
1408      do:
1409        pre: devlink-nl-pre-doit-port
1410        post: devlink-nl-post-doit
1411        request:
1412          attributes: *port-id-attrs
1413
1414    -
1415      name: sb-get
1416      doc: Get shared buffer instances.
1417      attribute-set: devlink
1418      dont-validate: [strict]
1419      do:
1420        pre: devlink-nl-pre-doit
1421        post: devlink-nl-post-doit
1422        request:
1423          value: 11
1424          attributes: &sb-id-attrs
1425            - bus-name
1426            - dev-name
1427            - sb-index
1428        reply: &sb-get-reply
1429          value: 13
1430          attributes: *sb-id-attrs
1431      dump:
1432        request:
1433          attributes: *dev-id-attrs
1434        reply: *sb-get-reply
1435
1436    -
1437      name: sb-pool-get
1438      doc: Get shared buffer pool instances.
1439      attribute-set: devlink
1440      dont-validate: [strict]
1441      do:
1442        pre: devlink-nl-pre-doit
1443        post: devlink-nl-post-doit
1444        request:
1445          value: 15
1446          attributes: &sb-pool-id-attrs
1447            - bus-name
1448            - dev-name
1449            - sb-index
1450            - sb-pool-index
1451        reply: &sb-pool-get-reply
1452          value: 17
1453          attributes: *sb-pool-id-attrs
1454      dump:
1455        request:
1456          attributes: *dev-id-attrs
1457        reply: *sb-pool-get-reply
1458
1459    -
1460      name: sb-pool-set
1461      doc: Set shared buffer pool instances.
1462      attribute-set: devlink
1463      dont-validate: [strict]
1464      flags: [admin-perm]
1465      do:
1466        pre: devlink-nl-pre-doit
1467        post: devlink-nl-post-doit
1468        request:
1469          attributes:
1470            - bus-name
1471            - dev-name
1472            - sb-index
1473            - sb-pool-index
1474            - sb-pool-threshold-type
1475            - sb-pool-size
1476
1477    -
1478      name: sb-port-pool-get
1479      doc: Get shared buffer port-pool combinations and threshold.
1480      attribute-set: devlink
1481      dont-validate: [strict]
1482      do:
1483        pre: devlink-nl-pre-doit-port
1484        post: devlink-nl-post-doit
1485        request:
1486          value: 19
1487          attributes: &sb-port-pool-id-attrs
1488            - bus-name
1489            - dev-name
1490            - port-index
1491            - sb-index
1492            - sb-pool-index
1493        reply: &sb-port-pool-get-reply
1494          value: 21
1495          attributes: *sb-port-pool-id-attrs
1496      dump:
1497        request:
1498          attributes: *dev-id-attrs
1499        reply: *sb-port-pool-get-reply
1500
1501    -
1502      name: sb-port-pool-set
1503      doc: Set shared buffer port-pool combinations and threshold.
1504      attribute-set: devlink
1505      dont-validate: [strict]
1506      flags: [admin-perm]
1507      do:
1508        pre: devlink-nl-pre-doit-port
1509        post: devlink-nl-post-doit
1510        request:
1511          attributes:
1512            - bus-name
1513            - dev-name
1514            - port-index
1515            - sb-index
1516            - sb-pool-index
1517            - sb-threshold
1518
1519    -
1520      name: sb-tc-pool-bind-get
1521      doc: Get shared buffer port-TC to pool bindings and threshold.
1522      attribute-set: devlink
1523      dont-validate: [strict]
1524      do:
1525        pre: devlink-nl-pre-doit-port
1526        post: devlink-nl-post-doit
1527        request:
1528          value: 23
1529          attributes: &sb-tc-pool-bind-id-attrs
1530            - bus-name
1531            - dev-name
1532            - port-index
1533            - sb-index
1534            - sb-pool-type
1535            - sb-tc-index
1536        reply: &sb-tc-pool-bind-get-reply
1537          value: 25
1538          attributes: *sb-tc-pool-bind-id-attrs
1539      dump:
1540        request:
1541          attributes: *dev-id-attrs
1542        reply: *sb-tc-pool-bind-get-reply
1543
1544    -
1545      name: sb-tc-pool-bind-set
1546      doc: Set shared buffer port-TC to pool bindings and threshold.
1547      attribute-set: devlink
1548      dont-validate: [strict]
1549      flags: [admin-perm]
1550      do:
1551        pre: devlink-nl-pre-doit-port
1552        post: devlink-nl-post-doit
1553        request:
1554          attributes:
1555            - bus-name
1556            - dev-name
1557            - port-index
1558            - sb-index
1559            - sb-pool-index
1560            - sb-pool-type
1561            - sb-tc-index
1562            - sb-threshold
1563
1564    -
1565      name: sb-occ-snapshot
1566      doc: Take occupancy snapshot of shared buffer.
1567      attribute-set: devlink
1568      dont-validate: [strict]
1569      flags: [admin-perm]
1570      do:
1571        pre: devlink-nl-pre-doit
1572        post: devlink-nl-post-doit
1573        request:
1574          value: 27
1575          attributes:
1576            - bus-name
1577            - dev-name
1578            - sb-index
1579
1580    -
1581      name: sb-occ-max-clear
1582      doc: Clear occupancy watermarks of shared buffer.
1583      attribute-set: devlink
1584      dont-validate: [strict]
1585      flags: [admin-perm]
1586      do:
1587        pre: devlink-nl-pre-doit
1588        post: devlink-nl-post-doit
1589        request:
1590          attributes:
1591            - bus-name
1592            - dev-name
1593            - sb-index
1594
1595    -
1596      name: eswitch-get
1597      doc: Get eswitch attributes.
1598      attribute-set: devlink
1599      dont-validate: [strict]
1600      flags: [admin-perm]
1601      do:
1602        pre: devlink-nl-pre-doit
1603        post: devlink-nl-post-doit
1604        request:
1605          attributes: *dev-id-attrs
1606        reply:
1607          value: 29
1608          attributes: &eswitch-attrs
1609            - bus-name
1610            - dev-name
1611            - eswitch-mode
1612            - eswitch-inline-mode
1613            - eswitch-encap-mode
1614
1615    -
1616      name: eswitch-set
1617      doc: Set eswitch attributes.
1618      attribute-set: devlink
1619      dont-validate: [strict]
1620      flags: [admin-perm]
1621      do:
1622        pre: devlink-nl-pre-doit
1623        post: devlink-nl-post-doit
1624        request:
1625          attributes: *eswitch-attrs
1626
1627    -
1628      name: dpipe-table-get
1629      doc: Get dpipe table attributes.
1630      attribute-set: devlink
1631      dont-validate: [strict]
1632      do:
1633        pre: devlink-nl-pre-doit
1634        post: devlink-nl-post-doit
1635        request:
1636          attributes:
1637            - bus-name
1638            - dev-name
1639            - dpipe-table-name
1640        reply:
1641          value: 31
1642          attributes:
1643            - bus-name
1644            - dev-name
1645            - dpipe-tables
1646
1647    -
1648      name: dpipe-entries-get
1649      doc: Get dpipe entries attributes.
1650      attribute-set: devlink
1651      dont-validate: [strict]
1652      do:
1653        pre: devlink-nl-pre-doit
1654        post: devlink-nl-post-doit
1655        request:
1656          attributes:
1657            - bus-name
1658            - dev-name
1659            - dpipe-table-name
1660        reply:
1661          attributes:
1662            - bus-name
1663            - dev-name
1664            - dpipe-entries
1665
1666    -
1667      name: dpipe-headers-get
1668      doc: Get dpipe headers attributes.
1669      attribute-set: devlink
1670      dont-validate: [strict]
1671      do:
1672        pre: devlink-nl-pre-doit
1673        post: devlink-nl-post-doit
1674        request:
1675          attributes:
1676            - bus-name
1677            - dev-name
1678        reply:
1679          attributes:
1680            - bus-name
1681            - dev-name
1682            - dpipe-headers
1683
1684    -
1685      name: dpipe-table-counters-set
1686      doc: Set dpipe counter attributes.
1687      attribute-set: devlink
1688      dont-validate: [strict]
1689      flags: [admin-perm]
1690      do:
1691        pre: devlink-nl-pre-doit
1692        post: devlink-nl-post-doit
1693        request:
1694          attributes:
1695            - bus-name
1696            - dev-name
1697            - dpipe-table-name
1698            - dpipe-table-counters-enabled
1699
1700    -
1701      name: resource-set
1702      doc: Set resource attributes.
1703      attribute-set: devlink
1704      dont-validate: [strict]
1705      flags: [admin-perm]
1706      do:
1707        pre: devlink-nl-pre-doit
1708        post: devlink-nl-post-doit
1709        request:
1710          attributes:
1711            - bus-name
1712            - dev-name
1713            - resource-id
1714            - resource-size
1715
1716    -
1717      name: resource-dump
1718      doc: Get resource attributes.
1719      attribute-set: devlink
1720      dont-validate: [strict]
1721      do:
1722        pre: devlink-nl-pre-doit
1723        post: devlink-nl-post-doit
1724        request:
1725          attributes:
1726            - bus-name
1727            - dev-name
1728        reply:
1729          value: 36
1730          attributes:
1731            - bus-name
1732            - dev-name
1733            - resource-list
1734
1735    -
1736      name: reload
1737      doc: Reload devlink.
1738      attribute-set: devlink
1739      dont-validate: [strict]
1740      flags: [admin-perm]
1741      do:
1742        pre: devlink-nl-pre-doit-dev-lock
1743        post: devlink-nl-post-doit-dev-lock
1744        request:
1745          attributes:
1746            - bus-name
1747            - dev-name
1748            - reload-action
1749            - reload-limits
1750            - netns-pid
1751            - netns-fd
1752            - netns-id
1753        reply:
1754          attributes:
1755            - bus-name
1756            - dev-name
1757            - reload-actions-performed
1758
1759    -
1760      name: param-get
1761      doc: Get param instances.
1762      attribute-set: devlink
1763      dont-validate: [strict]
1764      do:
1765        pre: devlink-nl-pre-doit
1766        post: devlink-nl-post-doit
1767        request:
1768          attributes: &param-id-attrs
1769            - bus-name
1770            - dev-name
1771            - param-name
1772        reply: &param-get-reply
1773          attributes: *param-id-attrs
1774      dump:
1775        request:
1776          attributes: *dev-id-attrs
1777        reply: *param-get-reply
1778
1779    -
1780      name: param-set
1781      doc: Set param instances.
1782      attribute-set: devlink
1783      dont-validate: [strict]
1784      flags: [admin-perm]
1785      do:
1786        pre: devlink-nl-pre-doit
1787        post: devlink-nl-post-doit
1788        request:
1789          attributes:
1790            - bus-name
1791            - dev-name
1792            - param-name
1793            - param-type
1794            # param-value-data is missing here as the type is variable
1795            - param-value-cmode
1796
1797    -
1798      name: region-get
1799      doc: Get region instances.
1800      attribute-set: devlink
1801      dont-validate: [strict]
1802      do:
1803        pre: devlink-nl-pre-doit-port-optional
1804        post: devlink-nl-post-doit
1805        request:
1806          value: 42
1807          attributes: &region-id-attrs
1808            - bus-name
1809            - dev-name
1810            - port-index
1811            - region-name
1812        reply: &region-get-reply
1813          value: 42
1814          attributes: *region-id-attrs
1815      dump:
1816        request:
1817          attributes: *dev-id-attrs
1818        reply: *region-get-reply
1819
1820    -
1821      name: region-new
1822      doc: Create region snapshot.
1823      attribute-set: devlink
1824      dont-validate: [strict]
1825      flags: [admin-perm]
1826      do:
1827        pre: devlink-nl-pre-doit-port-optional
1828        post: devlink-nl-post-doit
1829        request:
1830          value: 44
1831          attributes: &region-snapshot-id-attrs
1832            - bus-name
1833            - dev-name
1834            - port-index
1835            - region-name
1836            - region-snapshot-id
1837        reply:
1838          value: 44
1839          attributes: *region-snapshot-id-attrs
1840
1841    -
1842      name: region-del
1843      doc: Delete region snapshot.
1844      attribute-set: devlink
1845      dont-validate: [strict]
1846      flags: [admin-perm]
1847      do:
1848        pre: devlink-nl-pre-doit-port-optional
1849        post: devlink-nl-post-doit
1850        request:
1851          attributes: *region-snapshot-id-attrs
1852
1853    -
1854      name: region-read
1855      doc: Read region data.
1856      attribute-set: devlink
1857      dont-validate: [dump-strict]
1858      flags: [admin-perm]
1859      dump:
1860        request:
1861          attributes:
1862            - bus-name
1863            - dev-name
1864            - port-index
1865            - region-name
1866            - region-snapshot-id
1867            - region-direct
1868            - region-chunk-addr
1869            - region-chunk-len
1870        reply:
1871          value: 46
1872          attributes:
1873            - bus-name
1874            - dev-name
1875            - port-index
1876            - region-name
1877
1878    -
1879      name: port-param-get
1880      doc: Get port param instances.
1881      attribute-set: devlink
1882      dont-validate: [strict, dump-strict]
1883      do:
1884        pre: devlink-nl-pre-doit-port
1885        post: devlink-nl-post-doit
1886        request:
1887          attributes: *port-id-attrs
1888        reply:
1889          attributes: *port-id-attrs
1890      dump:
1891        reply:
1892          attributes: *port-id-attrs
1893
1894    -
1895      name: port-param-set
1896      doc: Set port param instances.
1897      attribute-set: devlink
1898      dont-validate: [strict]
1899      flags: [admin-perm]
1900      do:
1901        pre: devlink-nl-pre-doit-port
1902        post: devlink-nl-post-doit
1903        request:
1904          attributes: *port-id-attrs
1905
1906    -
1907      name: info-get
1908      doc: |
1909        Get device information, like driver name, hardware and firmware versions
1910        etc.
1911      attribute-set: devlink
1912      dont-validate: [strict, dump]
1913      do:
1914        pre: devlink-nl-pre-doit
1915        post: devlink-nl-post-doit
1916        request:
1917          value: 51
1918          attributes: *dev-id-attrs
1919        reply: &info-get-reply
1920          value: 51
1921          attributes:
1922            - bus-name
1923            - dev-name
1924            - info-driver-name
1925            - info-serial-number
1926            - info-version-fixed
1927            - info-version-running
1928            - info-version-stored
1929            - info-board-serial-number
1930      dump:
1931        reply: *info-get-reply
1932
1933    -
1934      name: health-reporter-get
1935      doc: Get health reporter instances.
1936      attribute-set: devlink
1937      dont-validate: [strict]
1938      do:
1939        pre: devlink-nl-pre-doit-port-optional
1940        post: devlink-nl-post-doit
1941        request:
1942          attributes: &health-reporter-id-attrs
1943            - bus-name
1944            - dev-name
1945            - port-index
1946            - health-reporter-name
1947        reply: &health-reporter-get-reply
1948          attributes: *health-reporter-id-attrs
1949      dump:
1950        request:
1951          attributes: *port-id-attrs
1952        reply: *health-reporter-get-reply
1953
1954    -
1955      name: health-reporter-set
1956      doc: Set health reporter instances.
1957      attribute-set: devlink
1958      dont-validate: [strict]
1959      flags: [admin-perm]
1960      do:
1961        pre: devlink-nl-pre-doit-port-optional
1962        post: devlink-nl-post-doit
1963        request:
1964          attributes:
1965            - bus-name
1966            - dev-name
1967            - port-index
1968            - health-reporter-name
1969            - health-reporter-graceful-period
1970            - health-reporter-auto-recover
1971            - health-reporter-auto-dump
1972            - health-reporter-burst-period
1973
1974    -
1975      name: health-reporter-recover
1976      doc: Recover health reporter instances.
1977      attribute-set: devlink
1978      dont-validate: [strict]
1979      flags: [admin-perm]
1980      do:
1981        pre: devlink-nl-pre-doit-port-optional
1982        post: devlink-nl-post-doit
1983        request:
1984          attributes: *health-reporter-id-attrs
1985
1986    -
1987      name: health-reporter-diagnose
1988      doc: Diagnose health reporter instances.
1989      attribute-set: devlink
1990      dont-validate: [strict]
1991      flags: [admin-perm]
1992      do:
1993        pre: devlink-nl-pre-doit-port-optional
1994        post: devlink-nl-post-doit
1995        request:
1996          attributes: *health-reporter-id-attrs
1997
1998    -
1999      name: health-reporter-dump-get
2000      doc: Dump health reporter instances.
2001      attribute-set: devlink
2002      dont-validate: [dump-strict]
2003      flags: [admin-perm]
2004      dump:
2005        request:
2006          attributes: *health-reporter-id-attrs
2007        reply:
2008          value: 56
2009          attributes:
2010            - fmsg
2011
2012    -
2013      name: health-reporter-dump-clear
2014      doc: Clear dump of health reporter instances.
2015      attribute-set: devlink
2016      dont-validate: [strict]
2017      flags: [admin-perm]
2018      do:
2019        pre: devlink-nl-pre-doit-port-optional
2020        post: devlink-nl-post-doit
2021        request:
2022          attributes: *health-reporter-id-attrs
2023
2024    -
2025      name: flash-update
2026      doc: Flash update devlink instances.
2027      attribute-set: devlink
2028      dont-validate: [strict]
2029      flags: [admin-perm]
2030      do:
2031        pre: devlink-nl-pre-doit
2032        post: devlink-nl-post-doit
2033        request:
2034          attributes:
2035            - bus-name
2036            - dev-name
2037            - flash-update-file-name
2038            - flash-update-component
2039            - flash-update-overwrite-mask
2040
2041    -
2042      name: trap-get
2043      doc: Get trap instances.
2044      attribute-set: devlink
2045      dont-validate: [strict]
2046      do:
2047        pre: devlink-nl-pre-doit
2048        post: devlink-nl-post-doit
2049        request:
2050          value: 61
2051          attributes: &trap-id-attrs
2052            - bus-name
2053            - dev-name
2054            - trap-name
2055        reply: &trap-get-reply
2056          value: 63
2057          attributes: *trap-id-attrs
2058      dump:
2059        request:
2060          attributes: *dev-id-attrs
2061        reply: *trap-get-reply
2062
2063    -
2064      name: trap-set
2065      doc: Set trap instances.
2066      attribute-set: devlink
2067      dont-validate: [strict]
2068      flags: [admin-perm]
2069      do:
2070        pre: devlink-nl-pre-doit
2071        post: devlink-nl-post-doit
2072        request:
2073          attributes:
2074            - bus-name
2075            - dev-name
2076            - trap-name
2077            - trap-action
2078
2079    -
2080      name: trap-group-get
2081      doc: Get trap group instances.
2082      attribute-set: devlink
2083      dont-validate: [strict]
2084      do:
2085        pre: devlink-nl-pre-doit
2086        post: devlink-nl-post-doit
2087        request:
2088          value: 65
2089          attributes: &trap-group-id-attrs
2090            - bus-name
2091            - dev-name
2092            - trap-group-name
2093        reply: &trap-group-get-reply
2094          value: 67
2095          attributes: *trap-group-id-attrs
2096      dump:
2097        request:
2098          attributes: *dev-id-attrs
2099        reply: *trap-group-get-reply
2100
2101    -
2102      name: trap-group-set
2103      doc: Set trap group instances.
2104      attribute-set: devlink
2105      dont-validate: [strict]
2106      flags: [admin-perm]
2107      do:
2108        pre: devlink-nl-pre-doit
2109        post: devlink-nl-post-doit
2110        request:
2111          attributes:
2112            - bus-name
2113            - dev-name
2114            - trap-group-name
2115            - trap-action
2116            - trap-policer-id
2117
2118    -
2119      name: trap-policer-get
2120      doc: Get trap policer instances.
2121      attribute-set: devlink
2122      dont-validate: [strict]
2123      do:
2124        pre: devlink-nl-pre-doit
2125        post: devlink-nl-post-doit
2126        request:
2127          value: 69
2128          attributes: &trap-policer-id-attrs
2129            - bus-name
2130            - dev-name
2131            - trap-policer-id
2132        reply: &trap-policer-get-reply
2133          value: 71
2134          attributes: *trap-policer-id-attrs
2135      dump:
2136        request:
2137          attributes: *dev-id-attrs
2138        reply: *trap-policer-get-reply
2139
2140    -
2141      name: trap-policer-set
2142      doc: Get trap policer instances.
2143      attribute-set: devlink
2144      dont-validate: [strict]
2145      flags: [admin-perm]
2146      do:
2147        pre: devlink-nl-pre-doit
2148        post: devlink-nl-post-doit
2149        request:
2150          attributes:
2151            - bus-name
2152            - dev-name
2153            - trap-policer-id
2154            - trap-policer-rate
2155            - trap-policer-burst
2156
2157    -
2158      name: health-reporter-test
2159      doc: Test health reporter instances.
2160      attribute-set: devlink
2161      dont-validate: [strict]
2162      flags: [admin-perm]
2163      do:
2164        pre: devlink-nl-pre-doit-port-optional
2165        post: devlink-nl-post-doit
2166        request:
2167          value: 73
2168          attributes: *health-reporter-id-attrs
2169
2170    -
2171      name: rate-get
2172      doc: Get rate instances.
2173      attribute-set: devlink
2174      dont-validate: [strict]
2175      do:
2176        pre: devlink-nl-pre-doit
2177        post: devlink-nl-post-doit
2178        request:
2179          value: 74
2180          attributes: &rate-id-attrs
2181            - bus-name
2182            - dev-name
2183            - port-index
2184            - rate-node-name
2185        reply: &rate-get-reply
2186          value: 76
2187          attributes: *rate-id-attrs
2188      dump:
2189        request:
2190          attributes: *dev-id-attrs
2191        reply: *rate-get-reply
2192
2193    -
2194      name: rate-set
2195      doc: Set rate instances.
2196      attribute-set: devlink
2197      dont-validate: [strict]
2198      flags: [admin-perm]
2199      do:
2200        pre: devlink-nl-pre-doit
2201        post: devlink-nl-post-doit
2202        request:
2203          attributes:
2204            - bus-name
2205            - dev-name
2206            - rate-node-name
2207            - rate-tx-share
2208            - rate-tx-max
2209            - rate-tx-priority
2210            - rate-tx-weight
2211            - rate-parent-node-name
2212            - rate-tc-bws
2213
2214    -
2215      name: rate-new
2216      doc: Create rate instances.
2217      attribute-set: devlink
2218      dont-validate: [strict]
2219      flags: [admin-perm]
2220      do:
2221        pre: devlink-nl-pre-doit
2222        post: devlink-nl-post-doit
2223        request:
2224          attributes:
2225            - bus-name
2226            - dev-name
2227            - rate-node-name
2228            - rate-tx-share
2229            - rate-tx-max
2230            - rate-tx-priority
2231            - rate-tx-weight
2232            - rate-parent-node-name
2233            - rate-tc-bws
2234
2235    -
2236      name: rate-del
2237      doc: Delete rate instances.
2238      attribute-set: devlink
2239      dont-validate: [strict]
2240      flags: [admin-perm]
2241      do:
2242        pre: devlink-nl-pre-doit
2243        post: devlink-nl-post-doit
2244        request:
2245          attributes:
2246            - bus-name
2247            - dev-name
2248            - rate-node-name
2249
2250    -
2251      name: linecard-get
2252      doc: Get line card instances.
2253      attribute-set: devlink
2254      dont-validate: [strict]
2255      do:
2256        pre: devlink-nl-pre-doit
2257        post: devlink-nl-post-doit
2258        request:
2259          value: 78
2260          attributes: &linecard-id-attrs
2261            - bus-name
2262            - dev-name
2263            - linecard-index
2264        reply: &linecard-get-reply
2265          value: 80
2266          attributes: *linecard-id-attrs
2267      dump:
2268        request:
2269          attributes: *dev-id-attrs
2270        reply: *linecard-get-reply
2271
2272    -
2273      name: linecard-set
2274      doc: Set line card instances.
2275      attribute-set: devlink
2276      dont-validate: [strict]
2277      flags: [admin-perm]
2278      do:
2279        pre: devlink-nl-pre-doit
2280        post: devlink-nl-post-doit
2281        request:
2282          attributes:
2283            - bus-name
2284            - dev-name
2285            - linecard-index
2286            - linecard-type
2287
2288    -
2289      name: selftests-get
2290      doc: Get device selftest instances.
2291      attribute-set: devlink
2292      dont-validate: [strict, dump]
2293      do:
2294        pre: devlink-nl-pre-doit
2295        post: devlink-nl-post-doit
2296        request:
2297          value: 82
2298          attributes: *dev-id-attrs
2299        reply: &selftests-get-reply
2300          value: 82
2301          attributes: *dev-id-attrs
2302      dump:
2303        reply: *selftests-get-reply
2304
2305    -
2306      name: selftests-run
2307      doc: Run device selftest instances.
2308      attribute-set: devlink
2309      dont-validate: [strict]
2310      flags: [admin-perm]
2311      do:
2312        pre: devlink-nl-pre-doit
2313        post: devlink-nl-post-doit
2314        request:
2315          attributes:
2316            - bus-name
2317            - dev-name
2318            - selftests
2319
2320    -
2321      name: notify-filter-set
2322      doc: Set notification messages socket filter.
2323      attribute-set: devlink
2324      do:
2325        request:
2326          attributes:
2327            - bus-name
2328            - dev-name
2329            - port-index
2330