1[ 2 { 3 "id": "a933", 4 "name": "Add MPLS dec_ttl action with pipe opcode", 5 "category": [ 6 "actions", 7 "mpls" 8 ], 9 "setup": [ 10 [ 11 "$TC actions flush action mpls", 12 0, 13 1, 14 255 15 ] 16 ], 17 "cmdUnderTest": "$TC actions add action mpls dec_ttl pipe index 8", 18 "expExitCode": "0", 19 "verifyCmd": "$TC actions list action mpls", 20 "matchPattern": "action order [0-9]+: mpls.*dec_ttl.*pipe.*index 8 ref", 21 "matchCount": "1", 22 "teardown": [ 23 "$TC actions flush action mpls" 24 ] 25 }, 26 { 27 "id": "08d1", 28 "name": "Add mpls dec_ttl action with pass opcode", 29 "category": [ 30 "actions", 31 "mpls" 32 ], 33 "setup": [ 34 [ 35 "$TC actions flush action mpls", 36 0, 37 1, 38 255 39 ] 40 ], 41 "cmdUnderTest": "$TC actions add action mpls dec_ttl pass index 8", 42 "expExitCode": "0", 43 "verifyCmd": "$TC actions get action mpls index 8", 44 "matchPattern": "action order [0-9]+: mpls.*dec_ttl.*pass.*index 8 ref", 45 "matchCount": "1", 46 "teardown": [ 47 "$TC actions flush action mpls" 48 ] 49 }, 50 { 51 "id": "d786", 52 "name": "Add mpls dec_ttl action with drop opcode", 53 "category": [ 54 "actions", 55 "mpls" 56 ], 57 "setup": [ 58 [ 59 "$TC actions flush action mpls", 60 0, 61 1, 62 255 63 ] 64 ], 65 "cmdUnderTest": "$TC actions add action mpls dec_ttl drop index 8", 66 "expExitCode": "0", 67 "verifyCmd": "$TC actions get action mpls index 8", 68 "matchPattern": "action order [0-9]+: mpls.*dec_ttl.*drop.*index 8 ref", 69 "matchCount": "1", 70 "teardown": [ 71 "$TC actions flush action mpls" 72 ] 73 }, 74 { 75 "id": "f334", 76 "name": "Add mpls dec_ttl action with reclassify opcode", 77 "category": [ 78 "actions", 79 "mpls" 80 ], 81 "setup": [ 82 [ 83 "$TC actions flush action mpls", 84 0, 85 1, 86 255 87 ] 88 ], 89 "cmdUnderTest": "$TC actions add action mpls dec_ttl reclassify index 8", 90 "expExitCode": "0", 91 "verifyCmd": "$TC actions get action mpls index 8", 92 "matchPattern": "action order [0-9]+: mpls.*dec_ttl.*reclassify.*index 8 ref", 93 "matchCount": "1", 94 "teardown": [ 95 "$TC actions flush action mpls" 96 ] 97 }, 98 { 99 "id": "29bd", 100 "name": "Add mpls dec_ttl action with continue opcode", 101 "category": [ 102 "actions", 103 "mpls" 104 ], 105 "setup": [ 106 [ 107 "$TC actions flush action mpls", 108 0, 109 1, 110 255 111 ] 112 ], 113 "cmdUnderTest": "$TC actions add action mpls dec_ttl continue index 8", 114 "expExitCode": "0", 115 "verifyCmd": "$TC actions get action mpls index 8", 116 "matchPattern": "action order [0-9]+: mpls.*dec_ttl.*continue.*index 8 ref", 117 "matchCount": "1", 118 "teardown": [ 119 "$TC actions flush action mpls" 120 ] 121 }, 122 { 123 "id": "48df", 124 "name": "Add mpls dec_ttl action with jump opcode", 125 "category": [ 126 "actions", 127 "mpls" 128 ], 129 "setup": [ 130 [ 131 "$TC actions flush action mpls", 132 0, 133 1, 134 255 135 ] 136 ], 137 "cmdUnderTest": "$TC actions add action mpls dec_ttl jump 10 index 8", 138 "expExitCode": "0", 139 "verifyCmd": "$TC actions list action mpls", 140 "matchPattern": "action order [0-9]+: mpls.*jump 10.*index 8 ref", 141 "matchCount": "1", 142 "teardown": [ 143 "$TC actions flush action mpls" 144 ] 145 }, 146 { 147 "id": "62eb", 148 "name": "Add mpls dec_ttl action with trap opcode", 149 "category": [ 150 "actions", 151 "mpls" 152 ], 153 "setup": [ 154 [ 155 "$TC actions flush action mpls", 156 0, 157 1, 158 255 159 ] 160 ], 161 "cmdUnderTest": "$TC actions add action mpls dec_ttl trap index 8", 162 "expExitCode": "0", 163 "verifyCmd": "$TC actions list action mpls", 164 "matchPattern": "action order [0-9]+: mpls.*dec_ttl trap.*index 8 ref", 165 "matchCount": "1", 166 "teardown": [ 167 "$TC actions flush action mpls" 168 ] 169 }, 170 { 171 "id": "09d2", 172 "name": "Add mpls dec_ttl action with opcode and cookie", 173 "category": [ 174 "actions", 175 "mpls" 176 ], 177 "setup": [ 178 [ 179 "$TC actions flush action mpls", 180 0, 181 1, 182 255 183 ] 184 ], 185 "cmdUnderTest": "$TC actions add action mpls dec_ttl pipe index 8 cookie aabbccddeeff", 186 "expExitCode": "0", 187 "verifyCmd": "$TC actions list action mpls", 188 "matchPattern": "action order [0-9]+: mpls.*dec_ttl pipe.*index 8 ref.*cookie aabbccddeeff", 189 "matchCount": "1", 190 "teardown": [ 191 "$TC actions flush action mpls" 192 ] 193 }, 194 { 195 "id": "c170", 196 "name": "Add mpls dec_ttl action with opcode and cookie of max length", 197 "category": [ 198 "actions", 199 "mpls" 200 ], 201 "setup": [ 202 [ 203 "$TC actions flush action mpls", 204 0, 205 1, 206 255 207 ] 208 ], 209 "cmdUnderTest": "$TC actions add action mpls dec_ttl continue index 8 cookie aa11bb22cc33dd44ee55ff66aa11b1b2", 210 "expExitCode": "0", 211 "verifyCmd": "$TC actions list action mpls", 212 "matchPattern": "action order [0-9]+: mpls.*dec_ttl continue.*index 8 ref.*cookie aa11bb22cc33dd44ee55ff66aa11b1b2", 213 "matchCount": "1", 214 "teardown": [ 215 "$TC actions flush action mpls" 216 ] 217 }, 218 { 219 "id": "9118", 220 "name": "Add mpls dec_ttl action with invalid opcode", 221 "category": [ 222 "actions", 223 "mpls" 224 ], 225 "setup": [ 226 [ 227 "$TC actions flush action mpls", 228 0, 229 1, 230 255 231 ] 232 ], 233 "cmdUnderTest": "$TC actions add action mpls dec_ttl foo index 8", 234 "expExitCode": "255", 235 "verifyCmd": "$TC actions list action mpls", 236 "matchPattern": "action order [0-9]+: mpls.*dec_ttl.*foo.*index 8 ref", 237 "matchCount": "0", 238 "teardown": [] 239 }, 240 { 241 "id": "6ce1", 242 "name": "Add mpls dec_ttl action with label (invalid)", 243 "category": [ 244 "actions", 245 "mpls" 246 ], 247 "setup": [ 248 [ 249 "$TC actions flush action mpls", 250 0, 251 1, 252 255 253 ] 254 ], 255 "cmdUnderTest": "$TC actions add action mpls dec_ttl label 20", 256 "expExitCode": "255", 257 "verifyCmd": "$TC actions list action mpls", 258 "matchPattern": "action order [0-9]+: mpls.*dec_ttl.*label.*20.*pipe", 259 "matchCount": "0", 260 "teardown": [] 261 }, 262 { 263 "id": "352f", 264 "name": "Add mpls dec_ttl action with tc (invalid)", 265 "category": [ 266 "actions", 267 "mpls" 268 ], 269 "setup": [ 270 [ 271 "$TC actions flush action mpls", 272 0, 273 1, 274 255 275 ] 276 ], 277 "cmdUnderTest": "$TC actions add action mpls dec_ttl tc 3", 278 "expExitCode": "255", 279 "verifyCmd": "$TC actions list action mpls", 280 "matchPattern": "action order [0-9]+: mpls.*dec_ttl.*tc.*3.*pipe", 281 "matchCount": "0", 282 "teardown": [] 283 }, 284 { 285 "id": "fa1c", 286 "name": "Add mpls dec_ttl action with ttl (invalid)", 287 "category": [ 288 "actions", 289 "mpls" 290 ], 291 "setup": [ 292 [ 293 "$TC actions flush action mpls", 294 0, 295 1, 296 255 297 ] 298 ], 299 "cmdUnderTest": "$TC actions add action mpls dec_ttl ttl 20", 300 "expExitCode": "255", 301 "verifyCmd": "$TC actions list action mpls", 302 "matchPattern": "action order [0-9]+: mpls.*dec_ttl.*ttl.*20.*pipe", 303 "matchCount": "0", 304 "teardown": [] 305 }, 306 { 307 "id": "6b79", 308 "name": "Add mpls dec_ttl action with bos (invalid)", 309 "category": [ 310 "actions", 311 "mpls" 312 ], 313 "setup": [ 314 [ 315 "$TC actions flush action mpls", 316 0, 317 1, 318 255 319 ] 320 ], 321 "cmdUnderTest": "$TC actions add action mpls dec_ttl bos 1", 322 "expExitCode": "255", 323 "verifyCmd": "$TC actions list action mpls", 324 "matchPattern": "action order [0-9]+: mpls.*dec_ttl.*bos.*1.*pipe", 325 "matchCount": "0", 326 "teardown": [] 327 }, 328 { 329 "id": "d4c4", 330 "name": "Add mpls pop action with ip proto", 331 "category": [ 332 "actions", 333 "mpls" 334 ], 335 "setup": [ 336 [ 337 "$TC actions flush action mpls", 338 0, 339 1, 340 255 341 ] 342 ], 343 "cmdUnderTest": "$TC actions add action mpls pop protocol ipv4", 344 "expExitCode": "0", 345 "verifyCmd": "$TC actions list action mpls", 346 "matchPattern": "action order [0-9]+: mpls.*pop.*protocol.*ip.*pipe", 347 "matchCount": "1", 348 "teardown": [ 349 "$TC actions flush action mpls" 350 ] 351 }, 352 { 353 "id": "91fb", 354 "name": "Add mpls pop action with ip proto and cookie", 355 "category": [ 356 "actions", 357 "mpls" 358 ], 359 "setup": [ 360 [ 361 "$TC actions flush action mpls", 362 0, 363 1, 364 255 365 ] 366 ], 367 "cmdUnderTest": "$TC actions add action mpls pop protocol ipv4 cookie 12345678", 368 "expExitCode": "0", 369 "verifyCmd": "$TC actions list action mpls", 370 "matchPattern": "action order [0-9]+: mpls.*pop.*protocol.*ip.*pipe.*ref 1.*cookie 12345678", 371 "matchCount": "1", 372 "teardown": [ 373 "$TC actions flush action mpls" 374 ] 375 }, 376 { 377 "id": "92fe", 378 "name": "Add mpls pop action with mpls proto", 379 "category": [ 380 "actions", 381 "mpls" 382 ], 383 "setup": [ 384 [ 385 "$TC actions flush action mpls", 386 0, 387 1, 388 255 389 ] 390 ], 391 "cmdUnderTest": "$TC actions add action mpls pop protocol mpls_mc", 392 "expExitCode": "0", 393 "verifyCmd": "$TC actions list action mpls", 394 "matchPattern": "action order [0-9]+: mpls.*pop.*protocol.*mpls_mc.*pipe", 395 "matchCount": "1", 396 "teardown": [ 397 "$TC actions flush action mpls" 398 ] 399 }, 400 { 401 "id": "7e23", 402 "name": "Add mpls pop action with no protocol (invalid)", 403 "category": [ 404 "actions", 405 "mpls" 406 ], 407 "setup": [ 408 [ 409 "$TC actions flush action mpls", 410 0, 411 1, 412 255 413 ] 414 ], 415 "cmdUnderTest": "$TC actions add action mpls pop", 416 "expExitCode": "255", 417 "verifyCmd": "$TC actions list action mpls", 418 "matchPattern": "action order [0-9]+: mpls.*pop.*pipe", 419 "matchCount": "0", 420 "teardown": [] 421 }, 422 { 423 "id": "6182", 424 "name": "Add mpls pop action with label (invalid)", 425 "category": [ 426 "actions", 427 "mpls" 428 ], 429 "setup": [ 430 [ 431 "$TC actions flush action mpls", 432 0, 433 1, 434 255 435 ] 436 ], 437 "cmdUnderTest": "$TC actions add action mpls pop protocol ipv4 label 20", 438 "expExitCode": "255", 439 "verifyCmd": "$TC actions list action mpls", 440 "matchPattern": "action order [0-9]+: mpls.*pop.*label.*20.*pipe", 441 "matchCount": "0", 442 "teardown": [] 443 }, 444 { 445 "id": "6475", 446 "name": "Add mpls pop action with tc (invalid)", 447 "category": [ 448 "actions", 449 "mpls" 450 ], 451 "setup": [ 452 [ 453 "$TC actions flush action mpls", 454 0, 455 1, 456 255 457 ] 458 ], 459 "cmdUnderTest": "$TC actions add action mpls pop protocol ipv4 tc 3", 460 "expExitCode": "255", 461 "verifyCmd": "$TC actions list action mpls", 462 "matchPattern": "action order [0-9]+: mpls.*pop.*tc.*3.*pipe", 463 "matchCount": "0", 464 "teardown": [] 465 }, 466 { 467 "id": "067b", 468 "name": "Add mpls pop action with ttl (invalid)", 469 "category": [ 470 "actions", 471 "mpls" 472 ], 473 "setup": [ 474 [ 475 "$TC actions flush action mpls", 476 0, 477 1, 478 255 479 ] 480 ], 481 "cmdUnderTest": "$TC actions add action mpls pop protocol ipv4 ttl 20", 482 "expExitCode": "255", 483 "verifyCmd": "$TC actions list action mpls", 484 "matchPattern": "action order [0-9]+: mpls.*pop.*ttl.*20.*pipe", 485 "matchCount": "0", 486 "teardown": [] 487 }, 488 { 489 "id": "7316", 490 "name": "Add mpls pop action with bos (invalid)", 491 "category": [ 492 "actions", 493 "mpls" 494 ], 495 "setup": [ 496 [ 497 "$TC actions flush action mpls", 498 0, 499 1, 500 255 501 ] 502 ], 503 "cmdUnderTest": "$TC actions add action mpls pop protocol ipv4 bos 1", 504 "expExitCode": "255", 505 "verifyCmd": "$TC actions list action mpls", 506 "matchPattern": "action order [0-9]+: mpls.*pop.*bos.*1.*pipe", 507 "matchCount": "0", 508 "teardown": [] 509 }, 510 { 511 "id": "38cc", 512 "name": "Add mpls push action with label", 513 "category": [ 514 "actions", 515 "mpls" 516 ], 517 "setup": [ 518 [ 519 "$TC actions flush action mpls", 520 0, 521 1, 522 255 523 ] 524 ], 525 "cmdUnderTest": "$TC actions add action mpls push label 20", 526 "expExitCode": "0", 527 "verifyCmd": "$TC actions list action mpls", 528 "matchPattern": "action order [0-9]+: mpls.*push.*protocol.*mpls_uc.*label.*20.*ttl.*[0-9]+.*pipe", 529 "matchCount": "1", 530 "teardown": [ 531 "$TC actions flush action mpls" 532 ] 533 }, 534 { 535 "id": "c281", 536 "name": "Add mpls push action with mpls_mc protocol", 537 "category": [ 538 "actions", 539 "mpls" 540 ], 541 "setup": [ 542 [ 543 "$TC actions flush action mpls", 544 0, 545 1, 546 255 547 ] 548 ], 549 "cmdUnderTest": "$TC actions add action mpls push protocol mpls_mc label 20", 550 "expExitCode": "0", 551 "verifyCmd": "$TC actions list action mpls", 552 "matchPattern": "action order [0-9]+: mpls.*push.*protocol.*mpls_mc.*label.*20.*ttl.*[0-9]+.*pipe", 553 "matchCount": "1", 554 "teardown": [ 555 "$TC actions flush action mpls" 556 ] 557 }, 558 { 559 "id": "5db4", 560 "name": "Add mpls push action with label, tc and ttl", 561 "category": [ 562 "actions", 563 "mpls" 564 ], 565 "setup": [ 566 [ 567 "$TC actions flush action mpls", 568 0, 569 1, 570 255 571 ] 572 ], 573 "cmdUnderTest": "$TC actions add action mpls push label 20 tc 3 ttl 128", 574 "expExitCode": "0", 575 "verifyCmd": "$TC actions list action mpls", 576 "matchPattern": "action order [0-9]+: mpls.*push.*protocol.*mpls_uc.*label.*20.*tc.*3.*ttl.*128.*pipe", 577 "matchCount": "1", 578 "teardown": [ 579 "$TC actions flush action mpls" 580 ] 581 }, 582 { 583 "id": "7c34", 584 "name": "Add mpls push action with label, tc ttl and cookie of max length", 585 "category": [ 586 "actions", 587 "mpls" 588 ], 589 "setup": [ 590 [ 591 "$TC actions flush action mpls", 592 0, 593 1, 594 255 595 ] 596 ], 597 "cmdUnderTest": "$TC actions add action mpls push label 20 tc 3 ttl 128 cookie aa11bb22cc33dd44ee55ff66aa11b1b2", 598 "expExitCode": "0", 599 "verifyCmd": "$TC actions list action mpls", 600 "matchPattern": "action order [0-9]+: mpls.*push.*protocol.*mpls_uc.*label.*20.*tc.*3.*ttl.*128.*pipe.*ref 1.*cookie aa11bb22cc33dd44ee55ff66aa11b1b2", 601 "matchCount": "1", 602 "teardown": [ 603 "$TC actions flush action mpls" 604 ] 605 }, 606 { 607 "id": "16eb", 608 "name": "Add mpls push action with label and bos", 609 "category": [ 610 "actions", 611 "mpls" 612 ], 613 "setup": [ 614 [ 615 "$TC actions flush action mpls", 616 0, 617 1, 618 255 619 ] 620 ], 621 "cmdUnderTest": "$TC actions add action mpls push label 20 bos 1", 622 "expExitCode": "0", 623 "verifyCmd": "$TC actions list action mpls", 624 "matchPattern": "action order [0-9]+: mpls.*push.*protocol.*mpls_uc.*label.*20.*bos.*1.*pipe", 625 "matchCount": "1", 626 "teardown": [ 627 "$TC actions flush action mpls" 628 ] 629 }, 630 { 631 "id": "d69d", 632 "name": "Add mpls push action with no label (invalid)", 633 "category": [ 634 "actions", 635 "mpls" 636 ], 637 "setup": [ 638 [ 639 "$TC actions flush action mpls", 640 0, 641 1, 642 255 643 ] 644 ], 645 "cmdUnderTest": "$TC actions add action mpls push", 646 "expExitCode": "255", 647 "verifyCmd": "$TC actions list action mpls", 648 "matchPattern": "action order [0-9]+: mpls.*push.*protocol.*mpls_uc.*pipe", 649 "matchCount": "0", 650 "teardown": [] 651 }, 652 { 653 "id": "e8e4", 654 "name": "Add mpls push action with ipv4 protocol (invalid)", 655 "category": [ 656 "actions", 657 "mpls" 658 ], 659 "setup": [ 660 [ 661 "$TC actions flush action mpls", 662 0, 663 1, 664 255 665 ] 666 ], 667 "cmdUnderTest": "$TC actions add action mpls push protocol ipv4 label 20", 668 "expExitCode": "255", 669 "verifyCmd": "$TC actions list action mpls", 670 "matchPattern": "action order [0-9]+: mpls.*push.*protocol.*mpls_uc.*label.*20.*ttl.*[0-9]+.*pipe", 671 "matchCount": "0", 672 "teardown": [] 673 }, 674 { 675 "id": "ecd0", 676 "name": "Add mpls push action with out of range label (invalid)", 677 "category": [ 678 "actions", 679 "mpls" 680 ], 681 "setup": [ 682 [ 683 "$TC actions flush action mpls", 684 0, 685 1, 686 255 687 ] 688 ], 689 "cmdUnderTest": "$TC actions add action mpls push label 1048576", 690 "expExitCode": "255", 691 "verifyCmd": "$TC actions list action mpls", 692 "matchPattern": "action order [0-9]+: mpls.*push.*protocol.*mpls_uc.*label.*1048576.*pipe", 693 "matchCount": "0", 694 "teardown": [] 695 }, 696 { 697 "id": "d303", 698 "name": "Add mpls push action with out of range tc (invalid)", 699 "category": [ 700 "actions", 701 "mpls" 702 ], 703 "setup": [ 704 [ 705 "$TC actions flush action mpls", 706 0, 707 1, 708 255 709 ] 710 ], 711 "cmdUnderTest": "$TC actions add action mpls push label 20 tc 8", 712 "expExitCode": "255", 713 "verifyCmd": "$TC actions list action mpls", 714 "matchPattern": "action order [0-9]+: mpls.*push.*protocol.*mpls_uc.*label.*20.*tc.*8.*pipe", 715 "matchCount": "0", 716 "teardown": [] 717 }, 718 { 719 "id": "fd6e", 720 "name": "Add mpls push action with ttl of 0 (invalid)", 721 "category": [ 722 "actions", 723 "mpls" 724 ], 725 "setup": [ 726 [ 727 "$TC actions flush action mpls", 728 0, 729 1, 730 255 731 ] 732 ], 733 "cmdUnderTest": "$TC actions add action mpls push label 20 ttl 0", 734 "expExitCode": "255", 735 "verifyCmd": "$TC actions list action mpls", 736 "matchPattern": "action order [0-9]+: mpls.*push.*protocol.*mpls_uc.*label.*20.*ttl.*0.*pipe", 737 "matchCount": "0", 738 "teardown": [] 739 }, 740 { 741 "id": "19e9", 742 "name": "Add mpls mod action with mpls label", 743 "category": [ 744 "actions", 745 "mpls" 746 ], 747 "setup": [ 748 [ 749 "$TC actions flush action mpls", 750 0, 751 1, 752 255 753 ] 754 ], 755 "cmdUnderTest": "$TC actions add action mpls mod label 20", 756 "expExitCode": "0", 757 "verifyCmd": "$TC actions list action mpls", 758 "matchPattern": "action order [0-9]+: mpls.*modify.*label.*20.*pipe", 759 "matchCount": "1", 760 "teardown": [ 761 "$TC actions flush action mpls" 762 ] 763 }, 764 { 765 "id": "1fde", 766 "name": "Add mpls mod action with max mpls label", 767 "category": [ 768 "actions", 769 "mpls" 770 ], 771 "setup": [ 772 [ 773 "$TC actions flush action mpls", 774 0, 775 1, 776 255 777 ] 778 ], 779 "cmdUnderTest": "$TC actions add action mpls mod label 0xfffff", 780 "expExitCode": "0", 781 "verifyCmd": "$TC actions list action mpls", 782 "matchPattern": "action order [0-9]+: mpls.*modify.*label.*1048575.*pipe", 783 "matchCount": "1", 784 "teardown": [ 785 "$TC actions flush action mpls" 786 ] 787 }, 788 { 789 "id": "0c50", 790 "name": "Add mpls mod action with mpls label exceeding max (invalid)", 791 "category": [ 792 "actions", 793 "mpls" 794 ], 795 "setup": [ 796 [ 797 "$TC actions flush action mpls", 798 0, 799 1, 800 255 801 ] 802 ], 803 "cmdUnderTest": "$TC actions add action mpls mod label 0x100000", 804 "expExitCode": "255", 805 "verifyCmd": "$TC actions list action mpls", 806 "matchPattern": "action order [0-9]+: mpls.*modify.*label.*1048576.*pipe", 807 "matchCount": "0", 808 "teardown": [] 809 }, 810 { 811 "id": "10b6", 812 "name": "Add mpls mod action with mpls label of MPLS_LABEL_IMPLNULL (invalid)", 813 "category": [ 814 "actions", 815 "mpls" 816 ], 817 "setup": [ 818 [ 819 "$TC actions flush action mpls", 820 0, 821 1, 822 255 823 ] 824 ], 825 "cmdUnderTest": "$TC actions add action mpls mod label 3", 826 "expExitCode": "255", 827 "verifyCmd": "$TC actions list action mpls", 828 "matchPattern": "action order [0-9]+: mpls.*modify.*label.*3.*pipe", 829 "matchCount": "0", 830 "teardown": [] 831 }, 832 { 833 "id": "57c9", 834 "name": "Add mpls mod action with mpls min tc", 835 "category": [ 836 "actions", 837 "mpls" 838 ], 839 "setup": [ 840 [ 841 "$TC actions flush action mpls", 842 0, 843 1, 844 255 845 ] 846 ], 847 "cmdUnderTest": "$TC actions add action mpls mod tc 0", 848 "expExitCode": "0", 849 "verifyCmd": "$TC actions list action mpls", 850 "matchPattern": "action order [0-9]+: mpls.*modify.*tc.*0.*pipe", 851 "matchCount": "1", 852 "teardown": [ 853 "$TC actions flush action mpls" 854 ] 855 }, 856 { 857 "id": "6872", 858 "name": "Add mpls mod action with mpls max tc", 859 "category": [ 860 "actions", 861 "mpls" 862 ], 863 "setup": [ 864 [ 865 "$TC actions flush action mpls", 866 0, 867 1, 868 255 869 ] 870 ], 871 "cmdUnderTest": "$TC actions add action mpls mod tc 7", 872 "expExitCode": "0", 873 "verifyCmd": "$TC actions list action mpls", 874 "matchPattern": "action order [0-9]+: mpls.*modify.*tc.*7.*pipe", 875 "matchCount": "1", 876 "teardown": [ 877 "$TC actions flush action mpls" 878 ] 879 }, 880 { 881 "id": "a70a", 882 "name": "Add mpls mod action with mpls tc exceeding max (invalid)", 883 "category": [ 884 "actions", 885 "mpls" 886 ], 887 "setup": [ 888 [ 889 "$TC actions flush action mpls", 890 0, 891 1, 892 255 893 ] 894 ], 895 "cmdUnderTest": "$TC actions add action mpls mod tc 8", 896 "expExitCode": "255", 897 "verifyCmd": "$TC actions list action mpls", 898 "matchPattern": "action order [0-9]+: mpls.*modify.*tc.*4.*pipe", 899 "matchCount": "0", 900 "teardown": [] 901 }, 902 { 903 "id": "6ed5", 904 "name": "Add mpls mod action with mpls ttl", 905 "category": [ 906 "actions", 907 "mpls" 908 ], 909 "setup": [ 910 [ 911 "$TC actions flush action mpls", 912 0, 913 1, 914 255 915 ] 916 ], 917 "cmdUnderTest": "$TC actions add action mpls mod ttl 128", 918 "expExitCode": "0", 919 "verifyCmd": "$TC actions list action mpls", 920 "matchPattern": "action order [0-9]+: mpls.*modify.*ttl.*128.*pipe", 921 "matchCount": "1", 922 "teardown": [ 923 "$TC actions flush action mpls" 924 ] 925 }, 926 { 927 "id": "77c1", 928 "name": "Add mpls mod action with mpls ttl and cookie", 929 "category": [ 930 "actions", 931 "mpls" 932 ], 933 "setup": [ 934 [ 935 "$TC actions flush action mpls", 936 0, 937 1, 938 255 939 ] 940 ], 941 "cmdUnderTest": "$TC actions add action mpls mod ttl 128 cookie aa11bb22cc33dd44ee55ff66aa11b1b2", 942 "expExitCode": "0", 943 "verifyCmd": "$TC actions list action mpls", 944 "matchPattern": "action order [0-9]+: mpls.*modify.*ttl.*128.*pipe.*ref 1.*cookie aa11bb22cc33dd44ee55ff66aa11b1b2", 945 "matchCount": "1", 946 "teardown": [ 947 "$TC actions flush action mpls" 948 ] 949 }, 950 { 951 "id": "b80f", 952 "name": "Add mpls mod action with mpls max ttl", 953 "category": [ 954 "actions", 955 "mpls" 956 ], 957 "setup": [ 958 [ 959 "$TC actions flush action mpls", 960 0, 961 1, 962 255 963 ] 964 ], 965 "cmdUnderTest": "$TC actions add action mpls mod ttl 255", 966 "expExitCode": "0", 967 "verifyCmd": "$TC actions list action mpls", 968 "matchPattern": "action order [0-9]+: mpls.*modify.*ttl.*255.*pipe", 969 "matchCount": "1", 970 "teardown": [ 971 "$TC actions flush action mpls" 972 ] 973 }, 974 { 975 "id": "8864", 976 "name": "Add mpls mod action with mpls min ttl", 977 "category": [ 978 "actions", 979 "mpls" 980 ], 981 "setup": [ 982 [ 983 "$TC actions flush action mpls", 984 0, 985 1, 986 255 987 ] 988 ], 989 "cmdUnderTest": "$TC actions add action mpls mod ttl 1", 990 "expExitCode": "0", 991 "verifyCmd": "$TC actions list action mpls", 992 "matchPattern": "action order [0-9]+: mpls.*modify.*ttl.*1.*pipe", 993 "matchCount": "1", 994 "teardown": [ 995 "$TC actions flush action mpls" 996 ] 997 }, 998 { 999 "id": "6c06", 1000 "name": "Add mpls mod action with mpls ttl of 0 (invalid)", 1001 "category": [ 1002 "actions", 1003 "mpls" 1004 ], 1005 "setup": [ 1006 [ 1007 "$TC actions flush action mpls", 1008 0, 1009 1, 1010 255 1011 ] 1012 ], 1013 "cmdUnderTest": "$TC actions add action mpls mod ttl 0", 1014 "expExitCode": "255", 1015 "verifyCmd": "$TC actions list action mpls", 1016 "matchPattern": "action order [0-9]+: mpls.*modify.*ttl.*0.*pipe", 1017 "matchCount": "0", 1018 "teardown": [] 1019 }, 1020 { 1021 "id": "b5d8", 1022 "name": "Add mpls mod action with mpls ttl exceeding max (invalid)", 1023 "category": [ 1024 "actions", 1025 "mpls" 1026 ], 1027 "setup": [ 1028 [ 1029 "$TC actions flush action mpls", 1030 0, 1031 1, 1032 255 1033 ] 1034 ], 1035 "cmdUnderTest": "$TC actions add action mpls mod ttl 256", 1036 "expExitCode": "255", 1037 "verifyCmd": "$TC actions list action mpls", 1038 "matchPattern": "action order [0-9]+: mpls.*modify.*ttl.*256.*pipe", 1039 "matchCount": "0", 1040 "teardown": [] 1041 }, 1042 { 1043 "id": "451f", 1044 "name": "Add mpls mod action with mpls max bos", 1045 "category": [ 1046 "actions", 1047 "mpls" 1048 ], 1049 "setup": [ 1050 [ 1051 "$TC actions flush action mpls", 1052 0, 1053 1, 1054 255 1055 ] 1056 ], 1057 "cmdUnderTest": "$TC actions add action mpls mod bos 1", 1058 "expExitCode": "0", 1059 "verifyCmd": "$TC actions list action mpls", 1060 "matchPattern": "action order [0-9]+: mpls.*modify.*bos.*1.*pipe", 1061 "matchCount": "1", 1062 "teardown": [ 1063 "$TC actions flush action mpls" 1064 ] 1065 }, 1066 { 1067 "id": "a1ed", 1068 "name": "Add mpls mod action with mpls min bos", 1069 "category": [ 1070 "actions", 1071 "mpls" 1072 ], 1073 "setup": [ 1074 [ 1075 "$TC actions flush action mpls", 1076 0, 1077 1, 1078 255 1079 ] 1080 ], 1081 "cmdUnderTest": "$TC actions add action mpls mod bos 0", 1082 "expExitCode": "0", 1083 "verifyCmd": "$TC actions list action mpls", 1084 "matchPattern": "action order [0-9]+: mpls.*modify.*bos.*0.*pipe", 1085 "matchCount": "1", 1086 "teardown": [ 1087 "$TC actions flush action mpls" 1088 ] 1089 }, 1090 { 1091 "id": "3dcf", 1092 "name": "Add mpls mod action with mpls bos exceeding max (invalid)", 1093 "category": [ 1094 "actions", 1095 "mpls" 1096 ], 1097 "setup": [ 1098 [ 1099 "$TC actions flush action mpls", 1100 0, 1101 1, 1102 255 1103 ] 1104 ], 1105 "cmdUnderTest": "$TC actions add action mpls mod bos 2", 1106 "expExitCode": "255", 1107 "verifyCmd": "$TC actions list action mpls", 1108 "matchPattern": "action order [0-9]+: mpls.*modify.*bos.*2.*pipe", 1109 "matchCount": "0", 1110 "teardown": [] 1111 }, 1112 { 1113 "id": "db7c", 1114 "name": "Add mpls mod action with protocol (invalid)", 1115 "category": [ 1116 "actions", 1117 "mpls" 1118 ], 1119 "setup": [ 1120 [ 1121 "$TC actions flush action mpls", 1122 0, 1123 1, 1124 255 1125 ] 1126 ], 1127 "cmdUnderTest": "$TC actions add action mpls mod protocol ipv4", 1128 "expExitCode": "255", 1129 "verifyCmd": "$TC actions list action mpls", 1130 "matchPattern": "action order [0-9]+: mpls.*modify.*protocol.*ip.*pipe", 1131 "matchCount": "0", 1132 "teardown": [] 1133 }, 1134 { 1135 "id": "b070", 1136 "name": "Replace existing mpls push action with new ID", 1137 "category": [ 1138 "actions", 1139 "mpls" 1140 ], 1141 "setup": [ 1142 [ 1143 "$TC actions flush action mpls", 1144 0, 1145 1, 1146 255 1147 ], 1148 "$TC actions add action mpls push label 20 pipe index 12" 1149 ], 1150 "cmdUnderTest": "$TC actions replace action mpls push label 30 pipe index 12", 1151 "expExitCode": "0", 1152 "verifyCmd": "$TC actions get action mpls index 12", 1153 "matchPattern": "action order [0-9]+: mpls.*push.*protocol.*mpls_uc.*label.*30.*pipe.*index 12 ref", 1154 "matchCount": "1", 1155 "teardown": [ 1156 "$TC actions flush action mpls" 1157 ] 1158 }, 1159 { 1160 "id": "95a9", 1161 "name": "Replace existing mpls push action with new label, tc, ttl and cookie", 1162 "category": [ 1163 "actions", 1164 "mpls" 1165 ], 1166 "setup": [ 1167 [ 1168 "$TC actions flush action mpls", 1169 0, 1170 1, 1171 255 1172 ], 1173 "$TC actions add action mpls push label 20 tc 3 ttl 128 index 1 cookie aa11bb22cc33dd44ee55ff66aa11b1b2" 1174 ], 1175 "cmdUnderTest": "$TC actions replace action mpls push label 30 tc 2 ttl 125 pipe index 1 cookie aa11bb22cc33", 1176 "expExitCode": "0", 1177 "verifyCmd": "$TC actions get action mpls index 1", 1178 "matchPattern": "action order [0-9]+: mpls.*push.*protocol.*mpls_uc.*label.*30 tc 2 ttl 125 pipe.*index 1.*cookie aa11bb22cc33", 1179 "matchCount": "1", 1180 "teardown": [ 1181 "$TC actions flush action mpls" 1182 ] 1183 }, 1184 { 1185 "id": "6cce", 1186 "name": "Delete mpls pop action", 1187 "category": [ 1188 "actions", 1189 "mpls" 1190 ], 1191 "setup": [ 1192 [ 1193 "$TC actions flush action mpls", 1194 0, 1195 1, 1196 255 1197 ], 1198 "$TC actions add action mpls pop protocol ipv4 index 44" 1199 ], 1200 "cmdUnderTest": "$TC actions del action mpls index 44", 1201 "expExitCode": "0", 1202 "verifyCmd": "$TC actions list action mpls", 1203 "matchPattern": "action order [0-9]+: mpls.*pop.*index 44 ref", 1204 "matchCount": "0", 1205 "teardown": [] 1206 }, 1207 { 1208 "id": "d138", 1209 "name": "Flush mpls actions", 1210 "category": [ 1211 "actions", 1212 "mpls" 1213 ], 1214 "setup": [ 1215 [ 1216 "$TC actions flush action mpls", 1217 0, 1218 1, 1219 255 1220 ], 1221 "$TC actions add action mpls push label 10 index 10", 1222 "$TC actions add action mpls push label 20 index 20", 1223 "$TC actions add action mpls push label 30 index 30", 1224 "$TC actions add action mpls push label 40 index 40" 1225 ], 1226 "cmdUnderTest": "$TC actions flush action mpls", 1227 "expExitCode": "0", 1228 "verifyCmd": "$TC actions list action mpls", 1229 "matchPattern": "action order [0-9]+: mpls.*push.*", 1230 "matchCount": "0", 1231 "teardown": [] 1232 } 1233] 1234