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 19attribute-sets: 20 - 21 name: devlink 22 name-prefix: devlink-attr- 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 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 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 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 127 - 128 name: reload-failed 129 type: u8 130 131 # TODO: fill in the attributes in between 132 133 - 134 name: trap-policer-id 135 type: u32 136 value: 142 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 174 multi-attr: true 175 nested-attributes: dl-reload-act-info 176 - 177 name: reload-action-stats 178 type: nest 179 multi-attr: true 180 nested-attributes: dl-reload-act-stats 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 196 - 197 name: dl-dev-stats 198 subset-of: devlink 199 attributes: 200 - 201 name: reload-stats 202 type: nest 203 - 204 name: remote-reload-stats 205 type: nest 206 - 207 name: dl-reload-stats 208 subset-of: devlink 209 attributes: 210 - 211 name: reload-action-info 212 type: nest 213 - 214 name: dl-reload-act-info 215 subset-of: devlink 216 attributes: 217 - 218 name: reload-action 219 type: u8 220 - 221 name: reload-action-stats 222 type: nest 223 - 224 name: dl-reload-act-stats 225 subset-of: devlink 226 attributes: 227 - 228 name: reload-stats-entry 229 type: nest 230 - 231 name: dl-reload-stats-entry 232 subset-of: devlink 233 attributes: 234 - 235 name: reload-stats-limit 236 type: u8 237 - 238 name: reload-stats-value 239 type: u32 240 - 241 name: dl-info-version 242 subset-of: devlink 243 attributes: 244 - 245 name: info-version-name 246 type: string 247 - 248 name: info-version-value 249 type: string 250 251operations: 252 enum-model: directional 253 list: 254 - 255 name: get 256 doc: Get devlink instances. 257 attribute-set: devlink 258 dont-validate: 259 - strict 260 - dump 261 262 do: 263 pre: devlink-nl-pre-doit 264 post: devlink-nl-post-doit 265 request: 266 value: 1 267 attributes: &dev-id-attrs 268 - bus-name 269 - dev-name 270 reply: &get-reply 271 value: 3 272 attributes: 273 - bus-name 274 - dev-name 275 - reload-failed 276 - reload-action 277 - dev-stats 278 dump: 279 reply: *get-reply 280 281 - 282 name: port-get 283 doc: Get devlink port instances. 284 attribute-set: devlink 285 dont-validate: 286 - strict 287 288 do: 289 pre: devlink-nl-pre-doit-port 290 post: devlink-nl-post-doit 291 request: 292 value: 5 293 attributes: &port-id-attrs 294 - bus-name 295 - dev-name 296 - port-index 297 reply: 298 value: 7 299 attributes: *port-id-attrs 300 dump: 301 request: 302 attributes: *dev-id-attrs 303 reply: 304 value: 3 # due to a bug, port dump returns DEVLINK_CMD_NEW 305 attributes: *port-id-attrs 306 307 # TODO: fill in the operations in between 308 309 - 310 name: sb-get 311 doc: Get shared buffer instances. 312 attribute-set: devlink 313 dont-validate: 314 - strict 315 316 do: 317 pre: devlink-nl-pre-doit 318 post: devlink-nl-post-doit 319 request: 320 value: 11 321 attributes: &sb-id-attrs 322 - bus-name 323 - dev-name 324 - sb-index 325 reply: &sb-get-reply 326 value: 13 327 attributes: *sb-id-attrs 328 dump: 329 request: 330 attributes: *dev-id-attrs 331 reply: *sb-get-reply 332 333 # TODO: fill in the operations in between 334 335 - 336 name: sb-pool-get 337 doc: Get shared buffer pool instances. 338 attribute-set: devlink 339 dont-validate: 340 - strict 341 342 do: 343 pre: devlink-nl-pre-doit 344 post: devlink-nl-post-doit 345 request: 346 value: 15 347 attributes: &sb-pool-id-attrs 348 - bus-name 349 - dev-name 350 - sb-index 351 - sb-pool-index 352 reply: &sb-pool-get-reply 353 value: 17 354 attributes: *sb-pool-id-attrs 355 dump: 356 request: 357 attributes: *dev-id-attrs 358 reply: *sb-pool-get-reply 359 360 # TODO: fill in the operations in between 361 362 - 363 name: sb-port-pool-get 364 doc: Get shared buffer port-pool combinations and threshold. 365 attribute-set: devlink 366 dont-validate: 367 - strict 368 369 do: 370 pre: devlink-nl-pre-doit-port 371 post: devlink-nl-post-doit 372 request: 373 value: 19 374 attributes: &sb-port-pool-id-attrs 375 - bus-name 376 - dev-name 377 - port-index 378 - sb-index 379 - sb-pool-index 380 reply: &sb-port-pool-get-reply 381 value: 21 382 attributes: *sb-port-pool-id-attrs 383 dump: 384 request: 385 attributes: *dev-id-attrs 386 reply: *sb-port-pool-get-reply 387 388 # TODO: fill in the operations in between 389 390 - 391 name: sb-tc-pool-bind-get 392 doc: Get shared buffer port-TC to pool bindings and threshold. 393 attribute-set: devlink 394 dont-validate: 395 - strict 396 397 do: 398 pre: devlink-nl-pre-doit-port 399 post: devlink-nl-post-doit 400 request: 401 value: 23 402 attributes: &sb-tc-pool-bind-id-attrs 403 - bus-name 404 - dev-name 405 - port-index 406 - sb-index 407 - sb-pool-type 408 - sb-tc-index 409 reply: &sb-tc-pool-bind-get-reply 410 value: 25 411 attributes: *sb-tc-pool-bind-id-attrs 412 dump: 413 request: 414 attributes: *dev-id-attrs 415 reply: *sb-tc-pool-bind-get-reply 416 417 # TODO: fill in the operations in between 418 419 - 420 name: param-get 421 doc: Get param instances. 422 attribute-set: devlink 423 dont-validate: 424 - strict 425 426 do: 427 pre: devlink-nl-pre-doit 428 post: devlink-nl-post-doit 429 request: 430 value: 38 431 attributes: ¶m-id-attrs 432 - bus-name 433 - dev-name 434 - param-name 435 reply: ¶m-get-reply 436 value: 38 437 attributes: *param-id-attrs 438 dump: 439 request: 440 attributes: *dev-id-attrs 441 reply: *param-get-reply 442 443 # TODO: fill in the operations in between 444 445 - 446 name: region-get 447 doc: Get region instances. 448 attribute-set: devlink 449 dont-validate: 450 - strict 451 452 do: 453 pre: devlink-nl-pre-doit-port-optional 454 post: devlink-nl-post-doit 455 request: 456 value: 42 457 attributes: ®ion-id-attrs 458 - bus-name 459 - dev-name 460 - port-index 461 - region-name 462 reply: ®ion-get-reply 463 value: 42 464 attributes: *region-id-attrs 465 dump: 466 request: 467 attributes: *dev-id-attrs 468 reply: *region-get-reply 469 470 # TODO: fill in the operations in between 471 472 - 473 name: info-get 474 doc: Get device information, like driver name, hardware and firmware versions etc. 475 attribute-set: devlink 476 dont-validate: 477 - strict 478 - dump 479 480 do: 481 pre: devlink-nl-pre-doit 482 post: devlink-nl-post-doit 483 request: 484 value: 51 485 attributes: *dev-id-attrs 486 reply: &info-get-reply 487 value: 51 488 attributes: 489 - bus-name 490 - dev-name 491 - info-driver-name 492 - info-serial-number 493 - info-version-fixed 494 - info-version-running 495 - info-version-stored 496 dump: 497 reply: *info-get-reply 498 499 - 500 name: health-reporter-get 501 doc: Get health reporter instances. 502 attribute-set: devlink 503 dont-validate: 504 - strict 505 506 do: 507 pre: devlink-nl-pre-doit-port-optional 508 post: devlink-nl-post-doit 509 request: 510 attributes: &health-reporter-id-attrs 511 - bus-name 512 - dev-name 513 - port-index 514 - health-reporter-name 515 reply: &health-reporter-get-reply 516 attributes: *health-reporter-id-attrs 517 dump: 518 request: 519 attributes: *port-id-attrs 520 reply: *health-reporter-get-reply 521 522 # TODO: fill in the operations in between 523 524 - 525 name: trap-get 526 doc: Get trap instances. 527 attribute-set: devlink 528 dont-validate: 529 - strict 530 531 do: 532 pre: devlink-nl-pre-doit 533 post: devlink-nl-post-doit 534 request: 535 value: 61 536 attributes: &trap-id-attrs 537 - bus-name 538 - dev-name 539 - trap-name 540 reply: &trap-get-reply 541 value: 63 542 attributes: *trap-id-attrs 543 dump: 544 request: 545 attributes: *dev-id-attrs 546 reply: *trap-get-reply 547 548 # TODO: fill in the operations in between 549 550 - 551 name: trap-group-get 552 doc: Get trap group instances. 553 attribute-set: devlink 554 dont-validate: 555 - strict 556 557 do: 558 pre: devlink-nl-pre-doit 559 post: devlink-nl-post-doit 560 request: 561 value: 65 562 attributes: &trap-group-id-attrs 563 - bus-name 564 - dev-name 565 - trap-group-name 566 reply: &trap-group-get-reply 567 value: 67 568 attributes: *trap-group-id-attrs 569 dump: 570 request: 571 attributes: *dev-id-attrs 572 reply: *trap-group-get-reply 573 574 # TODO: fill in the operations in between 575 576 - 577 name: trap-policer-get 578 doc: Get trap policer instances. 579 attribute-set: devlink 580 dont-validate: 581 - strict 582 583 do: 584 pre: devlink-nl-pre-doit 585 post: devlink-nl-post-doit 586 request: 587 value: 69 588 attributes: &trap-policer-id-attrs 589 - bus-name 590 - dev-name 591 - trap-policer-id 592 reply: &trap-policer-get-reply 593 value: 71 594 attributes: *trap-policer-id-attrs 595 dump: 596 request: 597 attributes: *dev-id-attrs 598 reply: *trap-policer-get-reply 599 600 # TODO: fill in the operations in between 601 602 - 603 name: rate-get 604 doc: Get rate instances. 605 attribute-set: devlink 606 dont-validate: 607 - strict 608 609 do: 610 pre: devlink-nl-pre-doit 611 post: devlink-nl-post-doit 612 request: 613 value: 74 614 attributes: &rate-id-attrs 615 - bus-name 616 - dev-name 617 - port-index 618 - rate-node-name 619 reply: &rate-get-reply 620 value: 76 621 attributes: *rate-id-attrs 622 dump: 623 request: 624 attributes: *dev-id-attrs 625 reply: *rate-get-reply 626 627 # TODO: fill in the operations in between 628 629 - 630 name: linecard-get 631 doc: Get line card instances. 632 attribute-set: devlink 633 dont-validate: 634 - strict 635 636 do: 637 pre: devlink-nl-pre-doit 638 post: devlink-nl-post-doit 639 request: 640 value: 78 641 attributes: &linecard-id-attrs 642 - bus-name 643 - dev-name 644 - linecard-index 645 reply: &linecard-get-reply 646 value: 80 647 attributes: *linecard-id-attrs 648 dump: 649 request: 650 attributes: *dev-id-attrs 651 reply: *linecard-get-reply 652 653 # TODO: fill in the operations in between 654 655 - 656 name: selftests-get 657 doc: Get device selftest instances. 658 attribute-set: devlink 659 dont-validate: 660 - strict 661 - dump 662 663 do: 664 pre: devlink-nl-pre-doit 665 post: devlink-nl-post-doit 666 request: 667 value: 82 668 attributes: *dev-id-attrs 669 reply: &selftests-get-reply 670 value: 82 671 attributes: *dev-id-attrs 672 dump: 673 reply: *selftests-get-reply 674