Message ID | 20240202020726.529170-1-victor@mojatatu.com (mailing list archive) |
---|---|
State | Accepted |
Commit | f51470c5c4a08d3e69f7c7891633b960aa6fe678 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net-next] selftests: tc-testing: add mirred to block tdc tests | expand |
On Thu, 1 Feb 2024 23:07:26 -0300 Victor Nogueira wrote: > Add 8 new mirred tdc tests that target mirred to block: > > - Add mirred mirror to egress block action > - Add mirred mirror to ingress block action > - Add mirred redirect to egress block action > - Add mirred redirect to ingress block action > - Try to add mirred action with both dev and block > - Try to add mirred action without specifying neither dev nor block > - Replace mirred redirect to dev action with redirect to block > - Replace mirred redirect to block action with mirror to dev I think this breaks the TDC runner. I'll toss it from patchwork, I can revive it when TDC is fixed (or you tell me that I'm wrong).
On 03/02/2024 02:00, Jakub Kicinski wrote: > On Thu, 1 Feb 2024 23:07:26 -0300 Victor Nogueira wrote: >> Add 8 new mirred tdc tests that target mirred to block: >> >> - Add mirred mirror to egress block action >> - Add mirred mirror to ingress block action >> - Add mirred redirect to egress block action >> - Add mirred redirect to ingress block action >> - Try to add mirred action with both dev and block >> - Try to add mirred action without specifying neither dev nor block >> - Replace mirred redirect to dev action with redirect to block >> - Replace mirred redirect to block action with mirror to dev > > I think this breaks the TDC runner. > I'll toss it from patchwork, I can revive it when TDC is fixed (or you > tell me that I'm wrong). Oh, I think you caught an issue with the process. The executor was using the release iproute2 instead of iproute2-next, which I tested on. I'm wondering if other tests in nipa are using iproute2-next or release iproute2. The issue only arises if you have patches in net-next that are not in the release iproute2. We will fix the executor shortly. cheers, Victor
On Sat, 3 Feb 2024 17:15:32 -0300 Victor Nogueira wrote: > > I think this breaks the TDC runner. > > I'll toss it from patchwork, I can revive it when TDC is fixed (or you > > tell me that I'm wrong). > > Oh, I think you caught an issue with the process. > The executor was using the release iproute2 instead of iproute2-next, > which I tested on. I'm wondering if other tests in nipa are using > iproute2-next or release iproute2. The issue only arises if you have > patches in net-next that are not in the release iproute2. We will fix > the executor shortly. We merge iproute2 into iprout2-next locally and build the combined thing, FWIW. I haven't solved the problem of pending patches, yet, tho :( If the iproute2-next patches are just on the list but not merged the new tests will fail.
On 04/02/2024 13:33, Jakub Kicinski wrote: > On Sat, 3 Feb 2024 17:15:32 -0300 Victor Nogueira wrote: >>> I think this breaks the TDC runner. >>> I'll toss it from patchwork, I can revive it when TDC is fixed (or you >>> tell me that I'm wrong). >> >> Oh, I think you caught an issue with the process. >> The executor was using the release iproute2 instead of iproute2-next, >> which I tested on. I'm wondering if other tests in nipa are using >> iproute2-next or release iproute2. The issue only arises if you have >> patches in net-next that are not in the release iproute2. We will fix >> the executor shortly. > > We merge iproute2 into iprout2-next locally and build the combined > thing, FWIW. I haven't solved the problem of pending patches, yet, > tho :( If the iproute2-next patches are just on the list but not > merged the new tests will fail. In this case both were merged into -next trees. It's just the executor that needed fixing. For features merged into net-next but not yet in iproute2-next perhaps nipa can be used to catch such issues? Should I resend the patch now that the executor is fixed?
On Mon, 5 Feb 2024 13:28:22 -0300 Victor Nogueira wrote: > > We merge iproute2 into iprout2-next locally and build the combined > > thing, FWIW. I haven't solved the problem of pending patches, yet, > > tho :( If the iproute2-next patches are just on the list but not > > merged the new tests will fail. > > In this case both were merged into -next trees. It's just the executor > that needed fixing. > For features merged into net-next but not yet in iproute2-next perhaps > nipa can be used to catch such issues? > Should I resend the patch now that the executor is fixed? Sorry for the delay, I spent too much time migrating workers yesterday to look at the list. No need to resend, I'll revive it in patchwork. At least for now contest keeps retesting the patches so we'll see in ~4h if all is good now. About catching iproute - yes, we could so something similar to what we do with netdev patches. Gather everything up from the list. Do basic sanity checking of the patches. And make a "testing" version of iproute2. A matter of having the time to do it :( Maybe the iproute2 maintainers would be willing to help?... :)
Hello: This patch was applied to netdev/net-next.git (main) by Jakub Kicinski <kuba@kernel.org>: On Thu, 1 Feb 2024 23:07:26 -0300 you wrote: > Add 8 new mirred tdc tests that target mirred to block: > > - Add mirred mirror to egress block action > - Add mirred mirror to ingress block action > - Add mirred redirect to egress block action > - Add mirred redirect to ingress block action > - Try to add mirred action with both dev and block > - Try to add mirred action without specifying neither dev nor block > - Replace mirred redirect to dev action with redirect to block > - Replace mirred redirect to block action with mirror to dev > > [...] Here is the summary with links: - [net-next] selftests: tc-testing: add mirred to block tdc tests https://git.kernel.org/netdev/net-next/c/f51470c5c4a0 You are awesome, thank you!
LKFT tests running kselftests tc-testing noticing following run time errors on Linux next master branch. Reported-by: Linux Kernel Functional Testing <lkft@linaro.org> This is started from Linux next-20240212 with following commit, f51470c5c4a0 selftests: tc-testing: add mirred to block tdc tests Run log errors: ---------- # Test e684: Delete batch of 32 mirred mirror ingress actions # multiprocessing.pool.RemoteTraceback: # """ # Traceback (most recent call last): # File "/opt/kselftests/default-in-kernel/tc-testing/./tdc.py", line 142, in call_pre_case # pgn_inst.pre_case(caseinfo, test_skip) # File "/opt/kselftests/default-in-kernel/tc-testing/plugin-lib/nsPlugin.py", line 63, in pre_case # self.prepare_test(test) # File "/opt/kselftests/default-in-kernel/tc-testing/plugin-lib/nsPlugin.py", line 36, in prepare_test # self._nl_ns_create() # File "/opt/kselftests/default-in-kernel/tc-testing/plugin-lib/nsPlugin.py", line 130, in _nl_ns_create # ip.link('add', ifname=dev1, kind='veth', peer={'ifname': dev0, 'net_ns_fd':'/proc/1/ns/net'}) # File "/usr/lib/python3/dist-packages/pyroute2/iproute/linux.py", line 1593, in link # ret = self.nlm_request(msg, msg_type=msg_type, msg_flags=msg_flags) # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ # File "/usr/lib/python3/dist-packages/pyroute2/netlink/nlsocket.py", line 403, in nlm_request # return tuple(self._genlm_request(*argv, **kwarg)) # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ # File "/usr/lib/python3/dist-packages/pyroute2/netlink/nlsocket.py", line 985, in nlm_request # for msg in self.get( # ^^^^^^^^^ # File "/usr/lib/python3/dist-packages/pyroute2/netlink/nlsocket.py", line 406, in get # return tuple(self._genlm_get(*argv, **kwarg)) # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ # File "/usr/lib/python3/dist-packages/pyroute2/netlink/nlsocket.py", line 770, in get # raise msg['header']['error'] # pyroute2.netlink.exceptions.NetlinkError: (34, 'Numerical result out of range') # # During handling of the above exception, another exception occurred: # # Traceback (most recent call last): # File "/usr/lib/python3.11/multiprocessing/pool.py", line 125, in worker # result = (True, func(*args, **kwds)) # ^^^^^^^^^^^^^^^^^^^ # File "/usr/lib/python3.11/multiprocessing/pool.py", line 48, in mapstar # return list(map(*args)) # ^^^^^^^^^^^^^^^^ # File "/opt/kselftests/default-in-kernel/tc-testing/./tdc.py", line 602, in __mp_runner # (_, tsr) = test_runner(mp_pm, mp_args, tests) # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ # File "/opt/kselftests/default-in-kernel/tc-testing/./tdc.py", line 536, in test_runner # res = run_one_test(pm, args, index, tidx) # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ # File "/opt/kselftests/default-in-kernel/tc-testing/./tdc.py", line 419, in run_one_test # pm.call_pre_case(tidx) # File "/opt/kselftests/default-in-kernel/tc-testing/./tdc.py", line 146, in call_pre_case # print('test_ordinal is {}'.format(test_ordinal)) # ^^^^^^^^^^^^ # NameError: name 'test_ordinal' is not defined # """ # # The above exception was the direct cause of the following exception: # # Traceback (most recent call last): # File "/opt/kselftests/default-in-kernel/tc-testing/./tdc.py", line 1028, in <module> # main() # File "/opt/kselftests/default-in-kernel/tc-testing/./tdc.py", line 1022, in main # set_operation_mode(pm, parser, args, remaining) # File "/opt/kselftests/default-in-kernel/tc-testing/./tdc.py", line 964, in set_operation_mode # catresults = test_runner_mp(pm, args, alltests) # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ # File "/opt/kselftests/default-in-kernel/tc-testing/./tdc.py", line 624, in test_runner_mp # pres = p.map(__mp_runner, batches) # ^^^^^^^^^^^^^^^^^^^^^^^^^^^ # File "/usr/lib/python3.11/multiprocessing/pool.py", line 367, in map # return self._map_async(func, iterable, mapstar, chunksize).get() # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ # File "/usr/lib/python3.11/multiprocessing/pool.py", line 774, in get # raise self._value # NameError: name 'test_ordinal' is not defined not ok 1 selftests: tc-testing: tdc.sh # exit=1 -- Linaro LKFT https://lkft.linaro.org
On 28/02/2024 13:49, Naresh Kamboju wrote: > LKFT tests running kselftests tc-testing noticing following run time errors > on Linux next master branch. > > Reported-by: Linux Kernel Functional Testing <lkft@linaro.org> > > This is started from Linux next-20240212 with following commit, > > f51470c5c4a0 selftests: tc-testing: add mirred to block tdc tests > > Run log errors: > ---------- > # Test e684: Delete batch of 32 mirred mirror ingress actions > # multiprocessing.pool.RemoteTraceback: > # """ > # Traceback (most recent call last): > # File "/opt/kselftests/default-in-kernel/tc-testing/./tdc.py", line 142, in call_pre_case > # pgn_inst.pre_case(caseinfo, test_skip) > # File "/opt/kselftests/default-in-kernel/tc-testing/plugin-lib/nsPlugin.py", line 63, in pre_case > # self.prepare_test(test) > # File "/opt/kselftests/default-in-kernel/tc-testing/plugin-lib/nsPlugin.py", line 36, in prepare_test > # self._nl_ns_create() > # File "/opt/kselftests/default-in-kernel/tc-testing/plugin-lib/nsPlugin.py", line 130, in _nl_ns_create > # ip.link('add', ifname=dev1, kind='veth', peer={'ifname': dev0, 'net_ns_fd':'/proc/1/ns/net'}) > # File "/usr/lib/python3/dist-packages/pyroute2/iproute/linux.py", line 1593, in link > # ret = self.nlm_request(msg, msg_type=msg_type, msg_flags=msg_flags) > # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > # File "/usr/lib/python3/dist-packages/pyroute2/netlink/nlsocket.py", line 403, in nlm_request > # return tuple(self._genlm_request(*argv, **kwarg)) > # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > # File "/usr/lib/python3/dist-packages/pyroute2/netlink/nlsocket.py", line 985, in nlm_request > # for msg in self.get( > # ^^^^^^^^^ > # File "/usr/lib/python3/dist-packages/pyroute2/netlink/nlsocket.py", line 406, in get > # return tuple(self._genlm_get(*argv, **kwarg)) > # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > # File "/usr/lib/python3/dist-packages/pyroute2/netlink/nlsocket.py", line 770, in get > # raise msg['header']['error'] > # pyroute2.netlink.exceptions.NetlinkError: (34, 'Numerical result out of range') It looks like the ip link add command is returning ERANGE. We have tested this in NIPA for sometime with 64-bit and this is the first time we are seeing this: https://github.com/p4tc-dev/tc-executor/tree/storage/artifacts/485544 Could you give us more information on how to reproduce this? Note: This doesn't seem to be related to the patches in question. Seems to be a generic thing with nsPlugin itself. Thanks, Victor
Hi Victor, On Wed, 28 Feb 2024 at 23:05, Victor Nogueira <victor@mojatatu.com> wrote: > > On 28/02/2024 13:49, Naresh Kamboju wrote: > > LKFT tests running kselftests tc-testing noticing following run time errors > > on Linux next master branch. > > > > Reported-by: Linux Kernel Functional Testing <lkft@linaro.org> > > > > This is started from Linux next-20240212 with following commit, > > > > f51470c5c4a0 selftests: tc-testing: add mirred to block tdc tests > > > > Run log errors: > > ---------- > > # Test e684: Delete batch of 32 mirred mirror ingress actions > > # multiprocessing.pool.RemoteTraceback: > > # """ > > # Traceback (most recent call last): > > # File "/opt/kselftests/default-in-kernel/tc-testing/./tdc.py", line 142, in call_pre_case > > # pgn_inst.pre_case(caseinfo, test_skip) > > # File "/opt/kselftests/default-in-kernel/tc-testing/plugin-lib/nsPlugin.py", line 63, in pre_case > > # self.prepare_test(test) > > # File "/opt/kselftests/default-in-kernel/tc-testing/plugin-lib/nsPlugin.py", line 36, in prepare_test > > # self._nl_ns_create() > > # File "/opt/kselftests/default-in-kernel/tc-testing/plugin-lib/nsPlugin.py", line 130, in _nl_ns_create > > # ip.link('add', ifname=dev1, kind='veth', peer={'ifname': dev0, 'net_ns_fd':'/proc/1/ns/net'}) > > # File "/usr/lib/python3/dist-packages/pyroute2/iproute/linux.py", line 1593, in link > > # ret = self.nlm_request(msg, msg_type=msg_type, msg_flags=msg_flags) > > # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > # File "/usr/lib/python3/dist-packages/pyroute2/netlink/nlsocket.py", line 403, in nlm_request > > # return tuple(self._genlm_request(*argv, **kwarg)) > > # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > # File "/usr/lib/python3/dist-packages/pyroute2/netlink/nlsocket.py", line 985, in nlm_request > > # for msg in self.get( > > # ^^^^^^^^^ > > # File "/usr/lib/python3/dist-packages/pyroute2/netlink/nlsocket.py", line 406, in get > > # return tuple(self._genlm_get(*argv, **kwarg)) > > # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > # File "/usr/lib/python3/dist-packages/pyroute2/netlink/nlsocket.py", line 770, in get > > # raise msg['header']['error'] > > # pyroute2.netlink.exceptions.NetlinkError: (34, 'Numerical result out of range') > > It looks like the ip link add command is returning ERANGE. > We have tested this in NIPA for sometime with 64-bit and this is the > first time > we are seeing this: > > https://github.com/p4tc-dev/tc-executor/tree/storage/artifacts/485544 > > Could you give us more information on how to reproduce this? Steps to reproduce: ------------- # To install tuxrun to your home directory at ~/.local/bin: # pip3 install -U \ --user tuxrun==0.62.2 # # Or install a deb/rpm depending on the running distribution # See https://tuxmake.org/install-deb/ or # https://tuxmake.org/install-rpm/ # # See https://tuxrun.org/ for complete documentation. # # Please follow the additional instructions if the tests are related to FVP: # https://tuxrun.org/run-fvp/ # tuxrun \ --runtime podman \ --device qemu-x86_64 \ --boot-args rw \ --kernel https://storage.tuxsuite.com/public/linaro/lkft/builds/2czN3tP1CXUNgatiVGk7ANylgIu/bzImage \ --rootfs https://storage.tuxboot.com/debian/bookworm/amd64/rootfs.ext4.xz \ --modules https://storage.tuxsuite.com/public/linaro/lkft/builds/2czN3tP1CXUNgatiVGk7ANylgIu/modules.tar.xz \ --parameters SKIPFILE=skipfile-lkft.yaml \ --parameters KSELFTEST=https://storage.tuxsuite.com/public/linaro/lkft/builds/2czN3tP1CXUNgatiVGk7ANylgIu/kselftest.tar.xz \ --image docker.io/linaro/tuxrun-dispatcher:v0.62.2 \ --tests kselftest-tc-testing \ --timeouts boot=15 kselftest-tc-testing=20 Links, - https://tuxapi.tuxsuite.com/v1/groups/linaro/projects/lkft/tests/2czN6g0MY3kgnwGYHadaUQHfPOU - https://tuxapi.tuxsuite.com/v1/groups/linaro/projects/lkft/tests/2czN6g0MY3kgnwGYHadaUQHfPOU/reproducer > > Note: This doesn't seem to be related to the patches in question. > Seems to be a generic thing with nsPlugin itself. > > Thanks, > Victor
diff --git a/tools/testing/selftests/tc-testing/tc-tests/actions/mirred.json b/tools/testing/selftests/tc-testing/tc-tests/actions/mirred.json index b53d12909962..795cf1ce8af0 100644 --- a/tools/testing/selftests/tc-testing/tc-tests/actions/mirred.json +++ b/tools/testing/selftests/tc-testing/tc-tests/actions/mirred.json @@ -649,5 +649,401 @@ "teardown": [ "$TC actions flush action mirred" ] + }, + { + "id": "456d", + "name": "Add mirred mirror to egress block action", + "category": [ + "actions", + "mirred" + ], + "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" + ], + "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" + ], + "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" + ], + "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" + ], + "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" + ], + "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" + ], + "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" + ] } ]