| [ |
| { |
| "id": "5124", |
| "name": "Add mirred mirror to egress action", |
| "category": [ |
| "actions", |
| "mirred" |
| ], |
| "plugins": { |
| "requires": "nsPlugin" |
| }, |
| "setup": [ |
| [ |
| "$TC actions flush action mirred", |
| 0, |
| 1, |
| 255 |
| ] |
| ], |
| "cmdUnderTest": "$TC actions add action mirred egress mirror index 1 dev lo", |
| "expExitCode": "0", |
| "verifyCmd": "$TC actions list action mirred", |
| "matchPattern": "action order [0-9]*: mirred \\(Egress Mirror to device lo\\).*index 1 ref", |
| "matchCount": "1", |
| "teardown": [ |
| "$TC actions flush action mirred" |
| ] |
| }, |
| { |
| "id": "6fb4", |
| "name": "Add mirred redirect to egress action", |
| "category": [ |
| "actions", |
| "mirred" |
| ], |
| "plugins": { |
| "requires": "nsPlugin" |
| }, |
| "setup": [ |
| [ |
| "$TC actions flush action mirred", |
| 0, |
| 1, |
| 255 |
| ] |
| ], |
| "cmdUnderTest": "$TC actions add action mirred egress redirect index 2 dev lo action pipe", |
| "expExitCode": "0", |
| "verifyCmd": "$TC actions list action mirred", |
| "matchPattern": "action order [0-9]*: mirred \\(Egress Redirect to device lo\\).*index 2 ref", |
| "matchCount": "1", |
| "teardown": [ |
| "$TC actions flush action mirred", |
| "$TC actions flush action gact" |
| ] |
| }, |
| { |
| "id": "ba38", |
| "name": "Get mirred actions", |
| "category": [ |
| "actions", |
| "mirred" |
| ], |
| "plugins": { |
| "requires": "nsPlugin" |
| }, |
| "setup": [ |
| [ |
| "$TC actions flush action mirred", |
| 0, |
| 1, |
| 255 |
| ], |
| "$TC actions add action mirred egress mirror index 1 dev lo", |
| "$TC actions add action mirred egress redirect index 2 dev lo" |
| ], |
| "cmdUnderTest": "$TC actions show action mirred", |
| "expExitCode": "0", |
| "verifyCmd": "$TC actions list action mirred", |
| "matchPattern": "[Mirror|Redirect] to device lo", |
| "matchCount": "2", |
| "teardown": [ |
| "$TC actions flush action mirred" |
| ] |
| }, |
| { |
| "id": "d7c0", |
| "name": "Add invalid mirred direction", |
| "category": [ |
| "actions", |
| "mirred" |
| ], |
| "plugins": { |
| "requires": "nsPlugin" |
| }, |
| "setup": [ |
| [ |
| "$TC actions flush action mirred", |
| 0, |
| 1, |
| 255 |
| ] |
| ], |
| "cmdUnderTest": "$TC actions add action mirred inbound mirror index 20 dev lo", |
| "expExitCode": "255", |
| "verifyCmd": "$TC actions list action mirred", |
| "matchPattern": "action order [0-9]*: mirred \\(.*to device lo\\).*index 20 ref", |
| "matchCount": "0", |
| "teardown": [ |
| "$TC actions flush action mirred" |
| ] |
| }, |
| { |
| "id": "e213", |
| "name": "Add invalid mirred action", |
| "category": [ |
| "actions", |
| "mirred" |
| ], |
| "plugins": { |
| "requires": "nsPlugin" |
| }, |
| "setup": [ |
| [ |
| "$TC actions flush action mirred", |
| 0, |
| 1, |
| 255 |
| ] |
| ], |
| "cmdUnderTest": "$TC actions add action mirred egress remirror index 20 dev lo", |
| "expExitCode": "255", |
| "verifyCmd": "$TC actions list action mirred", |
| "matchPattern": "action order [0-9]*: mirred \\(Egress.*to device lo\\).*index 20 ref", |
| "matchCount": "0", |
| "teardown": [ |
| "$TC actions flush action mirred" |
| ] |
| }, |
| { |
| "id": "2d89", |
| "name": "Add mirred action with invalid device", |
| "category": [ |
| "actions", |
| "mirred" |
| ], |
| "plugins": { |
| "requires": "nsPlugin" |
| }, |
| "setup": [ |
| [ |
| "$TC actions flush action mirred", |
| 0, |
| 1, |
| 255 |
| ] |
| ], |
| "cmdUnderTest": "$TC actions add action mirred egress mirror index 20 dev eltoh", |
| "expExitCode": "255", |
| "verifyCmd": "$TC actions list action mirred", |
| "matchPattern": "action order [0-9]*: mirred \\(.*to device eltoh\\).*index 20 ref", |
| "matchCount": "0", |
| "teardown": [ |
| "$TC actions flush action mirred" |
| ] |
| }, |
| { |
| "id": "300b", |
| "name": "Add mirred action with duplicate index", |
| "category": [ |
| "actions", |
| "mirred" |
| ], |
| "plugins": { |
| "requires": "nsPlugin" |
| }, |
| "setup": [ |
| [ |
| "$TC actions flush action mirred", |
| 0, |
| 1, |
| 255 |
| ], |
| "$TC actions add action mirred egress redirect index 15 dev lo" |
| ], |
| "cmdUnderTest": "$TC actions add action mirred egress mirror index 15 dev lo", |
| "expExitCode": "255", |
| "verifyCmd": "$TC actions list action mirred", |
| "matchPattern": "action order [0-9]*: mirred \\(.*to device lo\\).*index 15 ref", |
| "matchCount": "1", |
| "teardown": [ |
| "$TC actions flush action mirred" |
| ] |
| }, |
| { |
| "id": "8917", |
| "name": "Add mirred mirror action with control pass", |
| "category": [ |
| "actions", |
| "mirred" |
| ], |
| "plugins": { |
| "requires": "nsPlugin" |
| }, |
| "setup": [ |
| [ |
| "$TC actions flush action mirred", |
| 0, |
| 1, |
| 255 |
| ] |
| ], |
| "cmdUnderTest": "$TC actions add action mirred ingress mirror dev lo pass index 1", |
| "expExitCode": "0", |
| "verifyCmd": "$TC actions get action mirred index 1", |
| "matchPattern": "action order [0-9]*: mirred \\(Ingress Mirror to device lo\\) pass.*index 1 ref", |
| "matchCount": "1", |
| "teardown": [ |
| "$TC actions flush action mirred" |
| ] |
| }, |
| { |
| "id": "1054", |
| "name": "Add mirred mirror action with control pipe", |
| "category": [ |
| "actions", |
| "mirred" |
| ], |
| "plugins": { |
| "requires": "nsPlugin" |
| }, |
| "setup": [ |
| [ |
| "$TC actions flush action mirred", |
| 0, |
| 1, |
| 255 |
| ] |
| ], |
| "cmdUnderTest": "$TC actions add action mirred ingress mirror dev lo pipe index 15", |
| "expExitCode": "0", |
| "verifyCmd": "$TC actions get action mirred index 15", |
| "matchPattern": "action order [0-9]*: mirred \\(Ingress Mirror to device lo\\) pipe.*index 15 ref", |
| "matchCount": "1", |
| "teardown": [ |
| "$TC actions flush action mirred" |
| ] |
| }, |
| { |
| "id": "9887", |
| "name": "Add mirred mirror action with control continue", |
| "category": [ |
| "actions", |
| "mirred" |
| ], |
| "plugins": { |
| "requires": "nsPlugin" |
| }, |
| "setup": [ |
| [ |
| "$TC actions flush action mirred", |
| 0, |
| 1, |
| 255 |
| ] |
| ], |
| "cmdUnderTest": "$TC actions add action mirred ingress mirror dev lo continue index 15", |
| "expExitCode": "0", |
| "verifyCmd": "$TC actions get action mirred index 15", |
| "matchPattern": "action order [0-9]*: mirred \\(Ingress Mirror to device lo\\) continue.*index 15 ref", |
| "matchCount": "1", |
| "teardown": [ |
| "$TC actions flush action mirred" |
| ] |
| }, |
| { |
| "id": "e4aa", |
| "name": "Add mirred mirror action with control reclassify", |
| "category": [ |
| "actions", |
| "mirred" |
| ], |
| "plugins": { |
| "requires": "nsPlugin" |
| }, |
| "setup": [ |
| [ |
| "$TC actions flush action mirred", |
| 0, |
| 1, |
| 255 |
| ] |
| ], |
| "cmdUnderTest": "$TC actions add action mirred ingress mirror dev lo reclassify index 150", |
| "expExitCode": "0", |
| "verifyCmd": "$TC actions get action mirred index 150", |
| "matchPattern": "action order [0-9]*: mirred \\(Ingress Mirror to device lo\\) reclassify.*index 150 ref", |
| "matchCount": "1", |
| "teardown": [ |
| "$TC actions flush action mirred" |
| ] |
| }, |
| { |
| "id": "ece9", |
| "name": "Add mirred mirror action with control drop", |
| "category": [ |
| "actions", |
| "mirred" |
| ], |
| "plugins": { |
| "requires": "nsPlugin" |
| }, |
| "setup": [ |
| [ |
| "$TC actions flush action mirred", |
| 0, |
| 1, |
| 255 |
| ] |
| ], |
| "cmdUnderTest": "$TC actions add action mirred ingress mirror dev lo drop index 99", |
| "expExitCode": "0", |
| "verifyCmd": "$TC actions get action mirred index 99", |
| "matchPattern": "action order [0-9]*: mirred \\(Ingress Mirror to device lo\\) drop.*index 99 ref", |
| "matchCount": "1", |
| "teardown": [ |
| "$TC actions flush action mirred" |
| ] |
| }, |
| { |
| "id": "0031", |
| "name": "Add mirred mirror action with control jump", |
| "category": [ |
| "actions", |
| "mirred" |
| ], |
| "plugins": { |
| "requires": "nsPlugin" |
| }, |
| "setup": [ |
| [ |
| "$TC actions flush action mirred", |
| 0, |
| 1, |
| 255 |
| ] |
| ], |
| "cmdUnderTest": "$TC actions add action mirred ingress mirror dev lo jump 10 index 99", |
| "expExitCode": "0", |
| "verifyCmd": "$TC actions get action mirred index 99", |
| "matchPattern": "action order [0-9]*: mirred \\(Ingress Mirror to device lo\\) jump 10.*index 99 ref", |
| "matchCount": "1", |
| "teardown": [ |
| "$TC actions flush action mirred" |
| ] |
| }, |
| { |
| "id": "407c", |
| "name": "Add mirred mirror action with cookie", |
| "category": [ |
| "actions", |
| "mirred" |
| ], |
| "plugins": { |
| "requires": "nsPlugin" |
| }, |
| "setup": [ |
| [ |
| "$TC actions flush action mirred", |
| 0, |
| 1, |
| 255 |
| ] |
| ], |
| "cmdUnderTest": "$TC actions add action mirred ingress mirror dev lo reclassify cookie aa11bb22cc33dd44ee55", |
| "expExitCode": "0", |
| "verifyCmd": "$TC actions ls action mirred", |
| "matchPattern": "action order [0-9]*: mirred \\(Ingress Mirror to device lo\\) reclassify.*cookie aa11bb22cc33dd44ee55", |
| "matchCount": "1", |
| "teardown": [ |
| "$TC actions flush action mirred" |
| ] |
| }, |
| { |
| "id": "8b69", |
| "name": "Add mirred mirror action with index at 32-bit maximum", |
| "category": [ |
| "actions", |
| "mirred" |
| ], |
| "plugins": { |
| "requires": "nsPlugin" |
| }, |
| "setup": [ |
| [ |
| "$TC actions flush action mirred", |
| 0, |
| 1, |
| 255 |
| ] |
| ], |
| "cmdUnderTest": "$TC actions add action mirred ingress mirror dev lo pipe index 4294967295", |
| "expExitCode": "0", |
| "verifyCmd": "$TC actions get action mirred index 4294967295", |
| "matchPattern": "action order [0-9]*: mirred \\(Ingress Mirror to device lo\\) pipe.*index 4294967295", |
| "matchCount": "1", |
| "teardown": [ |
| "$TC actions flush action mirred" |
| ] |
| }, |
| { |
| "id": "3f66", |
| "name": "Add mirred mirror action with index exceeding 32-bit maximum", |
| "category": [ |
| "actions", |
| "mirred" |
| ], |
| "plugins": { |
| "requires": "nsPlugin" |
| }, |
| "setup": [ |
| [ |
| "$TC actions flush action mirred", |
| 0, |
| 1, |
| 255 |
| ] |
| ], |
| "cmdUnderTest": "$TC actions add action mirred ingress mirror dev lo pipe index 429496729555", |
| "expExitCode": "255", |
| "verifyCmd": "$TC actions get action mirred index 429496729555", |
| "matchPattern": "action order [0-9]*: mirred \\(Ingress Mirror to device lo\\) pipe.*index 429496729555", |
| "matchCount": "0", |
| "teardown": [] |
| }, |
| { |
| "id": "a70e", |
| "name": "Delete mirred mirror action", |
| "category": [ |
| "actions", |
| "mirred" |
| ], |
| "plugins": { |
| "requires": "nsPlugin" |
| }, |
| "setup": [ |
| [ |
| "$TC actions flush action mirred", |
| 0, |
| 1, |
| 255 |
| ], |
| "$TC actions add action mirred egress mirror index 5 dev lo" |
| ], |
| "cmdUnderTest": "$TC actions del action mirred index 5", |
| "expExitCode": "0", |
| "verifyCmd": "$TC actions list action mirred", |
| "matchPattern": "action order [0-9]*: mirred \\(Egress Mirror to device lo\\).*index 5 ref", |
| "matchCount": "0", |
| "teardown": [ |
| "$TC actions flush action mirred" |
| ] |
| }, |
| { |
| "id": "3fb3", |
| "name": "Delete mirred redirect action", |
| "category": [ |
| "actions", |
| "mirred" |
| ], |
| "plugins": { |
| "requires": "nsPlugin" |
| }, |
| "setup": [ |
| [ |
| "$TC actions flush action mirred", |
| 0, |
| 1, |
| 255 |
| ], |
| "$TC actions add action mirred egress redirect index 5 dev lo" |
| ], |
| "cmdUnderTest": "$TC actions del action mirred index 5", |
| "expExitCode": "0", |
| "verifyCmd": "$TC actions list action mirred", |
| "matchPattern": "action order [0-9]*: mirred \\(Egress Redirect to device lo\\).*index 5 ref", |
| "matchCount": "0", |
| "teardown": [ |
| "$TC actions flush action mirred" |
| ] |
| }, |
| { |
| "id": "2a9a", |
| "name": "Replace mirred action with invalid goto chain control", |
| "category": [ |
| "actions", |
| "mirred" |
| ], |
| "plugins": { |
| "requires": "nsPlugin" |
| }, |
| "setup": [ |
| [ |
| "$TC actions flush action mirred", |
| 0, |
| 1, |
| 255 |
| ], |
| "$TC actions add action mirred ingress mirror dev lo drop index 90" |
| ], |
| "cmdUnderTest": "$TC actions replace action mirred ingress mirror dev lo goto chain 42 index 90 cookie c1a0c1a0", |
| "expExitCode": "255", |
| "verifyCmd": "$TC actions get action mirred index 90", |
| "matchPattern": "action order [0-9]*: mirred \\(Ingress Mirror to device lo\\) drop.*index 90 ref", |
| "matchCount": "1", |
| "teardown": [ |
| "$TC actions flush action mirred" |
| ] |
| }, |
| { |
| "id": "4749", |
| "name": "Add batch of 32 mirred redirect egress actions with cookie", |
| "category": [ |
| "actions", |
| "mirred" |
| ], |
| "plugins": { |
| "requires": "nsPlugin" |
| }, |
| "setup": [ |
| [ |
| "$TC actions flush action mirred", |
| 0, |
| 1, |
| 255 |
| ] |
| ], |
| "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\"", |
| "expExitCode": "0", |
| "verifyCmd": "$TC actions list action mirred", |
| "matchPattern": "^[ \t]+index [0-9]+ ref", |
| "matchCount": "32", |
| "teardown": [ |
| "$TC actions flush action mirred" |
| ] |
| }, |
| { |
| "id": "5c69", |
| "name": "Delete batch of 32 mirred redirect egress actions", |
| "category": [ |
| "actions", |
| "mirred" |
| ], |
| "plugins": { |
| "requires": "nsPlugin" |
| }, |
| "setup": [ |
| [ |
| "$TC actions flush action mirred", |
| 0, |
| 1, |
| 255 |
| ], |
| "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\"" |
| ], |
| "cmdUnderTest": "bash -c \"for i in \\`seq 1 32\\`; do cmd=\\\"action mirred index \\$i \\\"; args=\"\\$args\\$cmd\"; done && $TC actions del \\$args\"", |
| "expExitCode": "0", |
| "verifyCmd": "$TC actions list action mirred", |
| "matchPattern": "^[ \t]+index [0-9]+ ref", |
| "matchCount": "0", |
| "teardown": [] |
| }, |
| { |
| "id": "d3c0", |
| "name": "Add batch of 32 mirred mirror ingress actions with cookie", |
| "category": [ |
| "actions", |
| "mirred" |
| ], |
| "plugins": { |
| "requires": "nsPlugin" |
| }, |
| "setup": [ |
| [ |
| "$TC actions flush action mirred", |
| 0, |
| 1, |
| 255 |
| ] |
| ], |
| "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\"", |
| "expExitCode": "0", |
| "verifyCmd": "$TC actions list action mirred", |
| "matchPattern": "^[ \t]+index [0-9]+ ref", |
| "matchCount": "32", |
| "teardown": [ |
| "$TC actions flush action mirred" |
| ] |
| }, |
| { |
| "id": "e684", |
| "name": "Delete batch of 32 mirred mirror ingress actions", |
| "category": [ |
| "actions", |
| "mirred" |
| ], |
| "plugins": { |
| "requires": "nsPlugin" |
| }, |
| "setup": [ |
| [ |
| "$TC actions flush action mirred", |
| 0, |
| 1, |
| 255 |
| ], |
| "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\"" |
| ], |
| "cmdUnderTest": "bash -c \"for i in \\`seq 1 32\\`; do cmd=\\\"action mirred index \\$i \\\"; args=\"\\$args\\$cmd\"; done && $TC actions del \\$args\"", |
| "expExitCode": "0", |
| "verifyCmd": "$TC actions list action mirred", |
| "matchPattern": "^[ \t]+index [0-9]+ ref", |
| "matchCount": "0", |
| "teardown": [] |
| }, |
| { |
| "id": "31e3", |
| "name": "Add mirred mirror to egress action with no_percpu flag", |
| "category": [ |
| "actions", |
| "mirred" |
| ], |
| "plugins": { |
| "requires": "nsPlugin" |
| }, |
| "setup": [ |
| [ |
| "$TC actions flush action mirred", |
| 0, |
| 1, |
| 255 |
| ] |
| ], |
| "cmdUnderTest": "$TC actions add action mirred egress mirror dev lo no_percpu", |
| "expExitCode": "0", |
| "verifyCmd": "$TC actions list action mirred", |
| "matchPattern": "action order [0-9]*: mirred \\(Egress Mirror to device lo\\).*no_percpu", |
| "matchCount": "1", |
| "teardown": [ |
| "$TC actions flush action mirred" |
| ] |
| }, |
| { |
| "id": "456d", |
| "name": "Add mirred mirror to egress block action", |
| "category": [ |
| "actions", |
| "mirred" |
| ], |
| "dependsOn": "$TC actions add action mirred help 2>&1 | grep -q blockid", |
| "plugins": { |
| "requires": "nsPlugin" |
| }, |
| "setup": [ |
| [ |
| "$TC actions flush action mirred", |
| 0, |
| 1, |
| 255 |
| ], |
| [ |
| "$TC qdisc add dev $DEV1 egress_block 21 clsact", |
| 0 |
| ] |
| ], |
| "cmdUnderTest": "$TC actions add action mirred egress mirror index 1 blockid 21", |
| "expExitCode": "0", |
| "verifyCmd": "$TC -j actions get action mirred index 1", |
| "matchJSON": [ |
| { |
| "total acts": 0 |
| }, |
| { |
| "actions": [ |
| { |
| "order": 1, |
| "kind": "mirred", |
| "mirred_action": "mirror", |
| "direction": "egress", |
| "to_blockid": 21, |
| "control_action": { |
| "type": "pipe" |
| }, |
| "index": 1, |
| "ref": 1, |
| "bind": 0, |
| "not_in_hw": true |
| } |
| ] |
| } |
| ], |
| "matchCount": "1", |
| "teardown": [ |
| "$TC qdisc del dev $DEV1 egress_block 21 clsact", |
| "$TC actions flush action mirred" |
| ] |
| }, |
| { |
| "id": "2358", |
| "name": "Add mirred mirror to ingress block action", |
| "category": [ |
| "actions", |
| "mirred" |
| ], |
| "dependsOn": "$TC actions add action mirred help 2>&1 | grep -q blockid", |
| "plugins": { |
| "requires": "nsPlugin" |
| }, |
| "setup": [ |
| [ |
| "$TC actions flush action mirred", |
| 0, |
| 1, |
| 255 |
| ], |
| [ |
| "$TC qdisc add dev $DEV1 ingress_block 21 clsact", |
| 0 |
| ] |
| ], |
| "cmdUnderTest": "$TC actions add action mirred ingress mirror index 1 blockid 21", |
| "expExitCode": "0", |
| "verifyCmd": "$TC -j actions get action mirred index 1", |
| "matchJSON": [ |
| { |
| "total acts": 0 |
| }, |
| { |
| "actions": [ |
| { |
| "order": 1, |
| "kind": "mirred", |
| "mirred_action": "mirror", |
| "direction": "ingress", |
| "to_blockid": 21, |
| "control_action": { |
| "type": "pipe" |
| }, |
| "index": 1, |
| "ref": 1, |
| "bind": 0, |
| "not_in_hw": true |
| } |
| ] |
| } |
| ], |
| "matchCount": "1", |
| "teardown": [ |
| "$TC qdisc del dev $DEV1 ingress_block 21 clsact", |
| "$TC actions flush action mirred" |
| ] |
| }, |
| { |
| "id": "fdb1", |
| "name": "Add mirred redirect to egress block action", |
| "category": [ |
| "actions", |
| "mirred" |
| ], |
| "dependsOn": "$TC actions add action mirred help 2>&1 | grep -q blockid", |
| "plugins": { |
| "requires": "nsPlugin" |
| }, |
| "setup": [ |
| [ |
| "$TC actions flush action mirred", |
| 0, |
| 1, |
| 255 |
| ], |
| [ |
| "$TC qdisc add dev $DEV1 ingress_block 21 clsact", |
| 0 |
| ] |
| ], |
| "cmdUnderTest": "$TC actions add action mirred egress redirect index 1 blockid 21", |
| "expExitCode": "0", |
| "verifyCmd": "$TC -j actions get action mirred index 1", |
| "matchJSON": [ |
| { |
| "total acts": 0 |
| }, |
| { |
| "actions": [ |
| { |
| "order": 1, |
| "kind": "mirred", |
| "mirred_action": "redirect", |
| "direction": "egress", |
| "to_blockid": 21, |
| "control_action": { |
| "type": "stolen" |
| }, |
| "index": 1, |
| "ref": 1, |
| "bind": 0, |
| "not_in_hw": true |
| } |
| ] |
| } |
| ], |
| "matchCount": "1", |
| "teardown": [ |
| "$TC qdisc del dev $DEV1 ingress_block 21 clsact", |
| "$TC actions flush action mirred" |
| ] |
| }, |
| { |
| "id": "20cc", |
| "name": "Add mirred redirect to ingress block action", |
| "category": [ |
| "actions", |
| "mirred" |
| ], |
| "dependsOn": "$TC actions add action mirred help 2>&1 | grep -q blockid", |
| "plugins": { |
| "requires": "nsPlugin" |
| }, |
| "setup": [ |
| [ |
| "$TC actions flush action mirred", |
| 0, |
| 1, |
| 255 |
| ], |
| [ |
| "$TC qdisc add dev $DEV1 ingress_block 21 clsact", |
| 0 |
| ] |
| ], |
| "cmdUnderTest": "$TC actions add action mirred ingress redirect index 1 blockid 21", |
| "expExitCode": "0", |
| "verifyCmd": "$TC -j actions get action mirred index 1", |
| "matchJSON": [ |
| { |
| "total acts": 0 |
| }, |
| { |
| "actions": [ |
| { |
| "order": 1, |
| "kind": "mirred", |
| "mirred_action": "redirect", |
| "direction": "ingress", |
| "to_blockid": 21, |
| "control_action": { |
| "type": "stolen" |
| }, |
| "index": 1, |
| "ref": 1, |
| "bind": 0, |
| "not_in_hw": true |
| } |
| ] |
| } |
| ], |
| "matchCount": "1", |
| "teardown": [ |
| "$TC qdisc del dev $DEV1 ingress_block 21 clsact", |
| "$TC actions flush action mirred" |
| ] |
| }, |
| { |
| "id": "e739", |
| "name": "Try to add mirred action with both dev and block", |
| "category": [ |
| "actions", |
| "mirred" |
| ], |
| "dependsOn": "$TC actions add action mirred help 2>&1 | grep -q blockid", |
| "plugins": { |
| "requires": "nsPlugin" |
| }, |
| "setup": [ |
| [ |
| "$TC actions flush action mirred", |
| 0, |
| 1, |
| 255 |
| ], |
| [ |
| "$TC qdisc add dev $DEV1 ingress_block 21 clsact", |
| 0 |
| ] |
| ], |
| "cmdUnderTest": "$TC actions add action mirred ingress redirect index 1 blockid 21 dev $DEV1", |
| "expExitCode": "255", |
| "verifyCmd": "$TC -j actions list action mirred", |
| "matchJSON": [], |
| "matchCount": "1", |
| "teardown": [ |
| "$TC qdisc del dev $DEV1 ingress_block 21 clsact", |
| "$TC actions flush action mirred" |
| ] |
| }, |
| { |
| "id": "2f47", |
| "name": "Try to add mirred action without specifying neither dev nor block", |
| "category": [ |
| "actions", |
| "mirred" |
| ], |
| "plugins": { |
| "requires": "nsPlugin" |
| }, |
| "setup": [ |
| [ |
| "$TC actions flush action mirred", |
| 0, |
| 1, |
| 255 |
| ], |
| [ |
| "$TC qdisc add dev $DEV1 ingress_block 21 clsact", |
| 0 |
| ] |
| ], |
| "cmdUnderTest": "$TC actions add action mirred ingress redirect index 1", |
| "expExitCode": "255", |
| "verifyCmd": "$TC -j actions list action mirred", |
| "matchJSON": [], |
| "matchCount": "1", |
| "teardown": [ |
| "$TC qdisc del dev $DEV1 ingress_block 21 clsact", |
| "$TC actions flush action mirred" |
| ] |
| }, |
| { |
| "id": "3188", |
| "name": "Replace mirred redirect to dev action with redirect to block", |
| "category": [ |
| "actions", |
| "mirred" |
| ], |
| "dependsOn": "$TC actions add action mirred help 2>&1 | grep -q blockid", |
| "plugins": { |
| "requires": "nsPlugin" |
| }, |
| "setup": [ |
| [ |
| "$TC actions flush action mirred", |
| 0, |
| 1, |
| 255 |
| ], |
| [ |
| "$TC qdisc add dev $DEV1 ingress_block 21 clsact", |
| 0 |
| ], |
| [ |
| "$TC actions add action mirred ingress redirect index 1 dev $DEV1", |
| 0 |
| ] |
| ], |
| "cmdUnderTest": "$TC actions replace action mirred egress redirect index 1 blockid 21", |
| "expExitCode": "0", |
| "verifyCmd": "$TC -j actions get action mirred index 1", |
| "matchJSON": [ |
| { |
| "total acts": 0 |
| }, |
| { |
| "actions": [ |
| { |
| "order": 1, |
| "kind": "mirred", |
| "mirred_action": "redirect", |
| "direction": "egress", |
| "to_blockid": 21, |
| "control_action": { |
| "type": "stolen" |
| }, |
| "index": 1, |
| "ref": 1, |
| "bind": 0, |
| "not_in_hw": true |
| } |
| ] |
| } |
| ], |
| "matchCount": "1", |
| "teardown": [ |
| "$TC qdisc del dev $DEV1 ingress_block 21 clsact", |
| "$TC actions flush action mirred" |
| ] |
| }, |
| { |
| "id": "83cc", |
| "name": "Replace mirred redirect to block action with mirror to dev", |
| "category": [ |
| "actions", |
| "mirred" |
| ], |
| "dependsOn": "$TC actions add action mirred help 2>&1 | grep -q blockid", |
| "plugins": { |
| "requires": "nsPlugin" |
| }, |
| "setup": [ |
| [ |
| "$TC actions flush action mirred", |
| 0, |
| 1, |
| 255 |
| ], |
| [ |
| "$TC qdisc add dev $DEV1 ingress_block 21 clsact", |
| 0 |
| ], |
| [ |
| "$TC actions add action mirred egress redirect index 1 blockid 21", |
| 0 |
| ] |
| ], |
| "cmdUnderTest": "$TC actions replace action mirred ingress mirror index 1 dev lo", |
| "expExitCode": "0", |
| "verifyCmd": "$TC -j actions get action mirred index 1", |
| "matchJSON": [ |
| { |
| "total acts": 0 |
| }, |
| { |
| "actions": [ |
| { |
| "order": 1, |
| "kind": "mirred", |
| "mirred_action": "mirror", |
| "direction": "ingress", |
| "to_dev": "lo", |
| "control_action": { |
| "type": "pipe" |
| }, |
| "index": 1, |
| "ref": 1, |
| "bind": 0, |
| "not_in_hw": true |
| } |
| ] |
| } |
| ], |
| "matchCount": "1", |
| "teardown": [ |
| "$TC qdisc del dev $DEV1 ingress_block 21 clsact", |
| "$TC actions flush action mirred" |
| ] |
| } |
| ] |