xref: /linux/Documentation/netlink/specs/devlink.yaml (revision 9b29afa1166088ca4e8223857508f2a19d88b58b)
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      # TODO: fill in the attributes in between
864
865      -
866        name: param-reset-default
867        type: flag
868        doc: Request restoring parameter to its default value.
869        value: 183
870      -
871        name: index
872        type: uint
873        doc: Unique devlink instance index.
874        checks:
875          max: u32-max
876  -
877    name: dl-dev-stats
878    subset-of: devlink
879    attributes:
880      -
881        name: reload-stats
882      -
883        name: remote-reload-stats
884
885  -
886    name: dl-reload-stats
887    subset-of: devlink
888    attributes:
889      -
890        name: reload-action-info
891
892  -
893    name: dl-reload-act-info
894    subset-of: devlink
895    attributes:
896      -
897        name: reload-action
898      -
899        name: reload-action-stats
900
901  -
902    name: dl-reload-act-stats
903    subset-of: devlink
904    attributes:
905      -
906        name: reload-stats-entry
907
908  -
909    name: dl-reload-stats-entry
910    subset-of: devlink
911    attributes:
912      -
913        name: reload-stats-limit
914      -
915        name: reload-stats-value
916
917  -
918    name: dl-info-version
919    subset-of: devlink
920    attributes:
921      -
922        name: info-version-name
923      -
924        name: info-version-value
925
926  -
927    name: dl-port-function
928    name-prefix: devlink-port-fn-attr-
929    attr-max-name: devlink-port-function-attr-max
930    attributes:
931      -
932        name-prefix: devlink-port-function-attr-
933        name: hw-addr
934        type: binary
935        value: 1
936      -
937        name: state
938        type: u8
939        enum: port-fn-state
940      -
941        name: opstate
942        type: u8
943        enum: port-fn-opstate
944      -
945        name: caps
946        type: bitfield32
947        enum: port-fn-attr-cap
948        enum-as-flags: true
949
950  -
951    name: dl-dpipe-tables
952    subset-of: devlink
953    attributes:
954      -
955        name: dpipe-table
956
957  -
958    name: dl-dpipe-table
959    subset-of: devlink
960    attributes:
961      -
962        name: dpipe-table-name
963      -
964        name: dpipe-table-size
965      -
966        name: dpipe-table-name
967      -
968        name: dpipe-table-size
969      -
970        name: dpipe-table-matches
971      -
972        name: dpipe-table-actions
973      -
974        name: dpipe-table-counters-enabled
975      -
976        name: dpipe-table-resource-id
977      -
978        name: dpipe-table-resource-units
979
980  -
981    name: dl-dpipe-table-matches
982    subset-of: devlink
983    attributes:
984      -
985        name: dpipe-match
986
987  -
988    name: dl-dpipe-table-actions
989    subset-of: devlink
990    attributes:
991      -
992        name: dpipe-action
993
994  -
995    name: dl-dpipe-entries
996    subset-of: devlink
997    attributes:
998      -
999        name: dpipe-entry
1000
1001  -
1002    name: dl-dpipe-entry
1003    subset-of: devlink
1004    attributes:
1005      -
1006        name: dpipe-entry-index
1007      -
1008        name: dpipe-entry-match-values
1009      -
1010        name: dpipe-entry-action-values
1011      -
1012        name: dpipe-entry-counter
1013
1014  -
1015    name: dl-dpipe-entry-match-values
1016    subset-of: devlink
1017    attributes:
1018      -
1019        name: dpipe-match-value
1020
1021  -
1022    name: dl-dpipe-entry-action-values
1023    subset-of: devlink
1024    attributes:
1025      -
1026        name: dpipe-action-value
1027
1028  -
1029    name: dl-dpipe-match
1030    subset-of: devlink
1031    attributes:
1032      -
1033        name: dpipe-match-type
1034      -
1035        name: dpipe-header-id
1036      -
1037        name: dpipe-header-global
1038      -
1039        name: dpipe-header-index
1040      -
1041        name: dpipe-field-id
1042
1043  -
1044    name: dl-dpipe-match-value
1045    subset-of: devlink
1046    attributes:
1047      -
1048        name: dpipe-match
1049      -
1050        name: dpipe-value
1051      -
1052        name: dpipe-value-mask
1053      -
1054        name: dpipe-value-mapping
1055
1056  -
1057    name: dl-dpipe-action
1058    subset-of: devlink
1059    attributes:
1060      -
1061        name: dpipe-action-type
1062      -
1063        name: dpipe-header-id
1064      -
1065        name: dpipe-header-global
1066      -
1067        name: dpipe-header-index
1068      -
1069        name: dpipe-field-id
1070
1071  -
1072    name: dl-dpipe-action-value
1073    subset-of: devlink
1074    attributes:
1075      -
1076        name: dpipe-action
1077      -
1078        name: dpipe-value
1079      -
1080        name: dpipe-value-mask
1081      -
1082        name: dpipe-value-mapping
1083
1084  -
1085    name: dl-dpipe-headers
1086    subset-of: devlink
1087    attributes:
1088      -
1089        name: dpipe-header
1090
1091  -
1092    name: dl-dpipe-header
1093    subset-of: devlink
1094    attributes:
1095      -
1096        name: dpipe-header-name
1097      -
1098        name: dpipe-header-id
1099      -
1100        name: dpipe-header-global
1101      -
1102        name: dpipe-header-fields
1103
1104  -
1105    name: dl-dpipe-header-fields
1106    subset-of: devlink
1107    attributes:
1108      -
1109        name: dpipe-field
1110
1111  -
1112    name: dl-dpipe-field
1113    subset-of: devlink
1114    attributes:
1115      -
1116        name: dpipe-field-name
1117      -
1118        name: dpipe-field-id
1119      -
1120        name: dpipe-field-bitwidth
1121      -
1122        name: dpipe-field-mapping-type
1123
1124  -
1125    name: dl-resource
1126    subset-of: devlink
1127    attributes:
1128      # -
1129      # name: resource-list
1130      # This is currently unsupported due to circular dependency
1131      -
1132        name: resource-name
1133      -
1134        name: resource-id
1135      -
1136        name: resource-size
1137      -
1138        name: resource-size-new
1139      -
1140        name: resource-size-valid
1141      -
1142        name: resource-size-min
1143      -
1144        name: resource-size-max
1145      -
1146        name: resource-size-gran
1147      -
1148        name: resource-unit
1149      -
1150        name: resource-occ
1151
1152  -
1153    name: dl-resource-list
1154    subset-of: devlink
1155    attributes:
1156      -
1157        name: resource
1158
1159  -
1160    name: dl-param
1161    subset-of: devlink
1162    attributes:
1163      -
1164        name: param-name
1165      -
1166        name: param-generic
1167      -
1168        name: param-type
1169
1170        # TODO: fill in the attribute param-value-list
1171
1172  -
1173    name: dl-region-snapshots
1174    subset-of: devlink
1175    attributes:
1176      -
1177        name: region-snapshot
1178
1179  -
1180    name: dl-region-snapshot
1181    subset-of: devlink
1182    attributes:
1183      -
1184        name: region-snapshot-id
1185
1186  -
1187    name: dl-region-chunks
1188    subset-of: devlink
1189    attributes:
1190      -
1191        name: region-chunk
1192
1193  -
1194    name: dl-region-chunk
1195    subset-of: devlink
1196    attributes:
1197      -
1198        name: region-chunk-data
1199      -
1200        name: region-chunk-addr
1201
1202  -
1203    name: dl-fmsg
1204    subset-of: devlink
1205    attributes:
1206      -
1207        name: fmsg-obj-nest-start
1208      -
1209        name: fmsg-pair-nest-start
1210      -
1211        name: fmsg-arr-nest-start
1212      -
1213        name: fmsg-nest-end
1214      -
1215        name: fmsg-obj-name
1216
1217  -
1218    name: dl-health-reporter
1219    subset-of: devlink
1220    attributes:
1221      -
1222        name: health-reporter-name
1223      -
1224        name: health-reporter-state
1225      -
1226        name: health-reporter-err-count
1227      -
1228        name: health-reporter-recover-count
1229      -
1230        name: health-reporter-graceful-period
1231      -
1232        name: health-reporter-auto-recover
1233      -
1234        name: health-reporter-dump-ts
1235      -
1236        name: health-reporter-dump-ts-ns
1237      -
1238        name: health-reporter-auto-dump
1239      -
1240        name: health-reporter-burst-period
1241
1242  -
1243    name: dl-attr-stats
1244    name-prefix: devlink-attr-
1245    attributes:
1246      - name: stats-rx-packets
1247        type: u64
1248        value: 0
1249      -
1250        name: stats-rx-bytes
1251        type: u64
1252      -
1253        name: stats-rx-dropped
1254        type: u64
1255
1256  -
1257    name: dl-trap-metadata
1258    name-prefix: devlink-attr-
1259    attributes:
1260      -
1261        name: trap-metadata-type-in-port
1262        type: flag
1263        value: 0
1264      -
1265        name: trap-metadata-type-fa-cookie
1266        type: flag
1267
1268  -
1269    name: dl-linecard-supported-types
1270    subset-of: devlink
1271    attributes:
1272      -
1273        name: linecard-type
1274
1275  -
1276    name: dl-selftest-id
1277    name-prefix: devlink-attr-selftest-id-
1278    attributes:
1279      -
1280        name: flash
1281        type: flag
1282  -
1283    name: dl-rate-tc-bws
1284    name-prefix: devlink-rate-tc-attr-
1285    attributes:
1286      -
1287        name: index
1288        type: u8
1289        checks:
1290          max: rate-tc-index-max
1291      -
1292        name: bw
1293        type: u32
1294        doc: |
1295             Specifies the bandwidth share assigned to the Traffic Class.
1296             The bandwidth for the traffic class is determined
1297             in proportion to the sum of the shares of all configured classes.
1298
1299operations:
1300  enum-model: directional
1301  list:
1302    -
1303      name: get
1304      doc: Get devlink instances.
1305      attribute-set: devlink
1306      dont-validate: [strict, dump]
1307      do:
1308        pre: devlink-nl-pre-doit
1309        post: devlink-nl-post-doit
1310        request:
1311          value: 1
1312          attributes: &dev-id-attrs
1313            - bus-name
1314            - dev-name
1315            - index
1316        reply: &get-reply
1317          value: 3
1318          attributes:
1319            - bus-name
1320            - dev-name
1321            - index
1322            - reload-failed
1323            - dev-stats
1324      dump:
1325        reply: *get-reply
1326
1327    -
1328      name: port-get
1329      doc: Get devlink port instances.
1330      attribute-set: devlink
1331      dont-validate: [strict]
1332      do:
1333        pre: devlink-nl-pre-doit-port
1334        post: devlink-nl-post-doit
1335        request:
1336          value: 5
1337          attributes: &port-id-attrs
1338            - bus-name
1339            - dev-name
1340            - index
1341            - port-index
1342        reply:
1343          value: 7
1344          attributes: *port-id-attrs
1345      dump:
1346        request:
1347          attributes: *dev-id-attrs
1348        reply:
1349          value: 3  # due to a bug, port dump returns DEVLINK_CMD_NEW
1350          attributes: *port-id-attrs
1351
1352    -
1353      name: port-set
1354      doc: Set devlink port instances.
1355      attribute-set: devlink
1356      dont-validate: [strict]
1357      flags: [admin-perm]
1358      do:
1359        pre: devlink-nl-pre-doit-port
1360        post: devlink-nl-post-doit
1361        request:
1362          attributes:
1363            - bus-name
1364            - dev-name
1365            - index
1366            - port-index
1367            - port-type
1368            - port-function
1369
1370    -
1371      name: port-new
1372      doc: Create devlink port instances.
1373      attribute-set: devlink
1374      dont-validate: [strict]
1375      flags: [admin-perm]
1376      do:
1377        pre: devlink-nl-pre-doit
1378        post: devlink-nl-post-doit
1379        request:
1380          attributes:
1381            - bus-name
1382            - dev-name
1383            - index
1384            - port-index
1385            - port-flavour
1386            - port-pci-pf-number
1387            - port-pci-sf-number
1388            - port-controller-number
1389        reply:
1390          value: 7
1391          attributes: *port-id-attrs
1392
1393    -
1394      name: port-del
1395      doc: Delete devlink port instances.
1396      attribute-set: devlink
1397      dont-validate: [strict]
1398      flags: [admin-perm]
1399      do:
1400        pre: devlink-nl-pre-doit-port
1401        post: devlink-nl-post-doit
1402        request:
1403          attributes: *port-id-attrs
1404
1405    -
1406      name: port-split
1407      doc: Split devlink port instances.
1408      attribute-set: devlink
1409      dont-validate: [strict]
1410      flags: [admin-perm]
1411      do:
1412        pre: devlink-nl-pre-doit-port
1413        post: devlink-nl-post-doit
1414        request:
1415          attributes:
1416            - bus-name
1417            - dev-name
1418            - index
1419            - port-index
1420            - port-split-count
1421
1422    -
1423      name: port-unsplit
1424      doc: Unplit devlink port instances.
1425      attribute-set: devlink
1426      dont-validate: [strict]
1427      flags: [admin-perm]
1428      do:
1429        pre: devlink-nl-pre-doit-port
1430        post: devlink-nl-post-doit
1431        request:
1432          attributes: *port-id-attrs
1433
1434    -
1435      name: sb-get
1436      doc: Get shared buffer instances.
1437      attribute-set: devlink
1438      dont-validate: [strict]
1439      do:
1440        pre: devlink-nl-pre-doit
1441        post: devlink-nl-post-doit
1442        request:
1443          value: 11
1444          attributes: &sb-id-attrs
1445            - bus-name
1446            - dev-name
1447            - index
1448            - sb-index
1449        reply: &sb-get-reply
1450          value: 13
1451          attributes: *sb-id-attrs
1452      dump:
1453        request:
1454          attributes: *dev-id-attrs
1455        reply: *sb-get-reply
1456
1457    -
1458      name: sb-pool-get
1459      doc: Get shared buffer pool instances.
1460      attribute-set: devlink
1461      dont-validate: [strict]
1462      do:
1463        pre: devlink-nl-pre-doit
1464        post: devlink-nl-post-doit
1465        request:
1466          value: 15
1467          attributes: &sb-pool-id-attrs
1468            - bus-name
1469            - dev-name
1470            - index
1471            - sb-index
1472            - sb-pool-index
1473        reply: &sb-pool-get-reply
1474          value: 17
1475          attributes: *sb-pool-id-attrs
1476      dump:
1477        request:
1478          attributes: *dev-id-attrs
1479        reply: *sb-pool-get-reply
1480
1481    -
1482      name: sb-pool-set
1483      doc: Set shared buffer pool instances.
1484      attribute-set: devlink
1485      dont-validate: [strict]
1486      flags: [admin-perm]
1487      do:
1488        pre: devlink-nl-pre-doit
1489        post: devlink-nl-post-doit
1490        request:
1491          attributes:
1492            - bus-name
1493            - dev-name
1494            - index
1495            - sb-index
1496            - sb-pool-index
1497            - sb-pool-threshold-type
1498            - sb-pool-size
1499
1500    -
1501      name: sb-port-pool-get
1502      doc: Get shared buffer port-pool combinations and threshold.
1503      attribute-set: devlink
1504      dont-validate: [strict]
1505      do:
1506        pre: devlink-nl-pre-doit-port
1507        post: devlink-nl-post-doit
1508        request:
1509          value: 19
1510          attributes: &sb-port-pool-id-attrs
1511            - bus-name
1512            - dev-name
1513            - index
1514            - port-index
1515            - sb-index
1516            - sb-pool-index
1517        reply: &sb-port-pool-get-reply
1518          value: 21
1519          attributes: *sb-port-pool-id-attrs
1520      dump:
1521        request:
1522          attributes: *dev-id-attrs
1523        reply: *sb-port-pool-get-reply
1524
1525    -
1526      name: sb-port-pool-set
1527      doc: Set shared buffer port-pool combinations and threshold.
1528      attribute-set: devlink
1529      dont-validate: [strict]
1530      flags: [admin-perm]
1531      do:
1532        pre: devlink-nl-pre-doit-port
1533        post: devlink-nl-post-doit
1534        request:
1535          attributes:
1536            - bus-name
1537            - dev-name
1538            - index
1539            - port-index
1540            - sb-index
1541            - sb-pool-index
1542            - sb-threshold
1543
1544    -
1545      name: sb-tc-pool-bind-get
1546      doc: Get shared buffer port-TC to pool bindings and threshold.
1547      attribute-set: devlink
1548      dont-validate: [strict]
1549      do:
1550        pre: devlink-nl-pre-doit-port
1551        post: devlink-nl-post-doit
1552        request:
1553          value: 23
1554          attributes: &sb-tc-pool-bind-id-attrs
1555            - bus-name
1556            - dev-name
1557            - index
1558            - port-index
1559            - sb-index
1560            - sb-pool-type
1561            - sb-tc-index
1562        reply: &sb-tc-pool-bind-get-reply
1563          value: 25
1564          attributes: *sb-tc-pool-bind-id-attrs
1565      dump:
1566        request:
1567          attributes: *dev-id-attrs
1568        reply: *sb-tc-pool-bind-get-reply
1569
1570    -
1571      name: sb-tc-pool-bind-set
1572      doc: Set shared buffer port-TC to pool bindings and threshold.
1573      attribute-set: devlink
1574      dont-validate: [strict]
1575      flags: [admin-perm]
1576      do:
1577        pre: devlink-nl-pre-doit-port
1578        post: devlink-nl-post-doit
1579        request:
1580          attributes:
1581            - bus-name
1582            - dev-name
1583            - index
1584            - port-index
1585            - sb-index
1586            - sb-pool-index
1587            - sb-pool-type
1588            - sb-tc-index
1589            - sb-threshold
1590
1591    -
1592      name: sb-occ-snapshot
1593      doc: Take occupancy snapshot of shared buffer.
1594      attribute-set: devlink
1595      dont-validate: [strict]
1596      flags: [admin-perm]
1597      do:
1598        pre: devlink-nl-pre-doit
1599        post: devlink-nl-post-doit
1600        request:
1601          value: 27
1602          attributes:
1603            - bus-name
1604            - dev-name
1605            - index
1606            - sb-index
1607
1608    -
1609      name: sb-occ-max-clear
1610      doc: Clear occupancy watermarks of shared buffer.
1611      attribute-set: devlink
1612      dont-validate: [strict]
1613      flags: [admin-perm]
1614      do:
1615        pre: devlink-nl-pre-doit
1616        post: devlink-nl-post-doit
1617        request:
1618          attributes:
1619            - bus-name
1620            - dev-name
1621            - index
1622            - sb-index
1623
1624    -
1625      name: eswitch-get
1626      doc: Get eswitch attributes.
1627      attribute-set: devlink
1628      dont-validate: [strict]
1629      flags: [admin-perm]
1630      do:
1631        pre: devlink-nl-pre-doit
1632        post: devlink-nl-post-doit
1633        request:
1634          attributes: *dev-id-attrs
1635        reply:
1636          value: 29
1637          attributes: &eswitch-attrs
1638            - bus-name
1639            - dev-name
1640            - index
1641            - eswitch-mode
1642            - eswitch-inline-mode
1643            - eswitch-encap-mode
1644
1645    -
1646      name: eswitch-set
1647      doc: Set eswitch attributes.
1648      attribute-set: devlink
1649      dont-validate: [strict]
1650      flags: [admin-perm]
1651      do:
1652        pre: devlink-nl-pre-doit
1653        post: devlink-nl-post-doit
1654        request:
1655          attributes: *eswitch-attrs
1656
1657    -
1658      name: dpipe-table-get
1659      doc: Get dpipe table attributes.
1660      attribute-set: devlink
1661      dont-validate: [strict]
1662      do:
1663        pre: devlink-nl-pre-doit
1664        post: devlink-nl-post-doit
1665        request:
1666          attributes:
1667            - bus-name
1668            - dev-name
1669            - index
1670            - dpipe-table-name
1671        reply:
1672          value: 31
1673          attributes:
1674            - bus-name
1675            - dev-name
1676            - index
1677            - dpipe-tables
1678
1679    -
1680      name: dpipe-entries-get
1681      doc: Get dpipe entries attributes.
1682      attribute-set: devlink
1683      dont-validate: [strict]
1684      do:
1685        pre: devlink-nl-pre-doit
1686        post: devlink-nl-post-doit
1687        request:
1688          attributes:
1689            - bus-name
1690            - dev-name
1691            - index
1692            - dpipe-table-name
1693        reply:
1694          attributes:
1695            - bus-name
1696            - dev-name
1697            - index
1698            - dpipe-entries
1699
1700    -
1701      name: dpipe-headers-get
1702      doc: Get dpipe headers attributes.
1703      attribute-set: devlink
1704      dont-validate: [strict]
1705      do:
1706        pre: devlink-nl-pre-doit
1707        post: devlink-nl-post-doit
1708        request:
1709          attributes:
1710            - bus-name
1711            - dev-name
1712            - index
1713        reply:
1714          attributes:
1715            - bus-name
1716            - dev-name
1717            - index
1718            - dpipe-headers
1719
1720    -
1721      name: dpipe-table-counters-set
1722      doc: Set dpipe counter attributes.
1723      attribute-set: devlink
1724      dont-validate: [strict]
1725      flags: [admin-perm]
1726      do:
1727        pre: devlink-nl-pre-doit
1728        post: devlink-nl-post-doit
1729        request:
1730          attributes:
1731            - bus-name
1732            - dev-name
1733            - index
1734            - dpipe-table-name
1735            - dpipe-table-counters-enabled
1736
1737    -
1738      name: resource-set
1739      doc: Set resource attributes.
1740      attribute-set: devlink
1741      dont-validate: [strict]
1742      flags: [admin-perm]
1743      do:
1744        pre: devlink-nl-pre-doit
1745        post: devlink-nl-post-doit
1746        request:
1747          attributes:
1748            - bus-name
1749            - dev-name
1750            - index
1751            - resource-id
1752            - resource-size
1753
1754    -
1755      name: resource-dump
1756      doc: Get resource attributes.
1757      attribute-set: devlink
1758      dont-validate: [strict]
1759      do:
1760        pre: devlink-nl-pre-doit
1761        post: devlink-nl-post-doit
1762        request:
1763          attributes:
1764            - bus-name
1765            - dev-name
1766            - index
1767        reply:
1768          value: 36
1769          attributes:
1770            - bus-name
1771            - dev-name
1772            - index
1773            - resource-list
1774
1775    -
1776      name: reload
1777      doc: Reload devlink.
1778      attribute-set: devlink
1779      dont-validate: [strict]
1780      flags: [admin-perm]
1781      do:
1782        pre: devlink-nl-pre-doit-dev-lock
1783        post: devlink-nl-post-doit-dev-lock
1784        request:
1785          attributes:
1786            - bus-name
1787            - dev-name
1788            - index
1789            - reload-action
1790            - reload-limits
1791            - netns-pid
1792            - netns-fd
1793            - netns-id
1794        reply:
1795          attributes:
1796            - bus-name
1797            - dev-name
1798            - index
1799            - reload-actions-performed
1800
1801    -
1802      name: param-get
1803      doc: Get param instances.
1804      attribute-set: devlink
1805      dont-validate: [strict]
1806      do:
1807        pre: devlink-nl-pre-doit
1808        post: devlink-nl-post-doit
1809        request:
1810          attributes: &param-id-attrs
1811            - bus-name
1812            - dev-name
1813            - index
1814            - param-name
1815        reply: &param-get-reply
1816          attributes: *param-id-attrs
1817      dump:
1818        request:
1819          attributes: *dev-id-attrs
1820        reply: *param-get-reply
1821
1822    -
1823      name: param-set
1824      doc: Set param instances.
1825      attribute-set: devlink
1826      dont-validate: [strict]
1827      flags: [admin-perm]
1828      do:
1829        pre: devlink-nl-pre-doit
1830        post: devlink-nl-post-doit
1831        request:
1832          attributes:
1833            - bus-name
1834            - dev-name
1835            - index
1836            - param-name
1837            - param-type
1838            # param-value-data is missing here as the type is variable
1839            - param-value-cmode
1840            - param-reset-default
1841
1842    -
1843      name: region-get
1844      doc: Get region instances.
1845      attribute-set: devlink
1846      dont-validate: [strict]
1847      do:
1848        pre: devlink-nl-pre-doit-port-optional
1849        post: devlink-nl-post-doit
1850        request:
1851          value: 42
1852          attributes: &region-id-attrs
1853            - bus-name
1854            - dev-name
1855            - index
1856            - port-index
1857            - region-name
1858        reply: &region-get-reply
1859          value: 42
1860          attributes: *region-id-attrs
1861      dump:
1862        request:
1863          attributes: *dev-id-attrs
1864        reply: *region-get-reply
1865
1866    -
1867      name: region-new
1868      doc: Create region snapshot.
1869      attribute-set: devlink
1870      dont-validate: [strict]
1871      flags: [admin-perm]
1872      do:
1873        pre: devlink-nl-pre-doit-port-optional
1874        post: devlink-nl-post-doit
1875        request:
1876          value: 44
1877          attributes: &region-snapshot-id-attrs
1878            - bus-name
1879            - dev-name
1880            - index
1881            - port-index
1882            - region-name
1883            - region-snapshot-id
1884        reply:
1885          value: 44
1886          attributes: *region-snapshot-id-attrs
1887
1888    -
1889      name: region-del
1890      doc: Delete region snapshot.
1891      attribute-set: devlink
1892      dont-validate: [strict]
1893      flags: [admin-perm]
1894      do:
1895        pre: devlink-nl-pre-doit-port-optional
1896        post: devlink-nl-post-doit
1897        request:
1898          attributes: *region-snapshot-id-attrs
1899
1900    -
1901      name: region-read
1902      doc: Read region data.
1903      attribute-set: devlink
1904      dont-validate: [dump-strict]
1905      flags: [admin-perm]
1906      dump:
1907        request:
1908          attributes:
1909            - bus-name
1910            - dev-name
1911            - index
1912            - port-index
1913            - region-name
1914            - region-snapshot-id
1915            - region-direct
1916            - region-chunk-addr
1917            - region-chunk-len
1918        reply:
1919          value: 46
1920          attributes:
1921            - bus-name
1922            - dev-name
1923            - index
1924            - port-index
1925            - region-name
1926
1927    -
1928      name: port-param-get
1929      doc: Get port param instances.
1930      attribute-set: devlink
1931      dont-validate: [strict, dump-strict]
1932      do:
1933        pre: devlink-nl-pre-doit-port
1934        post: devlink-nl-post-doit
1935        request:
1936          attributes: *port-id-attrs
1937        reply:
1938          attributes: *port-id-attrs
1939      dump:
1940        reply:
1941          attributes: *port-id-attrs
1942
1943    -
1944      name: port-param-set
1945      doc: Set port param instances.
1946      attribute-set: devlink
1947      dont-validate: [strict]
1948      flags: [admin-perm]
1949      do:
1950        pre: devlink-nl-pre-doit-port
1951        post: devlink-nl-post-doit
1952        request:
1953          attributes: *port-id-attrs
1954
1955    -
1956      name: info-get
1957      doc: |
1958        Get device information, like driver name, hardware and firmware versions
1959        etc.
1960      attribute-set: devlink
1961      dont-validate: [strict, dump]
1962      do:
1963        pre: devlink-nl-pre-doit
1964        post: devlink-nl-post-doit
1965        request:
1966          value: 51
1967          attributes: *dev-id-attrs
1968        reply: &info-get-reply
1969          value: 51
1970          attributes:
1971            - bus-name
1972            - dev-name
1973            - index
1974            - info-driver-name
1975            - info-serial-number
1976            - info-version-fixed
1977            - info-version-running
1978            - info-version-stored
1979            - info-board-serial-number
1980      dump:
1981        reply: *info-get-reply
1982
1983    -
1984      name: health-reporter-get
1985      doc: Get health reporter instances.
1986      attribute-set: devlink
1987      dont-validate: [strict]
1988      do:
1989        pre: devlink-nl-pre-doit-port-optional
1990        post: devlink-nl-post-doit
1991        request:
1992          attributes: &health-reporter-id-attrs
1993            - bus-name
1994            - dev-name
1995            - index
1996            - port-index
1997            - health-reporter-name
1998        reply: &health-reporter-get-reply
1999          attributes: *health-reporter-id-attrs
2000      dump:
2001        request:
2002          attributes: *port-id-attrs
2003        reply: *health-reporter-get-reply
2004
2005    -
2006      name: health-reporter-set
2007      doc: Set health reporter instances.
2008      attribute-set: devlink
2009      dont-validate: [strict]
2010      flags: [admin-perm]
2011      do:
2012        pre: devlink-nl-pre-doit-port-optional
2013        post: devlink-nl-post-doit
2014        request:
2015          attributes:
2016            - bus-name
2017            - dev-name
2018            - index
2019            - port-index
2020            - health-reporter-name
2021            - health-reporter-graceful-period
2022            - health-reporter-auto-recover
2023            - health-reporter-auto-dump
2024            - health-reporter-burst-period
2025
2026    -
2027      name: health-reporter-recover
2028      doc: Recover health reporter instances.
2029      attribute-set: devlink
2030      dont-validate: [strict]
2031      flags: [admin-perm]
2032      do:
2033        pre: devlink-nl-pre-doit-port-optional
2034        post: devlink-nl-post-doit
2035        request:
2036          attributes: *health-reporter-id-attrs
2037
2038    -
2039      name: health-reporter-diagnose
2040      doc: Diagnose health reporter instances.
2041      attribute-set: devlink
2042      dont-validate: [strict]
2043      flags: [admin-perm]
2044      do:
2045        pre: devlink-nl-pre-doit-port-optional
2046        post: devlink-nl-post-doit
2047        request:
2048          attributes: *health-reporter-id-attrs
2049
2050    -
2051      name: health-reporter-dump-get
2052      doc: Dump health reporter instances.
2053      attribute-set: devlink
2054      dont-validate: [dump-strict]
2055      flags: [admin-perm]
2056      dump:
2057        request:
2058          attributes: *health-reporter-id-attrs
2059        reply:
2060          value: 56
2061          attributes:
2062            - fmsg
2063
2064    -
2065      name: health-reporter-dump-clear
2066      doc: Clear dump of health reporter instances.
2067      attribute-set: devlink
2068      dont-validate: [strict]
2069      flags: [admin-perm]
2070      do:
2071        pre: devlink-nl-pre-doit-port-optional
2072        post: devlink-nl-post-doit
2073        request:
2074          attributes: *health-reporter-id-attrs
2075
2076    -
2077      name: flash-update
2078      doc: Flash update devlink instances.
2079      attribute-set: devlink
2080      dont-validate: [strict]
2081      flags: [admin-perm]
2082      do:
2083        pre: devlink-nl-pre-doit
2084        post: devlink-nl-post-doit
2085        request:
2086          attributes:
2087            - bus-name
2088            - dev-name
2089            - index
2090            - flash-update-file-name
2091            - flash-update-component
2092            - flash-update-overwrite-mask
2093
2094    -
2095      name: trap-get
2096      doc: Get trap instances.
2097      attribute-set: devlink
2098      dont-validate: [strict]
2099      do:
2100        pre: devlink-nl-pre-doit
2101        post: devlink-nl-post-doit
2102        request:
2103          value: 61
2104          attributes: &trap-id-attrs
2105            - bus-name
2106            - dev-name
2107            - index
2108            - trap-name
2109        reply: &trap-get-reply
2110          value: 63
2111          attributes: *trap-id-attrs
2112      dump:
2113        request:
2114          attributes: *dev-id-attrs
2115        reply: *trap-get-reply
2116
2117    -
2118      name: trap-set
2119      doc: Set trap instances.
2120      attribute-set: devlink
2121      dont-validate: [strict]
2122      flags: [admin-perm]
2123      do:
2124        pre: devlink-nl-pre-doit
2125        post: devlink-nl-post-doit
2126        request:
2127          attributes:
2128            - bus-name
2129            - dev-name
2130            - index
2131            - trap-name
2132            - trap-action
2133
2134    -
2135      name: trap-group-get
2136      doc: Get trap group instances.
2137      attribute-set: devlink
2138      dont-validate: [strict]
2139      do:
2140        pre: devlink-nl-pre-doit
2141        post: devlink-nl-post-doit
2142        request:
2143          value: 65
2144          attributes: &trap-group-id-attrs
2145            - bus-name
2146            - dev-name
2147            - index
2148            - trap-group-name
2149        reply: &trap-group-get-reply
2150          value: 67
2151          attributes: *trap-group-id-attrs
2152      dump:
2153        request:
2154          attributes: *dev-id-attrs
2155        reply: *trap-group-get-reply
2156
2157    -
2158      name: trap-group-set
2159      doc: Set trap group instances.
2160      attribute-set: devlink
2161      dont-validate: [strict]
2162      flags: [admin-perm]
2163      do:
2164        pre: devlink-nl-pre-doit
2165        post: devlink-nl-post-doit
2166        request:
2167          attributes:
2168            - bus-name
2169            - dev-name
2170            - index
2171            - trap-group-name
2172            - trap-action
2173            - trap-policer-id
2174
2175    -
2176      name: trap-policer-get
2177      doc: Get trap policer instances.
2178      attribute-set: devlink
2179      dont-validate: [strict]
2180      do:
2181        pre: devlink-nl-pre-doit
2182        post: devlink-nl-post-doit
2183        request:
2184          value: 69
2185          attributes: &trap-policer-id-attrs
2186            - bus-name
2187            - dev-name
2188            - index
2189            - trap-policer-id
2190        reply: &trap-policer-get-reply
2191          value: 71
2192          attributes: *trap-policer-id-attrs
2193      dump:
2194        request:
2195          attributes: *dev-id-attrs
2196        reply: *trap-policer-get-reply
2197
2198    -
2199      name: trap-policer-set
2200      doc: Get trap policer instances.
2201      attribute-set: devlink
2202      dont-validate: [strict]
2203      flags: [admin-perm]
2204      do:
2205        pre: devlink-nl-pre-doit
2206        post: devlink-nl-post-doit
2207        request:
2208          attributes:
2209            - bus-name
2210            - dev-name
2211            - index
2212            - trap-policer-id
2213            - trap-policer-rate
2214            - trap-policer-burst
2215
2216    -
2217      name: health-reporter-test
2218      doc: Test health reporter instances.
2219      attribute-set: devlink
2220      dont-validate: [strict]
2221      flags: [admin-perm]
2222      do:
2223        pre: devlink-nl-pre-doit-port-optional
2224        post: devlink-nl-post-doit
2225        request:
2226          value: 73
2227          attributes: *health-reporter-id-attrs
2228
2229    -
2230      name: rate-get
2231      doc: Get rate instances.
2232      attribute-set: devlink
2233      dont-validate: [strict]
2234      do:
2235        pre: devlink-nl-pre-doit
2236        post: devlink-nl-post-doit
2237        request:
2238          value: 74
2239          attributes: &rate-id-attrs
2240            - bus-name
2241            - dev-name
2242            - index
2243            - port-index
2244            - rate-node-name
2245        reply: &rate-get-reply
2246          value: 76
2247          attributes: *rate-id-attrs
2248      dump:
2249        request:
2250          attributes: *dev-id-attrs
2251        reply: *rate-get-reply
2252
2253    -
2254      name: rate-set
2255      doc: Set rate instances.
2256      attribute-set: devlink
2257      dont-validate: [strict]
2258      flags: [admin-perm]
2259      do:
2260        pre: devlink-nl-pre-doit
2261        post: devlink-nl-post-doit
2262        request:
2263          attributes:
2264            - bus-name
2265            - dev-name
2266            - index
2267            - rate-node-name
2268            - rate-tx-share
2269            - rate-tx-max
2270            - rate-tx-priority
2271            - rate-tx-weight
2272            - rate-parent-node-name
2273            - rate-tc-bws
2274
2275    -
2276      name: rate-new
2277      doc: Create rate instances.
2278      attribute-set: devlink
2279      dont-validate: [strict]
2280      flags: [admin-perm]
2281      do:
2282        pre: devlink-nl-pre-doit
2283        post: devlink-nl-post-doit
2284        request:
2285          attributes:
2286            - bus-name
2287            - dev-name
2288            - index
2289            - rate-node-name
2290            - rate-tx-share
2291            - rate-tx-max
2292            - rate-tx-priority
2293            - rate-tx-weight
2294            - rate-parent-node-name
2295            - rate-tc-bws
2296
2297    -
2298      name: rate-del
2299      doc: Delete rate instances.
2300      attribute-set: devlink
2301      dont-validate: [strict]
2302      flags: [admin-perm]
2303      do:
2304        pre: devlink-nl-pre-doit
2305        post: devlink-nl-post-doit
2306        request:
2307          attributes:
2308            - bus-name
2309            - dev-name
2310            - index
2311            - rate-node-name
2312
2313    -
2314      name: linecard-get
2315      doc: Get line card instances.
2316      attribute-set: devlink
2317      dont-validate: [strict]
2318      do:
2319        pre: devlink-nl-pre-doit
2320        post: devlink-nl-post-doit
2321        request:
2322          value: 78
2323          attributes: &linecard-id-attrs
2324            - bus-name
2325            - dev-name
2326            - index
2327            - linecard-index
2328        reply: &linecard-get-reply
2329          value: 80
2330          attributes: *linecard-id-attrs
2331      dump:
2332        request:
2333          attributes: *dev-id-attrs
2334        reply: *linecard-get-reply
2335
2336    -
2337      name: linecard-set
2338      doc: Set line card instances.
2339      attribute-set: devlink
2340      dont-validate: [strict]
2341      flags: [admin-perm]
2342      do:
2343        pre: devlink-nl-pre-doit
2344        post: devlink-nl-post-doit
2345        request:
2346          attributes:
2347            - bus-name
2348            - dev-name
2349            - index
2350            - linecard-index
2351            - linecard-type
2352
2353    -
2354      name: selftests-get
2355      doc: Get device selftest instances.
2356      attribute-set: devlink
2357      dont-validate: [strict, dump]
2358      do:
2359        pre: devlink-nl-pre-doit
2360        post: devlink-nl-post-doit
2361        request:
2362          value: 82
2363          attributes: *dev-id-attrs
2364        reply: &selftests-get-reply
2365          value: 82
2366          attributes: *dev-id-attrs
2367      dump:
2368        reply: *selftests-get-reply
2369
2370    -
2371      name: selftests-run
2372      doc: Run device selftest instances.
2373      attribute-set: devlink
2374      dont-validate: [strict]
2375      flags: [admin-perm]
2376      do:
2377        pre: devlink-nl-pre-doit
2378        post: devlink-nl-post-doit
2379        request:
2380          attributes:
2381            - bus-name
2382            - dev-name
2383            - index
2384            - selftests
2385
2386    -
2387      name: notify-filter-set
2388      doc: Set notification messages socket filter.
2389      attribute-set: devlink
2390      do:
2391        request:
2392          attributes:
2393            - bus-name
2394            - dev-name
2395            - index
2396            - port-index
2397