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