File Index
Files and directories
Sign in
FILE

mirred.json

File preview with syntax highlighting.

linux-6.19.14/tools/testing/selftests/tc-testing/tc-tests/actions/mirred.json JSON
   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        "id": "7eba",
1058        "name": "Redirect multiport: dummy egress ->  dummy egress (Loop)",
1059        "category": [
1060            "filter",
1061            "mirred"
1062        ],
1063        "plugins": {
1064            "requires": [
1065                "nsPlugin"
1066            ]
1067        },
1068        "setup": [
1069            "$IP link set dev $DUMMY up || true",
1070            "$IP addr add 10.10.10.10/24 dev $DUMMY || true",
1071            "$TC qdisc add dev $DUMMY handle 1: root drr",
1072            "$TC filter add dev $DUMMY parent 1: protocol ip prio 10 matchall action mirred egress redirect dev $DUMMY index 1"
1073        ],
1074        "cmdUnderTest": "ping -c1 -W0.01 -I $DUMMY 10.10.10.1",
1075        "expExitCode": "1",
1076        "verifyCmd": "$TC -j -s actions get action mirred index 1",
1077        "matchJSON": [
1078            {
1079                "total acts": 0
1080            },
1081            {
1082                "actions": [
1083                    {
1084                        "order": 1,
1085                        "kind": "mirred",
1086                        "mirred_action": "redirect",
1087                        "direction": "egress",
1088                        "index": 1,
1089                        "stats": {
1090                            "packets": 1,
1091                            "overlimits": 1
1092                        },
1093                        "not_in_hw": true
1094                    }
1095                ]
1096            }
1097        ],
1098        "teardown": [
1099            "$TC qdisc del dev $DUMMY root"
1100        ]
1101    },
1102    {
1103        "id": "4ed9",
1104        "name": "Try to redirect to self on egress with clsact",
1105        "category": [
1106            "filter",
1107            "mirred"
1108        ],
1109        "plugins": {
1110            "requires": [
1111                "nsPlugin"
1112            ]
1113        },
1114        "setup": [
1115            "$IP link set dev $DUMMY up || true",
1116            "$IP addr add 10.10.10.10/24 dev $DUMMY || true",
1117            "$TC qdisc add dev $DUMMY clsact",
1118            "$TC filter add dev $DUMMY egress protocol ip prio 10 matchall action mirred egress redirect dev $DUMMY index 1"
1119        ],
1120        "cmdUnderTest": "ping -c1 -W0.01 -I $DUMMY 10.10.10.1",
1121        "expExitCode": "1",
1122        "verifyCmd": "$TC -j -s actions get action mirred index 1",
1123        "matchJSON": [
1124            {
1125                "total acts": 0
1126            },
1127            {
1128                "actions": [
1129                    {
1130                        "order": 1,
1131                        "kind": "mirred",
1132                        "mirred_action": "redirect",
1133                        "direction": "egress",
1134                        "index": 1,
1135                        "stats": {
1136                            "packets": 1,
1137                            "overlimits": 1
1138                        },
1139                        "not_in_hw": true
1140                    }
1141                ]
1142            }
1143        ],
1144        "teardown": [
1145            "$TC qdisc del dev $DUMMY clsact"
1146        ]
1147    }
1148
1149]
~/ Read-only file preview.