1ddd3fd75SPetr Machata#!/bin/bash 2ddd3fd75SPetr Machata# SPDX-License-Identifier: GPL-2.0 3ddd3fd75SPetr Machata 4ddd3fd75SPetr Machata# A driver for the ETS selftest that implements testing in slowpath. 5ddd3fd75SPetr Machatalib_dir=. 6ddd3fd75SPetr Machatasource sch_ets_core.sh 7ddd3fd75SPetr Machata 8ddd3fd75SPetr MachataALL_TESTS=" 9ddd3fd75SPetr Machata ping_ipv4 10ddd3fd75SPetr Machata priomap_mode 11ddd3fd75SPetr Machata ets_test_strict 12ddd3fd75SPetr Machata ets_test_mixed 13ddd3fd75SPetr Machata ets_test_dwrr 14ddd3fd75SPetr Machata classifier_mode 15ddd3fd75SPetr Machata ets_test_strict 16ddd3fd75SPetr Machata ets_test_mixed 17ddd3fd75SPetr Machata ets_test_dwrr 18ddd3fd75SPetr Machata" 19ddd3fd75SPetr Machata 20ddd3fd75SPetr Machataswitch_create() 21ddd3fd75SPetr Machata{ 22ddd3fd75SPetr Machata ets_switch_create 23ddd3fd75SPetr Machata 24ddd3fd75SPetr Machata # Create a bottleneck so that the DWRR process can kick in. 25ddd3fd75SPetr Machata tc qdisc add dev $swp2 root handle 1: tbf \ 26ddd3fd75SPetr Machata rate 1Gbit burst 1Mbit latency 100ms 27ddd3fd75SPetr Machata PARENT="parent 1:" 28ddd3fd75SPetr Machata} 29ddd3fd75SPetr Machata 30ddd3fd75SPetr Machataswitch_destroy() 31ddd3fd75SPetr Machata{ 32ddd3fd75SPetr Machata ets_switch_destroy 33ddd3fd75SPetr Machata tc qdisc del dev $swp2 root 34ddd3fd75SPetr Machata} 35ddd3fd75SPetr Machata 36ddd3fd75SPetr Machata# Callback from sch_ets_tests.sh 37*b9b72999SPetr Machatacollect_stats() 38ddd3fd75SPetr Machata{ 39*b9b72999SPetr Machata local -a streams=("$@") 40*b9b72999SPetr Machata local stream 41ddd3fd75SPetr Machata 42*b9b72999SPetr Machata for stream in ${streams[@]}; do 43*b9b72999SPetr Machata qdisc_parent_stats_get $swp2 10:$((stream + 1)) .bytes 44*b9b72999SPetr Machata done 45ddd3fd75SPetr Machata} 46ddd3fd75SPetr Machata 47ddd3fd75SPetr Machataets_run 48