84 lines · bash
1#!/bin/bash2# SPDX-License-Identifier: GPL-2.03 4ALL_TESTS="5 ping_ipv46 ecn_test7 ecn_test_perband8 ecn_nodrop_test9 red_test10 mc_backlog_test11 red_mirror_test12"13source sch_red_core.sh14 15BACKLOG=30000016 17install_qdisc()18{19 local -a args=("$@")20 21 tc qdisc add dev $swp3 parent 1: handle 108: red \22 limit 1000000 min $BACKLOG max $((BACKLOG + 1)) \23 probability 1.0 avpkt 8000 burst 38 "${args[@]}"24 sleep 125}26 27uninstall_qdisc()28{29 tc qdisc del dev $swp3 parent 1:30}31 32ecn_test()33{34 install_qdisc ecn35 do_ecn_test 10 $BACKLOG36 uninstall_qdisc37}38 39ecn_test_perband()40{41 install_qdisc ecn42 do_ecn_test_perband 10 $BACKLOG43 uninstall_qdisc44}45 46ecn_nodrop_test()47{48 install_qdisc ecn nodrop49 do_ecn_nodrop_test 10 $BACKLOG50 uninstall_qdisc51}52 53red_test()54{55 install_qdisc56 do_red_test 10 $BACKLOG57 uninstall_qdisc58}59 60mc_backlog_test()61{62 install_qdisc63 # Note that the backlog value here does not correspond to RED64 # configuration, but is arbitrary.65 do_mc_backlog_test 10 $BACKLOG66 uninstall_qdisc67}68 69red_mirror_test()70{71 install_qdisc qevent early_drop block 1072 do_drop_mirror_test 10 $BACKLOG73 uninstall_qdisc74}75 76bail_on_lldpad "configure DCB" "configure Qdiscs"77 78trap cleanup EXIT79setup_prepare80setup_wait81tests_run82 83exit $EXIT_STATUS84