1#!/bin/bash 2# SPDX-License-Identifier: GPL-2.0 3 4ALL_TESTS=" 5 ping_ipv4 6 ecn_test 7 ecn_test_perband 8 ecn_nodrop_test 9 red_test 10 mc_backlog_test 11 red_mirror_test 12" 13source sch_red_core.sh 14 15BACKLOG=300000 16 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 1 25} 26 27uninstall_qdisc() 28{ 29 tc qdisc del dev $swp3 parent 1: 30} 31 32ecn_test() 33{ 34 install_qdisc ecn 35 defer uninstall_qdisc 36 37 do_ecn_test 10 $BACKLOG 38} 39 40ecn_test_perband() 41{ 42 install_qdisc ecn 43 defer uninstall_qdisc 44 45 do_ecn_test_perband 10 $BACKLOG 46} 47 48ecn_nodrop_test() 49{ 50 install_qdisc ecn nodrop 51 defer uninstall_qdisc 52 53 do_ecn_nodrop_test 10 $BACKLOG 54} 55 56red_test() 57{ 58 install_qdisc 59 defer uninstall_qdisc 60 61 do_red_test 10 $BACKLOG 62} 63 64mc_backlog_test() 65{ 66 install_qdisc 67 defer uninstall_qdisc 68 69 # Note that the backlog value here does not correspond to RED 70 # configuration, but is arbitrary. 71 do_mc_backlog_test 10 $BACKLOG 72} 73 74red_mirror_test() 75{ 76 install_qdisc qevent early_drop block 10 77 defer uninstall_qdisc 78 79 do_drop_mirror_test 10 $BACKLOG 80} 81 82bail_on_lldpad "configure DCB" "configure Qdiscs" 83 84trap cleanup EXIT 85setup_prepare 86setup_wait 87tests_run 88 89exit $EXIT_STATUS 90