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 do_ecn_test 10 $BACKLOG 36 uninstall_qdisc 37} 38 39ecn_test_perband() 40{ 41 install_qdisc ecn 42 do_ecn_test_perband 10 $BACKLOG 43 uninstall_qdisc 44} 45 46ecn_nodrop_test() 47{ 48 install_qdisc ecn nodrop 49 do_ecn_nodrop_test 10 $BACKLOG 50 uninstall_qdisc 51} 52 53red_test() 54{ 55 install_qdisc 56 do_red_test 10 $BACKLOG 57 uninstall_qdisc 58} 59 60mc_backlog_test() 61{ 62 install_qdisc 63 # Note that the backlog value here does not correspond to RED 64 # configuration, but is arbitrary. 65 do_mc_backlog_test 10 $BACKLOG 66 uninstall_qdisc 67} 68 69red_mirror_test() 70{ 71 install_qdisc qevent early_drop block 10 72 do_drop_mirror_test 10 $BACKLOG 73 uninstall_qdisc 74} 75 76bail_on_lldpad "configure DCB" "configure Qdiscs" 77 78trap cleanup EXIT 79setup_prepare 80setup_wait 81tests_run 82 83exit $EXIT_STATUS 84