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