mirror of
https://github.com/torvalds/linux.git
synced 2026-06-04 20:46:48 +02:00
selftests: ETS: Use defer for test cleanup
Use the defer framework to schedule cleanups as soon as the command is executed. Signed-off-by: Petr Machata <petrm@nvidia.com> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
parent
a1b3741dcf
commit
cc3e7ee15d
|
|
@ -21,6 +21,7 @@ switch_create()
|
|||
# Create a bottleneck so that the DWRR process can kick in.
|
||||
tc qdisc replace dev $swp2 root handle 3: tbf rate 1gbit \
|
||||
burst 128K limit 1G
|
||||
defer tc qdisc del dev $swp2 root handle 3:
|
||||
|
||||
ets_switch_create
|
||||
|
||||
|
|
@ -30,16 +31,27 @@ switch_create()
|
|||
# for the DWRR process.
|
||||
devlink_port_pool_th_save $swp1 0
|
||||
devlink_port_pool_th_set $swp1 0 12
|
||||
defer devlink_port_pool_th_restore $swp1 0
|
||||
|
||||
devlink_tc_bind_pool_th_save $swp1 0 ingress
|
||||
devlink_tc_bind_pool_th_set $swp1 0 ingress 0 12
|
||||
defer devlink_tc_bind_pool_th_restore $swp1 0 ingress
|
||||
|
||||
devlink_port_pool_th_save $swp2 4
|
||||
devlink_port_pool_th_set $swp2 4 12
|
||||
defer devlink_port_pool_th_restore $swp2 4
|
||||
|
||||
devlink_tc_bind_pool_th_save $swp2 7 egress
|
||||
devlink_tc_bind_pool_th_set $swp2 7 egress 4 5
|
||||
defer devlink_tc_bind_pool_th_restore $swp2 7 egress
|
||||
|
||||
devlink_tc_bind_pool_th_save $swp2 6 egress
|
||||
devlink_tc_bind_pool_th_set $swp2 6 egress 4 5
|
||||
defer devlink_tc_bind_pool_th_restore $swp2 6 egress
|
||||
|
||||
devlink_tc_bind_pool_th_save $swp2 5 egress
|
||||
devlink_tc_bind_pool_th_set $swp2 5 egress 4 5
|
||||
defer devlink_tc_bind_pool_th_restore $swp2 5 egress
|
||||
|
||||
# Note: sch_ets_core.sh uses VLAN ingress-qos-map to assign packet
|
||||
# priorities at $swp1 based on their 802.1p headers. ingress-qos-map is
|
||||
|
|
@ -47,20 +59,6 @@ switch_create()
|
|||
# 1:1, which is the mapping currently hard-coded by the driver.
|
||||
}
|
||||
|
||||
switch_destroy()
|
||||
{
|
||||
devlink_tc_bind_pool_th_restore $swp2 5 egress
|
||||
devlink_tc_bind_pool_th_restore $swp2 6 egress
|
||||
devlink_tc_bind_pool_th_restore $swp2 7 egress
|
||||
devlink_port_pool_th_restore $swp2 4
|
||||
devlink_tc_bind_pool_th_restore $swp1 0 ingress
|
||||
devlink_port_pool_th_restore $swp1 0
|
||||
|
||||
ets_switch_destroy
|
||||
|
||||
tc qdisc del dev $swp2 root handle 3:
|
||||
}
|
||||
|
||||
# Callback from sch_ets_tests.sh
|
||||
collect_stats()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -24,15 +24,10 @@ switch_create()
|
|||
# Create a bottleneck so that the DWRR process can kick in.
|
||||
tc qdisc add dev $swp2 root handle 1: tbf \
|
||||
rate 1Gbit burst 1Mbit latency 100ms
|
||||
defer tc qdisc del dev $swp2 root
|
||||
PARENT="parent 1:"
|
||||
}
|
||||
|
||||
switch_destroy()
|
||||
{
|
||||
ets_switch_destroy
|
||||
tc qdisc del dev $swp2 root
|
||||
}
|
||||
|
||||
# Callback from sch_ets_tests.sh
|
||||
collect_stats()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -166,89 +166,78 @@ h1_create()
|
|||
local i;
|
||||
|
||||
simple_if_init $h1
|
||||
defer simple_if_fini $h1
|
||||
|
||||
mtu_set $h1 9900
|
||||
defer mtu_restore $h1
|
||||
|
||||
for i in {0..2}; do
|
||||
vlan_create $h1 1$i v$h1 $(sip $i)/28
|
||||
defer vlan_destroy $h1 1$i
|
||||
ip link set dev $h1.1$i type vlan egress 0:$i
|
||||
done
|
||||
}
|
||||
|
||||
h1_destroy()
|
||||
{
|
||||
local i
|
||||
|
||||
for i in {0..2}; do
|
||||
vlan_destroy $h1 1$i
|
||||
done
|
||||
mtu_restore $h1
|
||||
simple_if_fini $h1
|
||||
}
|
||||
|
||||
h2_create()
|
||||
{
|
||||
local i
|
||||
|
||||
simple_if_init $h2
|
||||
defer simple_if_fini $h2
|
||||
|
||||
mtu_set $h2 9900
|
||||
defer mtu_restore $h2
|
||||
|
||||
for i in {0..2}; do
|
||||
vlan_create $h2 1$i v$h2 $(dip $i)/28
|
||||
defer vlan_destroy $h2 1$i
|
||||
done
|
||||
}
|
||||
|
||||
h2_destroy()
|
||||
{
|
||||
local i
|
||||
|
||||
for i in {0..2}; do
|
||||
vlan_destroy $h2 1$i
|
||||
done
|
||||
mtu_restore $h2
|
||||
simple_if_fini $h2
|
||||
}
|
||||
|
||||
ets_switch_create()
|
||||
{
|
||||
local i
|
||||
|
||||
ip link set dev $swp1 up
|
||||
defer ip link set dev $swp1 down
|
||||
|
||||
mtu_set $swp1 9900
|
||||
defer mtu_restore $swp1
|
||||
|
||||
ip link set dev $swp2 up
|
||||
defer ip link set dev $swp2 down
|
||||
|
||||
mtu_set $swp2 9900
|
||||
defer mtu_restore $swp2
|
||||
|
||||
for i in {0..2}; do
|
||||
vlan_create $swp1 1$i
|
||||
defer vlan_destroy $swp1 1$i
|
||||
ip link set dev $swp1.1$i type vlan ingress 0:0 1:1 2:2
|
||||
|
||||
vlan_create $swp2 1$i
|
||||
defer vlan_destroy $swp2 1$i
|
||||
|
||||
ip link add dev br1$i type bridge
|
||||
defer ip link del dev br1$i
|
||||
|
||||
ip link set dev $swp1.1$i master br1$i
|
||||
defer ip link set dev $swp1.1$i nomaster
|
||||
|
||||
ip link set dev $swp2.1$i master br1$i
|
||||
defer ip link set dev $swp2.1$i nomaster
|
||||
|
||||
ip link set dev br1$i up
|
||||
defer ip link set dev br1$i down
|
||||
|
||||
ip link set dev $swp1.1$i up
|
||||
defer ip link set dev $swp1.1$i down
|
||||
|
||||
ip link set dev $swp2.1$i up
|
||||
done
|
||||
}
|
||||
|
||||
ets_switch_destroy()
|
||||
{
|
||||
local i
|
||||
|
||||
ets_delete_qdisc
|
||||
|
||||
for i in {0..2}; do
|
||||
ip link del dev br1$i
|
||||
vlan_destroy $swp2 1$i
|
||||
vlan_destroy $swp1 1$i
|
||||
defer ip link set dev $swp2.1$i down
|
||||
done
|
||||
|
||||
mtu_restore $swp2
|
||||
ip link set dev $swp2 down
|
||||
|
||||
mtu_restore $swp1
|
||||
ip link set dev $swp1 down
|
||||
defer ets_delete_qdisc
|
||||
}
|
||||
|
||||
setup_prepare()
|
||||
|
|
@ -263,23 +252,13 @@ setup_prepare()
|
|||
hut=$h2
|
||||
|
||||
vrf_prepare
|
||||
defer vrf_cleanup
|
||||
|
||||
h1_create
|
||||
h2_create
|
||||
switch_create
|
||||
}
|
||||
|
||||
cleanup()
|
||||
{
|
||||
pre_cleanup
|
||||
|
||||
switch_destroy
|
||||
h2_destroy
|
||||
h1_destroy
|
||||
|
||||
vrf_cleanup
|
||||
}
|
||||
|
||||
ping_ipv4()
|
||||
{
|
||||
ping_test $h1.10 $(dip 0) " vlan 10"
|
||||
|
|
|
|||
|
|
@ -90,6 +90,7 @@ __ets_dwrr_test()
|
|||
|
||||
for stream in ${streams[@]}; do
|
||||
ets_start_traffic $stream
|
||||
defer stop_traffic $!
|
||||
done
|
||||
|
||||
sleep 10
|
||||
|
|
@ -120,25 +121,24 @@ __ets_dwrr_test()
|
|||
${d[0]} ${d[$i]}
|
||||
fi
|
||||
done
|
||||
|
||||
for stream in ${streams[@]}; do
|
||||
stop_traffic
|
||||
done
|
||||
}
|
||||
|
||||
ets_dwrr_test_012()
|
||||
{
|
||||
__ets_dwrr_test 0 1 2
|
||||
in_defer_scope \
|
||||
__ets_dwrr_test 0 1 2
|
||||
}
|
||||
|
||||
ets_dwrr_test_01()
|
||||
{
|
||||
__ets_dwrr_test 0 1
|
||||
in_defer_scope \
|
||||
__ets_dwrr_test 0 1
|
||||
}
|
||||
|
||||
ets_dwrr_test_12()
|
||||
{
|
||||
__ets_dwrr_test 1 2
|
||||
in_defer_scope \
|
||||
__ets_dwrr_test 1 2
|
||||
}
|
||||
|
||||
ets_qdisc_setup()
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user