Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1#!/bin/bash
2# SPDX-License-Identifier: GPL-2.0
3
4ALL_TESTS="
5 ping_ipv4
6 ecn_test
7 ecn_nodrop_test
8 red_test
9 mc_backlog_test
10 red_mirror_test
11"
12source sch_red_core.sh
13
14BACKLOG=300000
15
16install_qdisc()
17{
18 local -a args=("$@")
19
20 tc qdisc add dev $swp3 root handle 108: red \
21 limit 1000000 min $BACKLOG max $((BACKLOG + 1)) \
22 probability 1.0 avpkt 8000 burst 38 "${args[@]}"
23 sleep 1
24}
25
26uninstall_qdisc()
27{
28 tc qdisc del dev $swp3 root
29}
30
31ecn_test()
32{
33 install_qdisc ecn
34 do_ecn_test 10 $BACKLOG
35 uninstall_qdisc
36}
37
38ecn_nodrop_test()
39{
40 install_qdisc ecn nodrop
41 do_ecn_nodrop_test 10 $BACKLOG
42 uninstall_qdisc
43}
44
45red_test()
46{
47 install_qdisc
48 do_red_test 10 $BACKLOG
49 uninstall_qdisc
50}
51
52mc_backlog_test()
53{
54 install_qdisc
55 # Note that the backlog value here does not correspond to RED
56 # configuration, but is arbitrary.
57 do_mc_backlog_test 10 $BACKLOG
58 uninstall_qdisc
59}
60
61red_mirror_test()
62{
63 install_qdisc qevent early_drop block 10
64 do_drop_mirror_test 10 $BACKLOG
65 uninstall_qdisc
66}
67
68trap cleanup EXIT
69
70setup_prepare
71setup_wait
72
73bail_on_lldpad
74tests_run
75
76exit $EXIT_STATUS