mirror of
https://github.com/torvalds/linux.git
synced 2026-07-28 01:55:51 +02:00
Merge branch 'selftests-mptcp-reduce-bufferbloat-and-cleanup'
Matthieu Baerts says: ==================== selftests: mptcp: reduce bufferbloat and cleanup Bufferbloat is baaaad, even in our selftests: let's kill it (or at least reduce it). By doing that, the tests (seem to) have a more stable transfer, and are then less unstable. That's what patches 1-2 are doing, and they can be backported up to 5.10. Patch 3 is not related: a small fix in the selftests to remove temp files that were not deleted in some conditions, since v5.13. ==================== Link: https://patch.msgid.link/20260527-net-mptcp-sft-bufferbloat-exit-v1-0-9afc4e742090@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
commit
9a82e387e2
|
|
@ -355,10 +355,10 @@ sin=$(mktemp)
|
|||
sout=$(mktemp)
|
||||
cin=$(mktemp)
|
||||
cout=$(mktemp)
|
||||
trap cleanup EXIT
|
||||
init
|
||||
make_file "$cin" "client" 1
|
||||
make_file "$sin" "server" 1
|
||||
trap cleanup EXIT
|
||||
mptcp_lib_subtests_last_ts_reset
|
||||
|
||||
run_tests $ns1 $ns2 10.0.1.1
|
||||
|
|
|
|||
|
|
@ -76,13 +76,13 @@ setup()
|
|||
|
||||
ip -net "$ns1" addr add 10.0.1.1/24 dev ns1eth1
|
||||
ip -net "$ns1" addr add dead:beef:1::1/64 dev ns1eth1 nodad
|
||||
ip -net "$ns1" link set ns1eth1 up mtu 1500
|
||||
ip -net "$ns1" link set ns1eth1 up mtu 1500 gso_max_segs 0
|
||||
ip -net "$ns1" route add default via 10.0.1.2
|
||||
ip -net "$ns1" route add default via dead:beef:1::2
|
||||
|
||||
ip -net "$ns1" addr add 10.0.2.1/24 dev ns1eth2
|
||||
ip -net "$ns1" addr add dead:beef:2::1/64 dev ns1eth2 nodad
|
||||
ip -net "$ns1" link set ns1eth2 up mtu 1500
|
||||
ip -net "$ns1" link set ns1eth2 up mtu 1500 gso_max_segs 0
|
||||
ip -net "$ns1" route add default via 10.0.2.2 metric 101
|
||||
ip -net "$ns1" route add default via dead:beef:2::2 metric 101
|
||||
|
||||
|
|
@ -91,21 +91,21 @@ setup()
|
|||
|
||||
ip -net "$ns2" addr add 10.0.1.2/24 dev ns2eth1
|
||||
ip -net "$ns2" addr add dead:beef:1::2/64 dev ns2eth1 nodad
|
||||
ip -net "$ns2" link set ns2eth1 up mtu 1500
|
||||
ip -net "$ns2" link set ns2eth1 up mtu 1500 gso_max_segs 0
|
||||
|
||||
ip -net "$ns2" addr add 10.0.2.2/24 dev ns2eth2
|
||||
ip -net "$ns2" addr add dead:beef:2::2/64 dev ns2eth2 nodad
|
||||
ip -net "$ns2" link set ns2eth2 up mtu 1500
|
||||
ip -net "$ns2" link set ns2eth2 up mtu 1500 gso_max_segs 0
|
||||
|
||||
ip -net "$ns2" addr add 10.0.3.2/24 dev ns2eth3
|
||||
ip -net "$ns2" addr add dead:beef:3::2/64 dev ns2eth3 nodad
|
||||
ip -net "$ns2" link set ns2eth3 up mtu 1500
|
||||
ip -net "$ns2" link set ns2eth3 up mtu 1500 gso_max_segs 0
|
||||
ip netns exec "$ns2" sysctl -q net.ipv4.ip_forward=1
|
||||
ip netns exec "$ns2" sysctl -q net.ipv6.conf.all.forwarding=1
|
||||
|
||||
ip -net "$ns3" addr add 10.0.3.3/24 dev ns3eth1
|
||||
ip -net "$ns3" addr add dead:beef:3::3/64 dev ns3eth1 nodad
|
||||
ip -net "$ns3" link set ns3eth1 up mtu 1500
|
||||
ip -net "$ns3" link set ns3eth1 up mtu 1500 gso_max_segs 0
|
||||
ip -net "$ns3" route add default via 10.0.3.2
|
||||
ip -net "$ns3" route add default via dead:beef:3::2
|
||||
|
||||
|
|
@ -223,9 +223,11 @@ run_test()
|
|||
local rate2=$2
|
||||
local delay1=$3
|
||||
local delay2=$4
|
||||
local limit1=$5
|
||||
local limit2=$6
|
||||
local lret
|
||||
local dev
|
||||
shift 4
|
||||
shift 6
|
||||
local msg=$*
|
||||
|
||||
[ $delay1 -gt 0 ] && delay1="delay ${delay1}ms" || delay1=""
|
||||
|
|
@ -240,10 +242,10 @@ run_test()
|
|||
|
||||
# keep the queued pkts number low, or the RTT estimator will see
|
||||
# increasing latency over time.
|
||||
tc -n $ns1 qdisc add dev ns1eth1 root netem rate ${rate1}mbit $delay1 limit 50
|
||||
tc -n $ns1 qdisc add dev ns1eth2 root netem rate ${rate2}mbit $delay2 limit 50
|
||||
tc -n $ns2 qdisc add dev ns2eth1 root netem rate ${rate1}mbit $delay1 limit 50
|
||||
tc -n $ns2 qdisc add dev ns2eth2 root netem rate ${rate2}mbit $delay2 limit 50
|
||||
tc -n $ns1 qdisc add dev ns1eth1 root netem rate ${rate1}mbit $delay1 limit ${limit1}
|
||||
tc -n $ns1 qdisc add dev ns1eth2 root netem rate ${rate2}mbit $delay2 limit ${limit2}
|
||||
tc -n $ns2 qdisc add dev ns2eth1 root netem rate ${rate1}mbit $delay1 limit ${limit1}
|
||||
tc -n $ns2 qdisc add dev ns2eth2 root netem rate ${rate2}mbit $delay2 limit ${limit2}
|
||||
|
||||
# time is measured in ms, account for transfer size, aggregated link speed
|
||||
# and header overhead (10%)
|
||||
|
|
@ -301,13 +303,13 @@ done
|
|||
|
||||
setup
|
||||
mptcp_lib_subtests_last_ts_reset
|
||||
run_test 10 10 0 0 "balanced bwidth"
|
||||
run_test 10 10 1 25 "balanced bwidth with unbalanced delay"
|
||||
run_test 10 10 0 0 20 20 "balanced bwidth"
|
||||
run_test 10 10 1 25 20 50 "balanced bwidth with unbalanced delay"
|
||||
|
||||
# we still need some additional infrastructure to pass the following test-cases
|
||||
MPTCP_LIB_SUBTEST_FLAKY=1 run_test 10 3 0 0 "unbalanced bwidth"
|
||||
run_test 10 3 1 25 "unbalanced bwidth with unbalanced delay"
|
||||
run_test 10 3 25 1 "unbalanced bwidth with opposed, unbalanced delay"
|
||||
MPTCP_LIB_SUBTEST_FLAKY=1 run_test 10 3 0 0 30 20 "unbalanced bwidth"
|
||||
run_test 10 3 1 25 40 30 "unbalanced bwidth with unbalanced delay"
|
||||
run_test 10 3 25 1 50 30 "unbalanced bwidth with opposed, unbalanced delay"
|
||||
|
||||
mptcp_lib_result_print_all_tap
|
||||
exit $ret
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user