diff options
author | Jiri Pirko <jiri@mellanox.com> | 2018-07-23 10:24:06 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-07-24 06:44:13 +0300 |
commit | 2d73c8871fae2da72f4717c15d4256ec6ba208c4 (patch) | |
tree | de7f50031973a3f30aa105c83d71134d7ee3949c /tools/testing | |
parent | 7f333cbf2b5bb48045e4f31de1c33fb701ffa45a (diff) | |
download | linux-2d73c8871fae2da72f4717c15d4256ec6ba208c4.tar.xz |
selftests: forwarding: add tests for TC chains creation adn destruction
Add basic sanity tests for TC chains.
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'tools/testing')
-rw-r--r-- | tools/testing/selftests/net/forwarding/lib.sh | 9 | ||||
-rwxr-xr-x | tools/testing/selftests/net/forwarding/tc_chains.sh | 23 |
2 files changed, 31 insertions, 1 deletions
diff --git a/tools/testing/selftests/net/forwarding/lib.sh b/tools/testing/selftests/net/forwarding/lib.sh index ec94395a54a7..158d59ffee40 100644 --- a/tools/testing/selftests/net/forwarding/lib.sh +++ b/tools/testing/selftests/net/forwarding/lib.sh @@ -44,6 +44,15 @@ check_tc_shblock_support() fi } +check_tc_chain_support() +{ + tc help 2>&1|grep chain &> /dev/null + if [[ $? -ne 0 ]]; then + echo "SKIP: iproute2 too old; tc is missing chain support" + exit 1 + fi +} + if [[ "$(id -u)" -ne 0 ]]; then echo "SKIP: need root privileges" exit 0 diff --git a/tools/testing/selftests/net/forwarding/tc_chains.sh b/tools/testing/selftests/net/forwarding/tc_chains.sh index d2c783e94df3..2730887a3b3a 100755 --- a/tools/testing/selftests/net/forwarding/tc_chains.sh +++ b/tools/testing/selftests/net/forwarding/tc_chains.sh @@ -1,7 +1,7 @@ #!/bin/bash # SPDX-License-Identifier: GPL-2.0 -ALL_TESTS="unreachable_chain_test gact_goto_chain_test" +ALL_TESTS="unreachable_chain_test gact_goto_chain_test create_destroy_chain" NUM_NETIFS=2 source tc_common.sh source lib.sh @@ -80,6 +80,25 @@ gact_goto_chain_test() log_test "gact goto chain ($tcflags)" } +create_destroy_chain() +{ + RET=0 + + tc chain add dev $h2 ingress + check_err $? "Failed to create default chain" + + tc chain add dev $h2 ingress chain 1 + check_err $? "Failed to create chain 1" + + tc chain del dev $h2 ingress + check_err $? "Failed to destroy default chain" + + tc chain del dev $h2 ingress chain 1 + check_err $? "Failed to destroy chain 1" + + log_test "create destroy chain" +} + setup_prepare() { h1=${NETIFS[p1]} @@ -103,6 +122,8 @@ cleanup() vrf_cleanup } +check_tc_chain_support + trap cleanup EXIT setup_prepare |