1[ 2 { 3 "id": "6236", 4 "name": "Add skbedit action with valid mark", 5 "category": [ 6 "actions", 7 "skbedit" 8 ], 9 "plugins": { 10 "requires": "nsPlugin" 11 }, 12 "setup": [ 13 [ 14 "$TC actions flush action skbedit", 15 0, 16 1, 17 255 18 ] 19 ], 20 "cmdUnderTest": "$TC actions add action skbedit mark 1", 21 "expExitCode": "0", 22 "verifyCmd": "$TC actions list action skbedit", 23 "matchPattern": "action order [0-9]*: skbedit mark 1", 24 "matchCount": "1", 25 "teardown": [ 26 "$TC actions flush action skbedit" 27 ] 28 }, 29 { 30 "id": "c8cf", 31 "name": "Add skbedit action with 32-bit maximum mark", 32 "category": [ 33 "actions", 34 "skbedit" 35 ], 36 "plugins": { 37 "requires": "nsPlugin" 38 }, 39 "setup": [ 40 [ 41 "$TC actions flush action skbedit", 42 0, 43 1, 44 255 45 ] 46 ], 47 "cmdUnderTest": "$TC actions add action skbedit mark 4294967295 pipe index 1", 48 "expExitCode": "0", 49 "verifyCmd": "$TC actions get action skbedit index 1", 50 "matchPattern": "action order [0-9]*: skbedit mark 4294967295.*pipe.*index 1", 51 "matchCount": "1", 52 "teardown": [ 53 "$TC actions flush action skbedit" 54 ] 55 }, 56 { 57 "id": "407b", 58 "name": "Add skbedit action with mark exceeding 32-bit maximum", 59 "category": [ 60 "actions", 61 "skbedit" 62 ], 63 "plugins": { 64 "requires": "nsPlugin" 65 }, 66 "setup": [ 67 [ 68 "$TC actions flush action skbedit", 69 0, 70 1, 71 255 72 ] 73 ], 74 "cmdUnderTest": "$TC actions add action skbedit mark 666777888999", 75 "expExitCode": "255", 76 "verifyCmd": "$TC actions list action skbedit", 77 "matchPattern": "action order [0-9]*: skbedit mark", 78 "matchCount": "0", 79 "teardown": [] 80 }, 81 { 82 "id": "d4cd", 83 "name": "Add skbedit action with valid mark and mask", 84 "category": [ 85 "actions", 86 "skbedit" 87 ], 88 "plugins": { 89 "requires": "nsPlugin" 90 }, 91 "setup": [ 92 [ 93 "$TC actions flush action skbedit", 94 0, 95 1, 96 255 97 ] 98 ], 99 "cmdUnderTest": "$TC actions add action skbedit mark 1/0xaabb", 100 "expExitCode": "0", 101 "verifyCmd": "$TC actions list action skbedit", 102 "matchPattern": "action order [0-9]*: skbedit mark 1/0xaabb", 103 "matchCount": "1", 104 "teardown": [ 105 "$TC actions flush action skbedit" 106 ] 107 }, 108 { 109 "id": "baa7", 110 "name": "Add skbedit action with valid mark and 32-bit maximum mask", 111 "category": [ 112 "actions", 113 "skbedit" 114 ], 115 "plugins": { 116 "requires": "nsPlugin" 117 }, 118 "setup": [ 119 [ 120 "$TC actions flush action skbedit", 121 0, 122 1, 123 255 124 ] 125 ], 126 "cmdUnderTest": "$TC actions add action skbedit mark 1/0xffffffff", 127 "expExitCode": "0", 128 "verifyCmd": "$TC actions list action skbedit", 129 "matchPattern": "action order [0-9]*: skbedit mark 1/0xffffffff", 130 "matchCount": "1", 131 "teardown": [ 132 "$TC actions flush action skbedit" 133 ] 134 }, 135 { 136 "id": "62a5", 137 "name": "Add skbedit action with valid mark and mask exceeding 32-bit maximum", 138 "category": [ 139 "actions", 140 "skbedit" 141 ], 142 "plugins": { 143 "requires": "nsPlugin" 144 }, 145 "setup": [ 146 [ 147 "$TC actions flush action skbedit", 148 0, 149 1, 150 255 151 ] 152 ], 153 "cmdUnderTest": "$TC actions add action skbedit mark 1/0xaabbccddeeff112233", 154 "expExitCode": "255", 155 "verifyCmd": "$TC actions list action skbedit", 156 "matchPattern": "action order [0-9]*: skbedit mark 1/0xaabbccddeeff112233", 157 "matchCount": "0", 158 "teardown": [] 159 }, 160 { 161 "id": "bc15", 162 "name": "Add skbedit action with valid mark and mask with invalid format", 163 "category": [ 164 "actions", 165 "skbedit" 166 ], 167 "plugins": { 168 "requires": "nsPlugin" 169 }, 170 "setup": [ 171 [ 172 "$TC actions flush action skbedit", 173 0, 174 1, 175 255 176 ] 177 ], 178 "cmdUnderTest": "$TC actions add action skbedit mark 1/-1234", 179 "expExitCode": "255", 180 "verifyCmd": "$TC actions list action skbedit", 181 "matchPattern": "action order [0-9]*: skbedit mark 1/-1234", 182 "matchCount": "0", 183 "teardown": [] 184 }, 185 { 186 "id": "57c2", 187 "name": "Replace skbedit action with new mask", 188 "category": [ 189 "actions", 190 "skbedit" 191 ], 192 "plugins": { 193 "requires": "nsPlugin" 194 }, 195 "setup": [ 196 [ 197 "$TC actions flush action skbedit", 198 0, 199 1, 200 255 201 ], 202 "$TC actions add action skbedit mark 1/0x11223344 index 1" 203 ], 204 "cmdUnderTest": "$TC actions replace action skbedit mark 1/0xaabb index 1", 205 "expExitCode": "0", 206 "verifyCmd": "$TC actions list action skbedit", 207 "matchPattern": "action order [0-9]*: skbedit mark 1/0xaabb", 208 "matchCount": "1", 209 "teardown": [ 210 "$TC actions flush action skbedit" 211 ] 212 }, 213 { 214 "id": "081d", 215 "name": "Add skbedit action with priority", 216 "category": [ 217 "actions", 218 "skbedit" 219 ], 220 "plugins": { 221 "requires": "nsPlugin" 222 }, 223 "setup": [ 224 [ 225 "$TC actions flush action skbedit", 226 0, 227 1, 228 255 229 ] 230 ], 231 "cmdUnderTest": "$TC actions add action skbedit prio 99", 232 "expExitCode": "0", 233 "verifyCmd": "$TC actions list action skbedit", 234 "matchPattern": "action order [0-9]*: skbedit priority :99", 235 "matchCount": "1", 236 "teardown": [ 237 "$TC actions flush action skbedit" 238 ] 239 }, 240 { 241 "id": "cc37", 242 "name": "Add skbedit action with invalid priority", 243 "category": [ 244 "actions", 245 "skbedit" 246 ], 247 "plugins": { 248 "requires": "nsPlugin" 249 }, 250 "setup": [ 251 [ 252 "$TC actions flush action skbedit", 253 0, 254 1, 255 255 256 ] 257 ], 258 "cmdUnderTest": "$TC actions add action skbedit prio foo", 259 "expExitCode": "255", 260 "verifyCmd": "$TC actions list action skbedit", 261 "matchPattern": "action order [0-9]*: skbedit priority", 262 "matchCount": "0", 263 "teardown": [ 264 "$TC actions flush action skbedit" 265 ] 266 }, 267 { 268 "id": "3c95", 269 "name": "Add skbedit action with queue_mapping", 270 "category": [ 271 "actions", 272 "skbedit" 273 ], 274 "plugins": { 275 "requires": "nsPlugin" 276 }, 277 "setup": [ 278 [ 279 "$TC actions flush action skbedit", 280 0, 281 1, 282 255 283 ] 284 ], 285 "cmdUnderTest": "$TC actions add action skbedit queue_mapping 909", 286 "expExitCode": "0", 287 "verifyCmd": "$TC actions list action skbedit", 288 "matchPattern": "action order [0-9]*: skbedit queue_mapping 909", 289 "matchCount": "1", 290 "teardown": [ 291 "$TC actions flush action skbedit" 292 ] 293 }, 294 { 295 "id": "985c", 296 "name": "Add skbedit action with queue_mapping exceeding 16-bit maximum", 297 "category": [ 298 "actions", 299 "skbedit" 300 ], 301 "plugins": { 302 "requires": "nsPlugin" 303 }, 304 "setup": [ 305 [ 306 "$TC actions flush action skbedit", 307 0, 308 1, 309 255 310 ] 311 ], 312 "cmdUnderTest": "$TC actions add action skbedit queue_mapping 67000", 313 "expExitCode": "255", 314 "verifyCmd": "$TC actions list action skbedit", 315 "matchPattern": "action order [0-9]*: skbedit queue_mapping", 316 "matchCount": "0", 317 "teardown": [ 318 "$TC actions flush action skbedit" 319 ] 320 }, 321 { 322 "id": "224f", 323 "name": "Add skbedit action with ptype host", 324 "category": [ 325 "actions", 326 "skbedit" 327 ], 328 "plugins": { 329 "requires": "nsPlugin" 330 }, 331 "setup": [ 332 [ 333 "$TC actions flush action skbedit", 334 0, 335 1, 336 255 337 ] 338 ], 339 "cmdUnderTest": "$TC actions add action skbedit ptype host", 340 "expExitCode": "0", 341 "verifyCmd": "$TC actions list action skbedit", 342 "matchPattern": "action order [0-9]*: skbedit ptype host", 343 "matchCount": "1", 344 "teardown": [ 345 "$TC actions flush action skbedit" 346 ] 347 }, 348 { 349 "id": "d1a3", 350 "name": "Add skbedit action with ptype otherhost", 351 "category": [ 352 "actions", 353 "skbedit" 354 ], 355 "plugins": { 356 "requires": "nsPlugin" 357 }, 358 "setup": [ 359 [ 360 "$TC actions flush action skbedit", 361 0, 362 1, 363 255 364 ] 365 ], 366 "cmdUnderTest": "$TC actions add action skbedit ptype otherhost", 367 "expExitCode": "0", 368 "verifyCmd": "$TC actions list action skbedit", 369 "matchPattern": "action order [0-9]*: skbedit ptype otherhost", 370 "matchCount": "1", 371 "teardown": [ 372 "$TC actions flush action skbedit" 373 ] 374 }, 375 { 376 "id": "b9c6", 377 "name": "Add skbedit action with invalid ptype", 378 "category": [ 379 "actions", 380 "skbedit" 381 ], 382 "plugins": { 383 "requires": "nsPlugin" 384 }, 385 "setup": [ 386 [ 387 "$TC actions flush action skbedit", 388 0, 389 1, 390 255 391 ] 392 ], 393 "cmdUnderTest": "$TC actions add action skbedit ptype openair", 394 "expExitCode": "255", 395 "verifyCmd": "$TC actions list action skbedit", 396 "matchPattern": "action order [0-9]*: skbedit ptype openair", 397 "matchCount": "0", 398 "teardown": [ 399 "$TC actions flush action skbedit" 400 ] 401 }, 402 { 403 "id": "464a", 404 "name": "Add skbedit action with control pipe", 405 "category": [ 406 "actions", 407 "skbedit" 408 ], 409 "plugins": { 410 "requires": "nsPlugin" 411 }, 412 "setup": [ 413 [ 414 "$TC actions flush action skbedit", 415 0, 416 1, 417 255 418 ] 419 ], 420 "cmdUnderTest": "$TC actions add action skbedit ptype host pipe index 11", 421 "expExitCode": "0", 422 "verifyCmd": "$TC actions get action skbedit index 11", 423 "matchPattern": "action order [0-9]*: skbedit ptype host pipe.*index 11 ref", 424 "matchCount": "1", 425 "teardown": [ 426 "$TC actions flush action skbedit" 427 ] 428 }, 429 { 430 "id": "212f", 431 "name": "Add skbedit action with control reclassify", 432 "category": [ 433 "actions", 434 "skbedit" 435 ], 436 "plugins": { 437 "requires": "nsPlugin" 438 }, 439 "setup": [ 440 [ 441 "$TC actions flush action skbedit", 442 0, 443 1, 444 255 445 ] 446 ], 447 "cmdUnderTest": "$TC actions add action skbedit mark 56789 reclassify index 90", 448 "expExitCode": "0", 449 "verifyCmd": "$TC actions get action skbedit index 90", 450 "matchPattern": "action order [0-9]*: skbedit mark 56789 reclassify.*index 90 ref", 451 "matchCount": "1", 452 "teardown": [ 453 "$TC actions flush action skbedit" 454 ] 455 }, 456 { 457 "id": "0651", 458 "name": "Add skbedit action with control pass", 459 "category": [ 460 "actions", 461 "skbedit" 462 ], 463 "plugins": { 464 "requires": "nsPlugin" 465 }, 466 "setup": [ 467 [ 468 "$TC actions flush action skbedit", 469 0, 470 1, 471 255 472 ] 473 ], 474 "cmdUnderTest": "$TC actions add action skbedit queue_mapping 3 pass index 271", 475 "expExitCode": "0", 476 "verifyCmd": "$TC actions get action skbedit index 271", 477 "matchPattern": "action order [0-9]*: skbedit queue_mapping 3 pass.*index 271 ref", 478 "matchCount": "1", 479 "teardown": [ 480 "$TC actions flush action skbedit" 481 ] 482 }, 483 { 484 "id": "cc53", 485 "name": "Add skbedit action with control drop", 486 "category": [ 487 "actions", 488 "skbedit" 489 ], 490 "plugins": { 491 "requires": "nsPlugin" 492 }, 493 "setup": [ 494 [ 495 "$TC actions flush action skbedit", 496 0, 497 1, 498 255 499 ] 500 ], 501 "cmdUnderTest": "$TC actions add action skbedit queue_mapping 3 drop index 271", 502 "expExitCode": "0", 503 "verifyCmd": "$TC actions get action skbedit index 271", 504 "matchPattern": "action order [0-9]*: skbedit queue_mapping 3 drop.*index 271 ref", 505 "matchCount": "1", 506 "teardown": [ 507 "$TC actions flush action skbedit" 508 ] 509 }, 510 { 511 "id": "ec16", 512 "name": "Add skbedit action with control jump", 513 "category": [ 514 "actions", 515 "skbedit" 516 ], 517 "plugins": { 518 "requires": "nsPlugin" 519 }, 520 "setup": [ 521 [ 522 "$TC actions flush action skbedit", 523 0, 524 1, 525 255 526 ] 527 ], 528 "cmdUnderTest": "$TC actions add action skbedit priority 8 jump 9 index 2", 529 "expExitCode": "0", 530 "verifyCmd": "$TC actions get action skbedit index 2", 531 "matchPattern": "action order [0-9]*: skbedit priority :8 jump 9.*index 2 ref", 532 "matchCount": "1", 533 "teardown": [ 534 "$TC actions flush action skbedit" 535 ] 536 }, 537 { 538 "id": "db54", 539 "name": "Add skbedit action with control continue", 540 "category": [ 541 "actions", 542 "skbedit" 543 ], 544 "plugins": { 545 "requires": "nsPlugin" 546 }, 547 "setup": [ 548 [ 549 "$TC actions flush action skbedit", 550 0, 551 1, 552 255 553 ] 554 ], 555 "cmdUnderTest": "$TC actions add action skbedit priority 16 continue index 32", 556 "expExitCode": "0", 557 "verifyCmd": "$TC actions get action skbedit index 32", 558 "matchPattern": "action order [0-9]*: skbedit priority :16 continue.*index 32 ref", 559 "matchCount": "1", 560 "teardown": [ 561 "$TC actions flush action skbedit" 562 ] 563 }, 564 { 565 "id": "1055", 566 "name": "Add skbedit action with cookie", 567 "category": [ 568 "actions", 569 "skbedit" 570 ], 571 "plugins": { 572 "requires": "nsPlugin" 573 }, 574 "setup": [ 575 [ 576 "$TC actions flush action skbedit", 577 0, 578 1, 579 255 580 ] 581 ], 582 "cmdUnderTest": "$TC actions add action skbedit priority 16 continue index 32 cookie deadbeef", 583 "expExitCode": "0", 584 "verifyCmd": "$TC actions get action skbedit index 32", 585 "matchPattern": "action order [0-9]*: skbedit priority :16 continue.*index 32 ref.*cookie deadbeef", 586 "matchCount": "1", 587 "teardown": [ 588 "$TC actions flush action skbedit" 589 ] 590 }, 591 { 592 "id": "5172", 593 "name": "List skbedit actions", 594 "category": [ 595 "actions", 596 "skbedit" 597 ], 598 "plugins": { 599 "requires": "nsPlugin" 600 }, 601 "setup": [ 602 [ 603 "$TC actions flush action skbedit", 604 0, 605 1, 606 255 607 ], 608 "$TC actions add action skbedit ptype otherhost", 609 "$TC actions add action skbedit ptype broadcast", 610 "$TC actions add action skbedit mark 59", 611 "$TC actions add action skbedit mark 409" 612 ], 613 "cmdUnderTest": "$TC actions list action skbedit", 614 "expExitCode": "0", 615 "verifyCmd": "$TC actions list action skbedit", 616 "matchPattern": "action order [0-9]*: skbedit", 617 "matchCount": "4", 618 "teardown": [ 619 "$TC actions flush action skbedit" 620 ] 621 }, 622 { 623 "id": "a6d6", 624 "name": "Add skbedit action with index at 32-bit maximum", 625 "category": [ 626 "actions", 627 "skbedit" 628 ], 629 "plugins": { 630 "requires": "nsPlugin" 631 }, 632 "setup": [ 633 [ 634 "$TC actions flush action skbedit", 635 0, 636 1, 637 255 638 ] 639 ], 640 "cmdUnderTest": "$TC actions add action skbedit mark 808 index 4294967295", 641 "expExitCode": "0", 642 "verifyCmd": "$TC actions get action skbedit index 4294967295", 643 "matchPattern": "action order [0-9]*: skbedit mark 808.*index 4294967295", 644 "matchCount": "1", 645 "teardown": [ 646 "$TC actions flush action skbedit" 647 ] 648 }, 649 { 650 "id": "f0f4", 651 "name": "Add skbedit action with index exceeding 32-bit maximum", 652 "category": [ 653 "actions", 654 "skbedit" 655 ], 656 "plugins": { 657 "requires": "nsPlugin" 658 }, 659 "setup": [ 660 [ 661 "$TC actions flush action skbedit", 662 0, 663 1, 664 255 665 ] 666 ], 667 "cmdUnderTest": "$TC actions add action skbedit mark 808 pass index 4294967297", 668 "expExitCode": "255", 669 "verifyCmd": "$TC actions get action skbedit index 4294967297", 670 "matchPattern": "action order [0-9]*:.*skbedit.*mark 808.*pass.*index 4294967297", 671 "matchCount": "0", 672 "teardown": [] 673 }, 674 { 675 "id": "38f3", 676 "name": "Delete skbedit action", 677 "category": [ 678 "actions", 679 "skbedit" 680 ], 681 "plugins": { 682 "requires": "nsPlugin" 683 }, 684 "setup": [ 685 [ 686 "$TC actions flush action skbedit", 687 0, 688 1, 689 255 690 ], 691 "$TC actions add action skbedit mark 42 index 9009" 692 ], 693 "cmdUnderTest": "$TC actions del action skbedit index 9009", 694 "expExitCode": "0", 695 "verifyCmd": "$TC actions list action skbedit", 696 "matchPattern": "action order [0-9]*: skbedit mark 42", 697 "matchCount": "0", 698 "teardown": [ 699 "$TC actions flush action skbedit" 700 ] 701 }, 702 { 703 "id": "ce97", 704 "name": "Flush skbedit actions", 705 "category": [ 706 "actions", 707 "skbedit" 708 ], 709 "plugins": { 710 "requires": "nsPlugin" 711 }, 712 "setup": [ 713 "$TC actions add action skbedit mark 500", 714 "$TC actions add action skbedit mark 501", 715 "$TC actions add action skbedit mark 502", 716 "$TC actions add action skbedit mark 503", 717 "$TC actions add action skbedit mark 504", 718 "$TC actions add action skbedit mark 505", 719 "$TC actions add action skbedit mark 506" 720 ], 721 "cmdUnderTest": "$TC actions flush action skbedit", 722 "expExitCode": "0", 723 "verifyCmd": "$TC actions list action skbedit", 724 "matchPattern": "action order [0-9]*: skbedit", 725 "matchCount": "0", 726 "teardown": [ 727 "$TC actions flush action skbedit" 728 ] 729 }, 730 { 731 "id": "1b2b", 732 "name": "Replace skbedit action with invalid goto_chain control", 733 "category": [ 734 "actions", 735 "skbedit" 736 ], 737 "plugins": { 738 "requires": "nsPlugin" 739 }, 740 "setup": [ 741 [ 742 "$TC actions flush action skbedit", 743 0, 744 1, 745 255 746 ], 747 "$TC actions add action skbedit ptype host pass index 90" 748 ], 749 "cmdUnderTest": "$TC actions replace action skbedit ptype host goto chain 42 index 90 cookie c1a0c1a0", 750 "expExitCode": "255", 751 "verifyCmd": "$TC actions list action skbedit", 752 "matchPattern": "action order [0-9]*: skbedit ptype host pass.*index 90 ref", 753 "matchCount": "1", 754 "teardown": [ 755 "$TC actions flush action skbedit" 756 ] 757 }, 758 { 759 "id": "630c", 760 "name": "Add batch of 32 skbedit actions with all parameters and cookie", 761 "category": [ 762 "actions", 763 "skbedit" 764 ], 765 "plugins": { 766 "requires": "nsPlugin" 767 }, 768 "setup": [ 769 [ 770 "$TC actions flush action skbedit", 771 0, 772 1, 773 255 774 ] 775 ], 776 "cmdUnderTest": "bash -c \"for i in \\`seq 1 32\\`; do cmd=\\\"action skbedit queue_mapping 2 priority 10 mark 7/0xaabbccdd ptype host inheritdsfield index \\$i cookie aabbccddeeff112233445566778800a1 \\\"; args=\"\\$args\\$cmd\"; done && $TC actions add \\$args\"", 777 "expExitCode": "0", 778 "verifyCmd": "$TC actions list action skbedit", 779 "matchPattern": "^[ \t]+index [0-9]+ ref", 780 "matchCount": "32", 781 "teardown": [ 782 "$TC actions flush action skbedit" 783 ] 784 }, 785 { 786 "id": "706d", 787 "name": "Delete batch of 32 skbedit actions with all parameters", 788 "category": [ 789 "actions", 790 "skbedit" 791 ], 792 "plugins": { 793 "requires": "nsPlugin" 794 }, 795 "setup": [ 796 [ 797 "$TC actions flush action skbedit", 798 0, 799 1, 800 255 801 ], 802 "bash -c \"for i in \\`seq 1 32\\`; do cmd=\\\"action skbedit queue_mapping 2 priority 10 mark 7/0xaabbccdd ptype host inheritdsfield index \\$i \\\"; args=\\\"\\$args\\$cmd\\\"; done && $TC actions add \\$args\"" 803 ], 804 "cmdUnderTest": "bash -c \"for i in \\`seq 1 32\\`; do cmd=\\\"action skbedit index \\$i \\\"; args=\"\\$args\\$cmd\"; done && $TC actions del \\$args\"", 805 "expExitCode": "0", 806 "verifyCmd": "$TC actions list action skbedit", 807 "matchPattern": "^[ \t]+index [0-9]+ ref", 808 "matchCount": "0", 809 "teardown": [] 810 } 811] 812