1[ 2 { 3 "id": "5124", 4 "name": "Add mirred mirror to egress action", 5 "category": [ 6 "actions", 7 "mirred" 8 ], 9 "plugins": { 10 "requires": "nsPlugin" 11 }, 12 "setup": [ 13 [ 14 "$TC actions flush action mirred", 15 0, 16 1, 17 255 18 ] 19 ], 20 "cmdUnderTest": "$TC actions add action mirred egress mirror index 1 dev lo", 21 "expExitCode": "0", 22 "verifyCmd": "$TC actions list action mirred", 23 "matchPattern": "action order [0-9]*: mirred \\(Egress Mirror to device lo\\).*index 1 ref", 24 "matchCount": "1", 25 "teardown": [ 26 "$TC actions flush action mirred" 27 ] 28 }, 29 { 30 "id": "6fb4", 31 "name": "Add mirred redirect to egress action", 32 "category": [ 33 "actions", 34 "mirred" 35 ], 36 "plugins": { 37 "requires": "nsPlugin" 38 }, 39 "setup": [ 40 [ 41 "$TC actions flush action mirred", 42 0, 43 1, 44 255 45 ] 46 ], 47 "cmdUnderTest": "$TC actions add action mirred egress redirect index 2 dev lo action pipe", 48 "expExitCode": "0", 49 "verifyCmd": "$TC actions list action mirred", 50 "matchPattern": "action order [0-9]*: mirred \\(Egress Redirect to device lo\\).*index 2 ref", 51 "matchCount": "1", 52 "teardown": [ 53 "$TC actions flush action mirred", 54 "$TC actions flush action gact" 55 ] 56 }, 57 { 58 "id": "ba38", 59 "name": "Get mirred actions", 60 "category": [ 61 "actions", 62 "mirred" 63 ], 64 "plugins": { 65 "requires": "nsPlugin" 66 }, 67 "setup": [ 68 [ 69 "$TC actions flush action mirred", 70 0, 71 1, 72 255 73 ], 74 "$TC actions add action mirred egress mirror index 1 dev lo", 75 "$TC actions add action mirred egress redirect index 2 dev lo" 76 ], 77 "cmdUnderTest": "$TC actions show action mirred", 78 "expExitCode": "0", 79 "verifyCmd": "$TC actions list action mirred", 80 "matchPattern": "[Mirror|Redirect] to device lo", 81 "matchCount": "2", 82 "teardown": [ 83 "$TC actions flush action mirred" 84 ] 85 }, 86 { 87 "id": "d7c0", 88 "name": "Add invalid mirred direction", 89 "category": [ 90 "actions", 91 "mirred" 92 ], 93 "plugins": { 94 "requires": "nsPlugin" 95 }, 96 "setup": [ 97 [ 98 "$TC actions flush action mirred", 99 0, 100 1, 101 255 102 ] 103 ], 104 "cmdUnderTest": "$TC actions add action mirred inbound mirror index 20 dev lo", 105 "expExitCode": "255", 106 "verifyCmd": "$TC actions list action mirred", 107 "matchPattern": "action order [0-9]*: mirred \\(.*to device lo\\).*index 20 ref", 108 "matchCount": "0", 109 "teardown": [ 110 "$TC actions flush action mirred" 111 ] 112 }, 113 { 114 "id": "e213", 115 "name": "Add invalid mirred action", 116 "category": [ 117 "actions", 118 "mirred" 119 ], 120 "plugins": { 121 "requires": "nsPlugin" 122 }, 123 "setup": [ 124 [ 125 "$TC actions flush action mirred", 126 0, 127 1, 128 255 129 ] 130 ], 131 "cmdUnderTest": "$TC actions add action mirred egress remirror index 20 dev lo", 132 "expExitCode": "255", 133 "verifyCmd": "$TC actions list action mirred", 134 "matchPattern": "action order [0-9]*: mirred \\(Egress.*to device lo\\).*index 20 ref", 135 "matchCount": "0", 136 "teardown": [ 137 "$TC actions flush action mirred" 138 ] 139 }, 140 { 141 "id": "2d89", 142 "name": "Add mirred action with invalid device", 143 "category": [ 144 "actions", 145 "mirred" 146 ], 147 "plugins": { 148 "requires": "nsPlugin" 149 }, 150 "setup": [ 151 [ 152 "$TC actions flush action mirred", 153 0, 154 1, 155 255 156 ] 157 ], 158 "cmdUnderTest": "$TC actions add action mirred egress mirror index 20 dev eltoh", 159 "expExitCode": "255", 160 "verifyCmd": "$TC actions list action mirred", 161 "matchPattern": "action order [0-9]*: mirred \\(.*to device eltoh\\).*index 20 ref", 162 "matchCount": "0", 163 "teardown": [ 164 "$TC actions flush action mirred" 165 ] 166 }, 167 { 168 "id": "300b", 169 "name": "Add mirred action with duplicate index", 170 "category": [ 171 "actions", 172 "mirred" 173 ], 174 "plugins": { 175 "requires": "nsPlugin" 176 }, 177 "setup": [ 178 [ 179 "$TC actions flush action mirred", 180 0, 181 1, 182 255 183 ], 184 "$TC actions add action mirred egress redirect index 15 dev lo" 185 ], 186 "cmdUnderTest": "$TC actions add action mirred egress mirror index 15 dev lo", 187 "expExitCode": "255", 188 "verifyCmd": "$TC actions list action mirred", 189 "matchPattern": "action order [0-9]*: mirred \\(.*to device lo\\).*index 15 ref", 190 "matchCount": "1", 191 "teardown": [ 192 "$TC actions flush action mirred" 193 ] 194 }, 195 { 196 "id": "8917", 197 "name": "Add mirred mirror action with control pass", 198 "category": [ 199 "actions", 200 "mirred" 201 ], 202 "plugins": { 203 "requires": "nsPlugin" 204 }, 205 "setup": [ 206 [ 207 "$TC actions flush action mirred", 208 0, 209 1, 210 255 211 ] 212 ], 213 "cmdUnderTest": "$TC actions add action mirred ingress mirror dev lo pass index 1", 214 "expExitCode": "0", 215 "verifyCmd": "$TC actions get action mirred index 1", 216 "matchPattern": "action order [0-9]*: mirred \\(Ingress Mirror to device lo\\) pass.*index 1 ref", 217 "matchCount": "1", 218 "teardown": [ 219 "$TC actions flush action mirred" 220 ] 221 }, 222 { 223 "id": "1054", 224 "name": "Add mirred mirror action with control pipe", 225 "category": [ 226 "actions", 227 "mirred" 228 ], 229 "plugins": { 230 "requires": "nsPlugin" 231 }, 232 "setup": [ 233 [ 234 "$TC actions flush action mirred", 235 0, 236 1, 237 255 238 ] 239 ], 240 "cmdUnderTest": "$TC actions add action mirred ingress mirror dev lo pipe index 15", 241 "expExitCode": "0", 242 "verifyCmd": "$TC actions get action mirred index 15", 243 "matchPattern": "action order [0-9]*: mirred \\(Ingress Mirror to device lo\\) pipe.*index 15 ref", 244 "matchCount": "1", 245 "teardown": [ 246 "$TC actions flush action mirred" 247 ] 248 }, 249 { 250 "id": "9887", 251 "name": "Add mirred mirror action with control continue", 252 "category": [ 253 "actions", 254 "mirred" 255 ], 256 "plugins": { 257 "requires": "nsPlugin" 258 }, 259 "setup": [ 260 [ 261 "$TC actions flush action mirred", 262 0, 263 1, 264 255 265 ] 266 ], 267 "cmdUnderTest": "$TC actions add action mirred ingress mirror dev lo continue index 15", 268 "expExitCode": "0", 269 "verifyCmd": "$TC actions get action mirred index 15", 270 "matchPattern": "action order [0-9]*: mirred \\(Ingress Mirror to device lo\\) continue.*index 15 ref", 271 "matchCount": "1", 272 "teardown": [ 273 "$TC actions flush action mirred" 274 ] 275 }, 276 { 277 "id": "e4aa", 278 "name": "Add mirred mirror action with control reclassify", 279 "category": [ 280 "actions", 281 "mirred" 282 ], 283 "plugins": { 284 "requires": "nsPlugin" 285 }, 286 "setup": [ 287 [ 288 "$TC actions flush action mirred", 289 0, 290 1, 291 255 292 ] 293 ], 294 "cmdUnderTest": "$TC actions add action mirred ingress mirror dev lo reclassify index 150", 295 "expExitCode": "0", 296 "verifyCmd": "$TC actions get action mirred index 150", 297 "matchPattern": "action order [0-9]*: mirred \\(Ingress Mirror to device lo\\) reclassify.*index 150 ref", 298 "matchCount": "1", 299 "teardown": [ 300 "$TC actions flush action mirred" 301 ] 302 }, 303 { 304 "id": "ece9", 305 "name": "Add mirred mirror action with control drop", 306 "category": [ 307 "actions", 308 "mirred" 309 ], 310 "plugins": { 311 "requires": "nsPlugin" 312 }, 313 "setup": [ 314 [ 315 "$TC actions flush action mirred", 316 0, 317 1, 318 255 319 ] 320 ], 321 "cmdUnderTest": "$TC actions add action mirred ingress mirror dev lo drop index 99", 322 "expExitCode": "0", 323 "verifyCmd": "$TC actions get action mirred index 99", 324 "matchPattern": "action order [0-9]*: mirred \\(Ingress Mirror to device lo\\) drop.*index 99 ref", 325 "matchCount": "1", 326 "teardown": [ 327 "$TC actions flush action mirred" 328 ] 329 }, 330 { 331 "id": "0031", 332 "name": "Add mirred mirror action with control jump", 333 "category": [ 334 "actions", 335 "mirred" 336 ], 337 "plugins": { 338 "requires": "nsPlugin" 339 }, 340 "setup": [ 341 [ 342 "$TC actions flush action mirred", 343 0, 344 1, 345 255 346 ] 347 ], 348 "cmdUnderTest": "$TC actions add action mirred ingress mirror dev lo jump 10 index 99", 349 "expExitCode": "0", 350 "verifyCmd": "$TC actions get action mirred index 99", 351 "matchPattern": "action order [0-9]*: mirred \\(Ingress Mirror to device lo\\) jump 10.*index 99 ref", 352 "matchCount": "1", 353 "teardown": [ 354 "$TC actions flush action mirred" 355 ] 356 }, 357 { 358 "id": "407c", 359 "name": "Add mirred mirror action with cookie", 360 "category": [ 361 "actions", 362 "mirred" 363 ], 364 "plugins": { 365 "requires": "nsPlugin" 366 }, 367 "setup": [ 368 [ 369 "$TC actions flush action mirred", 370 0, 371 1, 372 255 373 ] 374 ], 375 "cmdUnderTest": "$TC actions add action mirred ingress mirror dev lo reclassify cookie aa11bb22cc33dd44ee55", 376 "expExitCode": "0", 377 "verifyCmd": "$TC actions ls action mirred", 378 "matchPattern": "action order [0-9]*: mirred \\(Ingress Mirror to device lo\\) reclassify.*cookie aa11bb22cc33dd44ee55", 379 "matchCount": "1", 380 "teardown": [ 381 "$TC actions flush action mirred" 382 ] 383 }, 384 { 385 "id": "8b69", 386 "name": "Add mirred mirror action with index at 32-bit maximum", 387 "category": [ 388 "actions", 389 "mirred" 390 ], 391 "plugins": { 392 "requires": "nsPlugin" 393 }, 394 "setup": [ 395 [ 396 "$TC actions flush action mirred", 397 0, 398 1, 399 255 400 ] 401 ], 402 "cmdUnderTest": "$TC actions add action mirred ingress mirror dev lo pipe index 4294967295", 403 "expExitCode": "0", 404 "verifyCmd": "$TC actions get action mirred index 4294967295", 405 "matchPattern": "action order [0-9]*: mirred \\(Ingress Mirror to device lo\\) pipe.*index 4294967295", 406 "matchCount": "1", 407 "teardown": [ 408 "$TC actions flush action mirred" 409 ] 410 }, 411 { 412 "id": "3f66", 413 "name": "Add mirred mirror action with index exceeding 32-bit maximum", 414 "category": [ 415 "actions", 416 "mirred" 417 ], 418 "plugins": { 419 "requires": "nsPlugin" 420 }, 421 "setup": [ 422 [ 423 "$TC actions flush action mirred", 424 0, 425 1, 426 255 427 ] 428 ], 429 "cmdUnderTest": "$TC actions add action mirred ingress mirror dev lo pipe index 429496729555", 430 "expExitCode": "255", 431 "verifyCmd": "$TC actions get action mirred index 429496729555", 432 "matchPattern": "action order [0-9]*: mirred \\(Ingress Mirror to device lo\\) pipe.*index 429496729555", 433 "matchCount": "0", 434 "teardown": [] 435 }, 436 { 437 "id": "a70e", 438 "name": "Delete mirred mirror action", 439 "category": [ 440 "actions", 441 "mirred" 442 ], 443 "plugins": { 444 "requires": "nsPlugin" 445 }, 446 "setup": [ 447 [ 448 "$TC actions flush action mirred", 449 0, 450 1, 451 255 452 ], 453 "$TC actions add action mirred egress mirror index 5 dev lo" 454 ], 455 "cmdUnderTest": "$TC actions del action mirred index 5", 456 "expExitCode": "0", 457 "verifyCmd": "$TC actions list action mirred", 458 "matchPattern": "action order [0-9]*: mirred \\(Egress Mirror to device lo\\).*index 5 ref", 459 "matchCount": "0", 460 "teardown": [ 461 "$TC actions flush action mirred" 462 ] 463 }, 464 { 465 "id": "3fb3", 466 "name": "Delete mirred redirect action", 467 "category": [ 468 "actions", 469 "mirred" 470 ], 471 "plugins": { 472 "requires": "nsPlugin" 473 }, 474 "setup": [ 475 [ 476 "$TC actions flush action mirred", 477 0, 478 1, 479 255 480 ], 481 "$TC actions add action mirred egress redirect index 5 dev lo" 482 ], 483 "cmdUnderTest": "$TC actions del action mirred index 5", 484 "expExitCode": "0", 485 "verifyCmd": "$TC actions list action mirred", 486 "matchPattern": "action order [0-9]*: mirred \\(Egress Redirect to device lo\\).*index 5 ref", 487 "matchCount": "0", 488 "teardown": [ 489 "$TC actions flush action mirred" 490 ] 491 }, 492 { 493 "id": "2a9a", 494 "name": "Replace mirred action with invalid goto chain control", 495 "category": [ 496 "actions", 497 "mirred" 498 ], 499 "plugins": { 500 "requires": "nsPlugin" 501 }, 502 "setup": [ 503 [ 504 "$TC actions flush action mirred", 505 0, 506 1, 507 255 508 ], 509 "$TC actions add action mirred ingress mirror dev lo drop index 90" 510 ], 511 "cmdUnderTest": "$TC actions replace action mirred ingress mirror dev lo goto chain 42 index 90 cookie c1a0c1a0", 512 "expExitCode": "255", 513 "verifyCmd": "$TC actions get action mirred index 90", 514 "matchPattern": "action order [0-9]*: mirred \\(Ingress Mirror to device lo\\) drop.*index 90 ref", 515 "matchCount": "1", 516 "teardown": [ 517 "$TC actions flush action mirred" 518 ] 519 }, 520 { 521 "id": "4749", 522 "name": "Add batch of 32 mirred redirect egress actions with cookie", 523 "category": [ 524 "actions", 525 "mirred" 526 ], 527 "plugins": { 528 "requires": "nsPlugin" 529 }, 530 "setup": [ 531 [ 532 "$TC actions flush action mirred", 533 0, 534 1, 535 255 536 ] 537 ], 538 "cmdUnderTest": "bash -c \"for i in \\`seq 1 32\\`; do cmd=\\\"action mirred egress redirect dev lo index \\$i cookie aabbccddeeff112233445566778800a1 \\\"; args=\"\\$args\\$cmd\"; done && $TC actions add \\$args\"", 539 "expExitCode": "0", 540 "verifyCmd": "$TC actions list action mirred", 541 "matchPattern": "^[ \t]+index [0-9]+ ref", 542 "matchCount": "32", 543 "teardown": [ 544 "$TC actions flush action mirred" 545 ] 546 }, 547 { 548 "id": "5c69", 549 "name": "Delete batch of 32 mirred redirect egress actions", 550 "category": [ 551 "actions", 552 "mirred" 553 ], 554 "plugins": { 555 "requires": "nsPlugin" 556 }, 557 "setup": [ 558 [ 559 "$TC actions flush action mirred", 560 0, 561 1, 562 255 563 ], 564 "bash -c \"for i in \\`seq 1 32\\`; do cmd=\\\"action mirred egress redirect dev lo index \\$i \\\"; args=\\\"\\$args\\$cmd\\\"; done && $TC actions add \\$args\"" 565 ], 566 "cmdUnderTest": "bash -c \"for i in \\`seq 1 32\\`; do cmd=\\\"action mirred index \\$i \\\"; args=\"\\$args\\$cmd\"; done && $TC actions del \\$args\"", 567 "expExitCode": "0", 568 "verifyCmd": "$TC actions list action mirred", 569 "matchPattern": "^[ \t]+index [0-9]+ ref", 570 "matchCount": "0", 571 "teardown": [] 572 }, 573 { 574 "id": "d3c0", 575 "name": "Add batch of 32 mirred mirror ingress actions with cookie", 576 "category": [ 577 "actions", 578 "mirred" 579 ], 580 "plugins": { 581 "requires": "nsPlugin" 582 }, 583 "setup": [ 584 [ 585 "$TC actions flush action mirred", 586 0, 587 1, 588 255 589 ] 590 ], 591 "cmdUnderTest": "bash -c \"for i in \\`seq 1 32\\`; do cmd=\\\"action mirred ingress mirror dev lo index \\$i cookie aabbccddeeff112233445566778800a1 \\\"; args=\"\\$args\\$cmd\"; done && $TC actions add \\$args\"", 592 "expExitCode": "0", 593 "verifyCmd": "$TC actions list action mirred", 594 "matchPattern": "^[ \t]+index [0-9]+ ref", 595 "matchCount": "32", 596 "teardown": [ 597 "$TC actions flush action mirred" 598 ] 599 }, 600 { 601 "id": "e684", 602 "name": "Delete batch of 32 mirred mirror ingress actions", 603 "category": [ 604 "actions", 605 "mirred" 606 ], 607 "plugins": { 608 "requires": "nsPlugin" 609 }, 610 "setup": [ 611 [ 612 "$TC actions flush action mirred", 613 0, 614 1, 615 255 616 ], 617 "bash -c \"for i in \\`seq 1 32\\`; do cmd=\\\"action mirred ingress mirror dev lo index \\$i \\\"; args=\\\"\\$args\\$cmd\\\"; done && $TC actions add \\$args\"" 618 ], 619 "cmdUnderTest": "bash -c \"for i in \\`seq 1 32\\`; do cmd=\\\"action mirred index \\$i \\\"; args=\"\\$args\\$cmd\"; done && $TC actions del \\$args\"", 620 "expExitCode": "0", 621 "verifyCmd": "$TC actions list action mirred", 622 "matchPattern": "^[ \t]+index [0-9]+ ref", 623 "matchCount": "0", 624 "teardown": [] 625 }, 626 { 627 "id": "31e3", 628 "name": "Add mirred mirror to egress action with no_percpu flag", 629 "category": [ 630 "actions", 631 "mirred" 632 ], 633 "plugins": { 634 "requires": "nsPlugin" 635 }, 636 "setup": [ 637 [ 638 "$TC actions flush action mirred", 639 0, 640 1, 641 255 642 ] 643 ], 644 "cmdUnderTest": "$TC actions add action mirred egress mirror dev lo no_percpu", 645 "expExitCode": "0", 646 "verifyCmd": "$TC actions list action mirred", 647 "matchPattern": "action order [0-9]*: mirred \\(Egress Mirror to device lo\\).*no_percpu", 648 "matchCount": "1", 649 "teardown": [ 650 "$TC actions flush action mirred" 651 ] 652 }, 653 { 654 "id": "456d", 655 "name": "Add mirred mirror to egress block action", 656 "category": [ 657 "actions", 658 "mirred" 659 ], 660 "dependsOn": "$TC actions add action mirred help 2>&1 | grep -q blockid", 661 "plugins": { 662 "requires": "nsPlugin" 663 }, 664 "setup": [ 665 [ 666 "$TC actions flush action mirred", 667 0, 668 1, 669 255 670 ], 671 [ 672 "$TC qdisc add dev $DEV1 egress_block 21 clsact", 673 0 674 ] 675 ], 676 "cmdUnderTest": "$TC actions add action mirred egress mirror index 1 blockid 21", 677 "expExitCode": "0", 678 "verifyCmd": "$TC -j actions get action mirred index 1", 679 "matchJSON": [ 680 { 681 "total acts": 0 682 }, 683 { 684 "actions": [ 685 { 686 "order": 1, 687 "kind": "mirred", 688 "mirred_action": "mirror", 689 "direction": "egress", 690 "to_blockid": 21, 691 "control_action": { 692 "type": "pipe" 693 }, 694 "index": 1, 695 "ref": 1, 696 "bind": 0, 697 "not_in_hw": true 698 } 699 ] 700 } 701 ], 702 "matchCount": "1", 703 "teardown": [ 704 "$TC qdisc del dev $DEV1 egress_block 21 clsact", 705 "$TC actions flush action mirred" 706 ] 707 }, 708 { 709 "id": "2358", 710 "name": "Add mirred mirror to ingress block action", 711 "category": [ 712 "actions", 713 "mirred" 714 ], 715 "dependsOn": "$TC actions add action mirred help 2>&1 | grep -q blockid", 716 "plugins": { 717 "requires": "nsPlugin" 718 }, 719 "setup": [ 720 [ 721 "$TC actions flush action mirred", 722 0, 723 1, 724 255 725 ], 726 [ 727 "$TC qdisc add dev $DEV1 ingress_block 21 clsact", 728 0 729 ] 730 ], 731 "cmdUnderTest": "$TC actions add action mirred ingress mirror index 1 blockid 21", 732 "expExitCode": "0", 733 "verifyCmd": "$TC -j actions get action mirred index 1", 734 "matchJSON": [ 735 { 736 "total acts": 0 737 }, 738 { 739 "actions": [ 740 { 741 "order": 1, 742 "kind": "mirred", 743 "mirred_action": "mirror", 744 "direction": "ingress", 745 "to_blockid": 21, 746 "control_action": { 747 "type": "pipe" 748 }, 749 "index": 1, 750 "ref": 1, 751 "bind": 0, 752 "not_in_hw": true 753 } 754 ] 755 } 756 ], 757 "matchCount": "1", 758 "teardown": [ 759 "$TC qdisc del dev $DEV1 ingress_block 21 clsact", 760 "$TC actions flush action mirred" 761 ] 762 }, 763 { 764 "id": "fdb1", 765 "name": "Add mirred redirect to egress block action", 766 "category": [ 767 "actions", 768 "mirred" 769 ], 770 "dependsOn": "$TC actions add action mirred help 2>&1 | grep -q blockid", 771 "plugins": { 772 "requires": "nsPlugin" 773 }, 774 "setup": [ 775 [ 776 "$TC actions flush action mirred", 777 0, 778 1, 779 255 780 ], 781 [ 782 "$TC qdisc add dev $DEV1 ingress_block 21 clsact", 783 0 784 ] 785 ], 786 "cmdUnderTest": "$TC actions add action mirred egress redirect index 1 blockid 21", 787 "expExitCode": "0", 788 "verifyCmd": "$TC -j actions get action mirred index 1", 789 "matchJSON": [ 790 { 791 "total acts": 0 792 }, 793 { 794 "actions": [ 795 { 796 "order": 1, 797 "kind": "mirred", 798 "mirred_action": "redirect", 799 "direction": "egress", 800 "to_blockid": 21, 801 "control_action": { 802 "type": "stolen" 803 }, 804 "index": 1, 805 "ref": 1, 806 "bind": 0, 807 "not_in_hw": true 808 } 809 ] 810 } 811 ], 812 "matchCount": "1", 813 "teardown": [ 814 "$TC qdisc del dev $DEV1 ingress_block 21 clsact", 815 "$TC actions flush action mirred" 816 ] 817 }, 818 { 819 "id": "20cc", 820 "name": "Add mirred redirect to ingress block action", 821 "category": [ 822 "actions", 823 "mirred" 824 ], 825 "dependsOn": "$TC actions add action mirred help 2>&1 | grep -q blockid", 826 "plugins": { 827 "requires": "nsPlugin" 828 }, 829 "setup": [ 830 [ 831 "$TC actions flush action mirred", 832 0, 833 1, 834 255 835 ], 836 [ 837 "$TC qdisc add dev $DEV1 ingress_block 21 clsact", 838 0 839 ] 840 ], 841 "cmdUnderTest": "$TC actions add action mirred ingress redirect index 1 blockid 21", 842 "expExitCode": "0", 843 "verifyCmd": "$TC -j actions get action mirred index 1", 844 "matchJSON": [ 845 { 846 "total acts": 0 847 }, 848 { 849 "actions": [ 850 { 851 "order": 1, 852 "kind": "mirred", 853 "mirred_action": "redirect", 854 "direction": "ingress", 855 "to_blockid": 21, 856 "control_action": { 857 "type": "stolen" 858 }, 859 "index": 1, 860 "ref": 1, 861 "bind": 0, 862 "not_in_hw": true 863 } 864 ] 865 } 866 ], 867 "matchCount": "1", 868 "teardown": [ 869 "$TC qdisc del dev $DEV1 ingress_block 21 clsact", 870 "$TC actions flush action mirred" 871 ] 872 }, 873 { 874 "id": "e739", 875 "name": "Try to add mirred action with both dev and block", 876 "category": [ 877 "actions", 878 "mirred" 879 ], 880 "dependsOn": "$TC actions add action mirred help 2>&1 | grep -q blockid", 881 "plugins": { 882 "requires": "nsPlugin" 883 }, 884 "setup": [ 885 [ 886 "$TC actions flush action mirred", 887 0, 888 1, 889 255 890 ], 891 [ 892 "$TC qdisc add dev $DEV1 ingress_block 21 clsact", 893 0 894 ] 895 ], 896 "cmdUnderTest": "$TC actions add action mirred ingress redirect index 1 blockid 21 dev $DEV1", 897 "expExitCode": "255", 898 "verifyCmd": "$TC -j actions list action mirred", 899 "matchJSON": [], 900 "matchCount": "1", 901 "teardown": [ 902 "$TC qdisc del dev $DEV1 ingress_block 21 clsact", 903 "$TC actions flush action mirred" 904 ] 905 }, 906 { 907 "id": "2f47", 908 "name": "Try to add mirred action without specifying neither dev nor block", 909 "category": [ 910 "actions", 911 "mirred" 912 ], 913 "plugins": { 914 "requires": "nsPlugin" 915 }, 916 "setup": [ 917 [ 918 "$TC actions flush action mirred", 919 0, 920 1, 921 255 922 ], 923 [ 924 "$TC qdisc add dev $DEV1 ingress_block 21 clsact", 925 0 926 ] 927 ], 928 "cmdUnderTest": "$TC actions add action mirred ingress redirect index 1", 929 "expExitCode": "255", 930 "verifyCmd": "$TC -j actions list action mirred", 931 "matchJSON": [], 932 "matchCount": "1", 933 "teardown": [ 934 "$TC qdisc del dev $DEV1 ingress_block 21 clsact", 935 "$TC actions flush action mirred" 936 ] 937 }, 938 { 939 "id": "3188", 940 "name": "Replace mirred redirect to dev action with redirect to block", 941 "category": [ 942 "actions", 943 "mirred" 944 ], 945 "dependsOn": "$TC actions add action mirred help 2>&1 | grep -q blockid", 946 "plugins": { 947 "requires": "nsPlugin" 948 }, 949 "setup": [ 950 [ 951 "$TC actions flush action mirred", 952 0, 953 1, 954 255 955 ], 956 [ 957 "$TC qdisc add dev $DEV1 ingress_block 21 clsact", 958 0 959 ], 960 [ 961 "$TC actions add action mirred ingress redirect index 1 dev $DEV1", 962 0 963 ] 964 ], 965 "cmdUnderTest": "$TC actions replace action mirred egress redirect index 1 blockid 21", 966 "expExitCode": "0", 967 "verifyCmd": "$TC -j actions get action mirred index 1", 968 "matchJSON": [ 969 { 970 "total acts": 0 971 }, 972 { 973 "actions": [ 974 { 975 "order": 1, 976 "kind": "mirred", 977 "mirred_action": "redirect", 978 "direction": "egress", 979 "to_blockid": 21, 980 "control_action": { 981 "type": "stolen" 982 }, 983 "index": 1, 984 "ref": 1, 985 "bind": 0, 986 "not_in_hw": true 987 } 988 ] 989 } 990 ], 991 "matchCount": "1", 992 "teardown": [ 993 "$TC qdisc del dev $DEV1 ingress_block 21 clsact", 994 "$TC actions flush action mirred" 995 ] 996 }, 997 { 998 "id": "83cc", 999 "name": "Replace mirred redirect to block action with mirror to dev", 1000 "category": [ 1001 "actions", 1002 "mirred" 1003 ], 1004 "dependsOn": "$TC actions add action mirred help 2>&1 | grep -q blockid", 1005 "plugins": { 1006 "requires": "nsPlugin" 1007 }, 1008 "setup": [ 1009 [ 1010 "$TC actions flush action mirred", 1011 0, 1012 1, 1013 255 1014 ], 1015 [ 1016 "$TC qdisc add dev $DEV1 ingress_block 21 clsact", 1017 0 1018 ], 1019 [ 1020 "$TC actions add action mirred egress redirect index 1 blockid 21", 1021 0 1022 ] 1023 ], 1024 "cmdUnderTest": "$TC actions replace action mirred ingress mirror index 1 dev lo", 1025 "expExitCode": "0", 1026 "verifyCmd": "$TC -j actions get action mirred index 1", 1027 "matchJSON": [ 1028 { 1029 "total acts": 0 1030 }, 1031 { 1032 "actions": [ 1033 { 1034 "order": 1, 1035 "kind": "mirred", 1036 "mirred_action": "mirror", 1037 "direction": "ingress", 1038 "to_dev": "lo", 1039 "control_action": { 1040 "type": "pipe" 1041 }, 1042 "index": 1, 1043 "ref": 1, 1044 "bind": 0, 1045 "not_in_hw": true 1046 } 1047 ] 1048 } 1049 ], 1050 "matchCount": "1", 1051 "teardown": [ 1052 "$TC qdisc del dev $DEV1 ingress_block 21 clsact", 1053 "$TC actions flush action mirred" 1054 ] 1055 } 1056] 1057