1f08c3bdfSopenharmony_ci#!/bin/sh
2f08c3bdfSopenharmony_ci# SPDX-License-Identifier: GPL-2.0-or-later
3f08c3bdfSopenharmony_ci# Copyright (c) 2018-2020 Oracle and/or its affiliates. All Rights Reserved.
4f08c3bdfSopenharmony_ci
5f08c3bdfSopenharmony_ciTST_SETUP="setup"
6f08c3bdfSopenharmony_ciTST_TESTFUNC="do_test"
7f08c3bdfSopenharmony_ciTST_CLEANUP="cleanup"
8f08c3bdfSopenharmony_ciTST_MIN_KVER="4.13"
9f08c3bdfSopenharmony_ciTST_TEST_DATA="pfifo_fast codel pfifo fq hfsc hhf htb pie prio sfb sfq"
10f08c3bdfSopenharmony_ciTST_CLEANUP="cleanup"
11f08c3bdfSopenharmony_ci
12f08c3bdfSopenharmony_cicleanup()
13f08c3bdfSopenharmony_ci{
14f08c3bdfSopenharmony_ci	tc qdisc del dev $(tst_iface) root netem > /dev/null 2>&1
15f08c3bdfSopenharmony_ci
16f08c3bdfSopenharmony_ci	tcp_cc_cleanup
17f08c3bdfSopenharmony_ci}
18f08c3bdfSopenharmony_ci
19f08c3bdfSopenharmony_cisetup()
20f08c3bdfSopenharmony_ci{
21f08c3bdfSopenharmony_ci	tcp_cc_check_support bbr
22f08c3bdfSopenharmony_ci	tcp_cc_setup
23f08c3bdfSopenharmony_ci
24f08c3bdfSopenharmony_ci	local emu_opts="delay 5ms 1ms 20% loss 0.3% ecn corrupt \
25f08c3bdfSopenharmony_ci0.1% reorder 93% 50% limit 10000"
26f08c3bdfSopenharmony_ci
27f08c3bdfSopenharmony_ci	tst_res TINFO "emulate congestion with packet $emu_opts"
28f08c3bdfSopenharmony_ci	ROD tc qdisc add dev $(tst_iface) root netem $emu_opts
29f08c3bdfSopenharmony_ci}
30f08c3bdfSopenharmony_ci
31f08c3bdfSopenharmony_cido_test()
32f08c3bdfSopenharmony_ci{
33f08c3bdfSopenharmony_ci	tcp_cc_set_qdisc $2 || return
34f08c3bdfSopenharmony_ci	tcp_cc_test01 bbr -100
35f08c3bdfSopenharmony_ci}
36f08c3bdfSopenharmony_ci
37f08c3bdfSopenharmony_ci. tcp_cc_lib.sh
38f08c3bdfSopenharmony_citst_run
39