Commit 2d73c887 authored by Jiri Pirko's avatar Jiri Pirko Committed by David S. Miller

selftests: forwarding: add tests for TC chains creation adn destruction

Add basic sanity tests for TC chains.
Signed-off-by: default avatarJiri Pirko <jiri@mellanox.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 7f333cbf
...@@ -44,6 +44,15 @@ check_tc_shblock_support() ...@@ -44,6 +44,15 @@ check_tc_shblock_support()
fi 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 if [[ "$(id -u)" -ne 0 ]]; then
echo "SKIP: need root privileges" echo "SKIP: need root privileges"
exit 0 exit 0
......
#!/bin/bash #!/bin/bash
# SPDX-License-Identifier: GPL-2.0 # 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 NUM_NETIFS=2
source tc_common.sh source tc_common.sh
source lib.sh source lib.sh
...@@ -80,6 +80,25 @@ gact_goto_chain_test() ...@@ -80,6 +80,25 @@ gact_goto_chain_test()
log_test "gact goto chain ($tcflags)" 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() setup_prepare()
{ {
h1=${NETIFS[p1]} h1=${NETIFS[p1]}
...@@ -103,6 +122,8 @@ cleanup() ...@@ -103,6 +122,8 @@ cleanup()
vrf_cleanup vrf_cleanup
} }
check_tc_chain_support
trap cleanup EXIT trap cleanup EXIT
setup_prepare setup_prepare
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment