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