netlink: specs: remove redundant type keys from attributes in subsets
[linux-2.6-block.git] / Documentation / netlink / specs / devlink.yaml
CommitLineData
74bf6477
JK
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
7199c862
JP
9definitions:
10 -
11 type: enum
12 name: sb-pool-type
13 entries:
14 -
15 name: ingress
16 -
17 name: egress
18
74bf6477
JK
19attribute-sets:
20 -
21 name: devlink
8947e503 22 name-prefix: devlink-attr-
74bf6477
JK
23 attributes:
24 -
25 name: bus-name
26 type: string
27 value: 1
28 -
29 name: dev-name
30 type: string
31 -
32 name: port-index
33 type: u32
34
35 # TODO: fill in the attributes in between
36
7199c862
JP
37 -
38 name: sb-index
39 type: u32
40 value: 11
41
42 # TODO: fill in the attributes in between
43
44 -
45 name: sb-pool-index
46 type: u16
47 value: 17
48
49 -
50 name: sb-pool-type
51 type: u8
52 enum: sb-pool-type
53
54 # TODO: fill in the attributes in between
55
56 -
57 name: sb-tc-index
58 type: u16
59 value: 22
60
61 # TODO: fill in the attributes in between
62
63 -
64 name: param-name
65 type: string
66 value: 81
67
68 # TODO: fill in the attributes in between
69
70 -
71 name: region-name
72 type: string
73 value: 88
74
75 # TODO: fill in the attributes in between
76
74bf6477
JK
77 -
78 name: info-driver-name
79 type: string
80 value: 98
81 -
82 name: info-serial-number
83 type: string
84 -
85 name: info-version-fixed
86 type: nest
87 multi-attr: true
88 nested-attributes: dl-info-version
89 -
90 name: info-version-running
91 type: nest
92 multi-attr: true
93 nested-attributes: dl-info-version
94 -
95 name: info-version-stored
96 type: nest
97 multi-attr: true
98 nested-attributes: dl-info-version
99 -
100 name: info-version-name
101 type: string
102 -
103 name: info-version-value
104 type: string
105
106 # TODO: fill in the attributes in between
107
7199c862
JP
108 -
109 name: health-reporter-name
110 type: string
111 value: 115
112
113 # TODO: fill in the attributes in between
114
115 -
116 name: trap-name
117 type: string
118 value: 130
119
120 # TODO: fill in the attributes in between
121
122 -
123 name: trap-group-name
124 type: string
125 value: 135
126
74bf6477
JK
127 -
128 name: reload-failed
129 type: u8
7199c862
JP
130
131 # TODO: fill in the attributes in between
132
133 -
134 name: trap-policer-id
135 type: u32
136 value: 142
74bf6477
JK
137
138 # TODO: fill in the attributes in between
139
140 -
141 name: reload-action
142 type: u8
143 value: 153
144
145 # TODO: fill in the attributes in between
146
147 -
148 name: dev-stats
149 type: nest
150 value: 156
151 nested-attributes: dl-dev-stats
152 -
153 name: reload-stats
154 type: nest
155 nested-attributes: dl-reload-stats
156 -
157 name: reload-stats-entry
158 type: nest
159 multi-attr: true
160 nested-attributes: dl-reload-stats-entry
161 -
162 name: reload-stats-limit
163 type: u8
164 -
165 name: reload-stats-value
166 type: u32
167 -
168 name: remote-reload-stats
169 type: nest
170 nested-attributes: dl-reload-stats
171 -
172 name: reload-action-info
173 type: nest
8947e503 174 multi-attr: true
74bf6477
JK
175 nested-attributes: dl-reload-act-info
176 -
177 name: reload-action-stats
178 type: nest
8947e503 179 multi-attr: true
74bf6477 180 nested-attributes: dl-reload-act-stats
7199c862
JP
181
182 # TODO: fill in the attributes in between
183
184 -
185 name: rate-node-name
186 type: string
187 value: 168
188
189 # TODO: fill in the attributes in between
190
191 -
192 name: linecard-index
193 type: u32
194 value: 171
195
74bf6477
JK
196 -
197 name: dl-dev-stats
198 subset-of: devlink
199 attributes:
200 -
201 name: reload-stats
74bf6477
JK
202 -
203 name: remote-reload-stats
74bf6477
JK
204 -
205 name: dl-reload-stats
206 subset-of: devlink
207 attributes:
208 -
209 name: reload-action-info
74bf6477
JK
210 -
211 name: dl-reload-act-info
212 subset-of: devlink
213 attributes:
214 -
215 name: reload-action
74bf6477
JK
216 -
217 name: reload-action-stats
74bf6477
JK
218 -
219 name: dl-reload-act-stats
220 subset-of: devlink
221 attributes:
222 -
223 name: reload-stats-entry
74bf6477
JK
224 -
225 name: dl-reload-stats-entry
226 subset-of: devlink
227 attributes:
228 -
229 name: reload-stats-limit
74bf6477
JK
230 -
231 name: reload-stats-value
74bf6477
JK
232 -
233 name: dl-info-version
234 subset-of: devlink
235 attributes:
236 -
237 name: info-version-name
74bf6477
JK
238 -
239 name: info-version-value
74bf6477
JK
240
241operations:
242 enum-model: directional
243 list:
244 -
245 name: get
246 doc: Get devlink instances.
247 attribute-set: devlink
6b7c486c
JP
248 dont-validate:
249 - strict
250 - dump
74bf6477
JK
251
252 do:
6b7c486c
JP
253 pre: devlink-nl-pre-doit
254 post: devlink-nl-post-doit
74bf6477
JK
255 request:
256 value: 1
257 attributes: &dev-id-attrs
258 - bus-name
259 - dev-name
260 reply: &get-reply
261 value: 3
262 attributes:
263 - bus-name
264 - dev-name
265 - reload-failed
266 - reload-action
267 - dev-stats
268 dump:
269 reply: *get-reply
270
7199c862
JP
271 -
272 name: port-get
273 doc: Get devlink port instances.
274 attribute-set: devlink
275 dont-validate:
276 - strict
7199c862
JP
277
278 do:
279 pre: devlink-nl-pre-doit-port
280 post: devlink-nl-post-doit
281 request:
282 value: 5
283 attributes: &port-id-attrs
284 - bus-name
285 - dev-name
286 - port-index
287 reply:
288 value: 7
289 attributes: *port-id-attrs
290 dump:
34493336
JP
291 request:
292 attributes: *dev-id-attrs
7199c862
JP
293 reply:
294 value: 3 # due to a bug, port dump returns DEVLINK_CMD_NEW
295 attributes: *port-id-attrs
296
297 # TODO: fill in the operations in between
298
299 -
300 name: sb-get
301 doc: Get shared buffer instances.
302 attribute-set: devlink
303 dont-validate:
304 - strict
7199c862
JP
305
306 do:
307 pre: devlink-nl-pre-doit
308 post: devlink-nl-post-doit
309 request:
310 value: 11
311 attributes: &sb-id-attrs
312 - bus-name
313 - dev-name
314 - sb-index
315 reply: &sb-get-reply
316 value: 11
317 attributes: *sb-id-attrs
318 dump:
34493336
JP
319 request:
320 attributes: *dev-id-attrs
7199c862
JP
321 reply: *sb-get-reply
322
323 # TODO: fill in the operations in between
324
325 -
326 name: sb-pool-get
327 doc: Get shared buffer pool instances.
328 attribute-set: devlink
329 dont-validate:
330 - strict
7199c862
JP
331
332 do:
333 pre: devlink-nl-pre-doit
334 post: devlink-nl-post-doit
335 request:
336 value: 15
337 attributes: &sb-pool-id-attrs
338 - bus-name
339 - dev-name
340 - sb-index
341 - sb-pool-index
342 reply: &sb-pool-get-reply
343 value: 15
344 attributes: *sb-pool-id-attrs
345 dump:
34493336
JP
346 request:
347 attributes: *dev-id-attrs
7199c862
JP
348 reply: *sb-pool-get-reply
349
350 # TODO: fill in the operations in between
351
352 -
353 name: sb-port-pool-get
354 doc: Get shared buffer port-pool combinations and threshold.
355 attribute-set: devlink
356 dont-validate:
357 - strict
7199c862
JP
358
359 do:
360 pre: devlink-nl-pre-doit-port
361 post: devlink-nl-post-doit
362 request:
363 value: 19
364 attributes: &sb-port-pool-id-attrs
365 - bus-name
366 - dev-name
367 - port-index
368 - sb-index
369 - sb-pool-index
370 reply: &sb-port-pool-get-reply
371 value: 19
372 attributes: *sb-port-pool-id-attrs
373 dump:
34493336
JP
374 request:
375 attributes: *dev-id-attrs
7199c862
JP
376 reply: *sb-port-pool-get-reply
377
378 # TODO: fill in the operations in between
379
380 -
381 name: sb-tc-pool-bind-get
382 doc: Get shared buffer port-TC to pool bindings and threshold.
383 attribute-set: devlink
384 dont-validate:
385 - strict
7199c862
JP
386
387 do:
388 pre: devlink-nl-pre-doit-port
389 post: devlink-nl-post-doit
390 request:
391 value: 23
392 attributes: &sb-tc-pool-bind-id-attrs
393 - bus-name
394 - dev-name
395 - port-index
396 - sb-index
397 - sb-pool-type
398 - sb-tc-index
399 reply: &sb-tc-pool-bind-get-reply
400 value: 23
401 attributes: *sb-tc-pool-bind-id-attrs
402 dump:
34493336
JP
403 request:
404 attributes: *dev-id-attrs
7199c862
JP
405 reply: *sb-tc-pool-bind-get-reply
406
407 # TODO: fill in the operations in between
408
409 -
410 name: param-get
411 doc: Get param instances.
412 attribute-set: devlink
413 dont-validate:
414 - strict
7199c862
JP
415
416 do:
417 pre: devlink-nl-pre-doit
418 post: devlink-nl-post-doit
419 request:
420 value: 38
421 attributes: &param-id-attrs
422 - bus-name
423 - dev-name
424 - param-name
425 reply: &param-get-reply
426 value: 38
427 attributes: *param-id-attrs
428 dump:
34493336
JP
429 request:
430 attributes: *dev-id-attrs
7199c862
JP
431 reply: *param-get-reply
432
433 # TODO: fill in the operations in between
434
435 -
436 name: region-get
437 doc: Get region instances.
438 attribute-set: devlink
439 dont-validate:
440 - strict
7199c862
JP
441
442 do:
443 pre: devlink-nl-pre-doit-port-optional
444 post: devlink-nl-post-doit
445 request:
446 value: 42
447 attributes: &region-id-attrs
448 - bus-name
449 - dev-name
450 - port-index
451 - region-name
452 reply: &region-get-reply
453 value: 42
454 attributes: *region-id-attrs
455 dump:
34493336
JP
456 request:
457 attributes: *dev-id-attrs
7199c862
JP
458 reply: *region-get-reply
459
74bf6477
JK
460 # TODO: fill in the operations in between
461
462 -
463 name: info-get
464 doc: Get device information, like driver name, hardware and firmware versions etc.
465 attribute-set: devlink
6b7c486c
JP
466 dont-validate:
467 - strict
468 - dump
74bf6477
JK
469
470 do:
6b7c486c
JP
471 pre: devlink-nl-pre-doit
472 post: devlink-nl-post-doit
74bf6477
JK
473 request:
474 value: 51
475 attributes: *dev-id-attrs
759f6610 476 reply: &info-get-reply
74bf6477
JK
477 value: 51
478 attributes:
479 - bus-name
480 - dev-name
8947e503
JK
481 - info-driver-name
482 - info-serial-number
483 - info-version-fixed
484 - info-version-running
485 - info-version-stored
759f6610
JP
486 dump:
487 reply: *info-get-reply
7199c862
JP
488
489 -
490 name: health-reporter-get
491 doc: Get health reporter instances.
492 attribute-set: devlink
493 dont-validate:
494 - strict
7199c862
JP
495
496 do:
497 pre: devlink-nl-pre-doit-port-optional
498 post: devlink-nl-post-doit
499 request:
500 attributes: &health-reporter-id-attrs
501 - bus-name
502 - dev-name
503 - port-index
504 - health-reporter-name
505 reply: &health-reporter-get-reply
506 attributes: *health-reporter-id-attrs
507 dump:
34493336 508 request:
0149bca1 509 attributes: *port-id-attrs
7199c862
JP
510 reply: *health-reporter-get-reply
511
512 # TODO: fill in the operations in between
513
514 -
515 name: trap-get
516 doc: Get trap instances.
517 attribute-set: devlink
518 dont-validate:
519 - strict
7199c862
JP
520
521 do:
522 pre: devlink-nl-pre-doit
523 post: devlink-nl-post-doit
524 request:
525 value: 61
526 attributes: &trap-id-attrs
527 - bus-name
528 - dev-name
529 - trap-name
530 reply: &trap-get-reply
531 value: 61
532 attributes: *trap-id-attrs
533 dump:
34493336
JP
534 request:
535 attributes: *dev-id-attrs
7199c862
JP
536 reply: *trap-get-reply
537
538 # TODO: fill in the operations in between
539
540 -
541 name: trap-group-get
542 doc: Get trap group instances.
543 attribute-set: devlink
544 dont-validate:
545 - strict
7199c862
JP
546
547 do:
548 pre: devlink-nl-pre-doit
549 post: devlink-nl-post-doit
550 request:
551 value: 65
552 attributes: &trap-group-id-attrs
553 - bus-name
554 - dev-name
555 - trap-group-name
556 reply: &trap-group-get-reply
557 value: 65
558 attributes: *trap-group-id-attrs
559 dump:
34493336
JP
560 request:
561 attributes: *dev-id-attrs
7199c862
JP
562 reply: *trap-group-get-reply
563
564 # TODO: fill in the operations in between
565
566 -
567 name: trap-policer-get
568 doc: Get trap policer instances.
569 attribute-set: devlink
570 dont-validate:
571 - strict
7199c862
JP
572
573 do:
574 pre: devlink-nl-pre-doit
575 post: devlink-nl-post-doit
576 request:
577 value: 69
578 attributes: &trap-policer-id-attrs
579 - bus-name
580 - dev-name
581 - trap-policer-id
582 reply: &trap-policer-get-reply
583 value: 69
584 attributes: *trap-policer-id-attrs
585 dump:
34493336
JP
586 request:
587 attributes: *dev-id-attrs
7199c862
JP
588 reply: *trap-policer-get-reply
589
590 # TODO: fill in the operations in between
591
592 -
593 name: rate-get
594 doc: Get rate instances.
595 attribute-set: devlink
596 dont-validate:
597 - strict
7199c862
JP
598
599 do:
600 pre: devlink-nl-pre-doit
601 post: devlink-nl-post-doit
602 request:
603 value: 74
604 attributes: &rate-id-attrs
605 - bus-name
606 - dev-name
607 - port-index
608 - rate-node-name
609 reply: &rate-get-reply
610 value: 74
611 attributes: *rate-id-attrs
612 dump:
34493336
JP
613 request:
614 attributes: *dev-id-attrs
7199c862
JP
615 reply: *rate-get-reply
616
617 # TODO: fill in the operations in between
618
619 -
620 name: linecard-get
621 doc: Get line card instances.
622 attribute-set: devlink
623 dont-validate:
624 - strict
7199c862
JP
625
626 do:
627 pre: devlink-nl-pre-doit
628 post: devlink-nl-post-doit
629 request:
630 value: 78
631 attributes: &linecard-id-attrs
632 - bus-name
633 - dev-name
634 - linecard-index
635 reply: &linecard-get-reply
636 value: 78
637 attributes: *linecard-id-attrs
638 dump:
34493336
JP
639 request:
640 attributes: *dev-id-attrs
7199c862
JP
641 reply: *linecard-get-reply
642
643 # TODO: fill in the operations in between
644
645 -
646 name: selftests-get
647 doc: Get device selftest instances.
648 attribute-set: devlink
649 dont-validate:
650 - strict
651 - dump
652
653 do:
654 pre: devlink-nl-pre-doit
655 post: devlink-nl-post-doit
656 request:
657 value: 82
658 attributes: *dev-id-attrs
659 reply: &selftests-get-reply
660 value: 82
661 attributes: *dev-id-attrs
662 dump:
663 reply: *selftests-get-reply