selftests: mlxsw: Add a TBF selftest

Add a test that runs traffic across a port throttled with TBF. The test
checks that the observed throughput is within +-5% from the installed
shaper.

To allow checking both the software datapath and the offloaded one, make
the test suitable for inclusion from driver-specific wrapper. Introduce
such wrappers for mlxsw.

Signed-off-by: Petr Machata <petrm@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Petr Machata
2020-01-24 15:23:18 +02:00
committed by David S. Miller
parent c143139b7f
commit e814c58d45
8 changed files with 344 additions and 0 deletions
+33
View File
@@ -0,0 +1,33 @@
#!/bin/bash
# SPDX-License-Identifier: GPL-2.0
ALL_TESTS="
ping_ipv4
tbf_test
"
: ${lib_dir:=.}
source $lib_dir/sch_tbf_core.sh
tbf_test_one()
{
local bs=$1; shift
tc qdisc replace dev $swp2 root handle 108: tbf \
rate 400Mbit burst $bs limit 1M
do_tbf_test 10 400 $bs
}
tbf_test()
{
tbf_test_one 128K
tc qdisc del dev $swp2 root
}
trap cleanup EXIT
setup_prepare
setup_wait
tests_run
exit $EXIT_STATUS