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_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