xref: /linux/tools/testing/selftests/drivers/net/mlxsw/sch_red_root.sh (revision c771600c6af14749609b49565ffb4cac2959710d)
13de611b5SPetr Machata#!/bin/bash
23de611b5SPetr Machata# SPDX-License-Identifier: GPL-2.0
33de611b5SPetr Machata
43de611b5SPetr MachataALL_TESTS="
53de611b5SPetr Machata	ping_ipv4
63de611b5SPetr Machata	ecn_test
7bf862732SPetr Machata	ecn_test_perband
863f3c1d0SPetr Machata	ecn_nodrop_test
93de611b5SPetr Machata	red_test
103de611b5SPetr Machata	mc_backlog_test
111add9212SPetr Machata	red_mirror_test
123de611b5SPetr Machata"
133de611b5SPetr Machatasource sch_red_core.sh
143de611b5SPetr Machata
153de611b5SPetr MachataBACKLOG=300000
163de611b5SPetr Machata
173de611b5SPetr Machatainstall_qdisc()
183de611b5SPetr Machata{
193de611b5SPetr Machata	local -a args=("$@")
203de611b5SPetr Machata
2161a00b19SAmit Cohen	tc qdisc add dev $swp3 parent 1: handle 108: red \
223de611b5SPetr Machata	   limit 1000000 min $BACKLOG max $((BACKLOG + 1)) \
233de611b5SPetr Machata	   probability 1.0 avpkt 8000 burst 38 "${args[@]}"
243de611b5SPetr Machata	sleep 1
253de611b5SPetr Machata}
263de611b5SPetr Machata
273de611b5SPetr Machatauninstall_qdisc()
283de611b5SPetr Machata{
2961a00b19SAmit Cohen	tc qdisc del dev $swp3 parent 1:
303de611b5SPetr Machata}
313de611b5SPetr Machata
323de611b5SPetr Machataecn_test()
333de611b5SPetr Machata{
343de611b5SPetr Machata	install_qdisc ecn
35*7f46615dSPetr Machata	defer uninstall_qdisc
36*7f46615dSPetr Machata
373de611b5SPetr Machata	do_ecn_test 10 $BACKLOG
383de611b5SPetr Machata}
393de611b5SPetr Machata
40bf862732SPetr Machataecn_test_perband()
41bf862732SPetr Machata{
42bf862732SPetr Machata	install_qdisc ecn
43*7f46615dSPetr Machata	defer uninstall_qdisc
44*7f46615dSPetr Machata
45bf862732SPetr Machata	do_ecn_test_perband 10 $BACKLOG
46bf862732SPetr Machata}
47bf862732SPetr Machata
4863f3c1d0SPetr Machataecn_nodrop_test()
4963f3c1d0SPetr Machata{
5063f3c1d0SPetr Machata	install_qdisc ecn nodrop
51*7f46615dSPetr Machata	defer uninstall_qdisc
52*7f46615dSPetr Machata
5363f3c1d0SPetr Machata	do_ecn_nodrop_test 10 $BACKLOG
5463f3c1d0SPetr Machata}
5563f3c1d0SPetr Machata
563de611b5SPetr Machatared_test()
573de611b5SPetr Machata{
583de611b5SPetr Machata	install_qdisc
59*7f46615dSPetr Machata	defer uninstall_qdisc
60*7f46615dSPetr Machata
613de611b5SPetr Machata	do_red_test 10 $BACKLOG
623de611b5SPetr Machata}
633de611b5SPetr Machata
643de611b5SPetr Machatamc_backlog_test()
653de611b5SPetr Machata{
663de611b5SPetr Machata	install_qdisc
67*7f46615dSPetr Machata	defer uninstall_qdisc
68*7f46615dSPetr Machata
693de611b5SPetr Machata	# Note that the backlog value here does not correspond to RED
703de611b5SPetr Machata	# configuration, but is arbitrary.
713de611b5SPetr Machata	do_mc_backlog_test 10 $BACKLOG
723de611b5SPetr Machata}
733de611b5SPetr Machata
741add9212SPetr Machatared_mirror_test()
751add9212SPetr Machata{
761add9212SPetr Machata	install_qdisc qevent early_drop block 10
77*7f46615dSPetr Machata	defer uninstall_qdisc
78*7f46615dSPetr Machata
791add9212SPetr Machata	do_drop_mirror_test 10 $BACKLOG
801add9212SPetr Machata}
811add9212SPetr Machata
828fcac792SPetr Machatabail_on_lldpad "configure DCB" "configure Qdiscs"
833de611b5SPetr Machata
8418d2c710SPetr Machatatrap cleanup EXIT
853de611b5SPetr Machatasetup_prepare
863de611b5SPetr Machatasetup_wait
873de611b5SPetr Machatatests_run
883de611b5SPetr Machata
893de611b5SPetr Machataexit $EXIT_STATUS
90