Skip to content

Commit

Permalink
selftests: mptcp: reuse linkfail to make given size files
Browse files Browse the repository at this point in the history
This patch reused the test_linkfail values above 2 to make test files with
the given sizes (KB) for both the client side and the server side. It's
useful for the test cases using different file sizes.

Signed-off-by: Geliang Tang <geliang.tang@suse.com>
Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  • Loading branch information
Geliang Tang authored and Jakub Kicinski committed Mar 5, 2022
1 parent cbfafac commit 34b572b
Showing 1 changed file with 27 additions and 5 deletions.
32 changes: 27 additions & 5 deletions tools/testing/selftests/net/mptcp/mptcp_join.sh
Original file line number Diff line number Diff line change
Expand Up @@ -459,7 +459,7 @@ do_transfer()
local_addr="0.0.0.0"
fi

if [ "$test_link_fail" -eq 2 ];then
if [ "$test_link_fail" -gt 1 ];then
timeout ${timeout_test} \
ip netns exec ${listener_ns} \
./mptcp_connect -t ${timeout_poll} -l -p $port -s ${srv_proto} \
Expand All @@ -479,13 +479,19 @@ do_transfer()
ip netns exec ${connector_ns} \
./mptcp_connect -t ${timeout_poll} -p $port -s ${cl_proto} \
$extra_args $connect_addr < "$cin" > "$cout" &
else
elif [ "$test_link_fail" -eq 1 ] || [ "$test_link_fail" -eq 2 ];then
( cat "$cinfail" ; sleep 2; link_failure $listener_ns ; cat "$cinfail" ) | \
tee "$cinsent" | \
timeout ${timeout_test} \
ip netns exec ${connector_ns} \
./mptcp_connect -t ${timeout_poll} -p $port -s ${cl_proto} \
$extra_args $connect_addr > "$cout" &
else
cat "$cinfail" | tee "$cinsent" | \
timeout ${timeout_test} \
ip netns exec ${connector_ns} \
./mptcp_connect -t ${timeout_poll} -p $port -s ${cl_proto} \
$extra_args $connect_addr > "$cout" &
fi
cpid=$!

Expand Down Expand Up @@ -645,7 +651,7 @@ do_transfer()
return 1
fi

if [ "$test_link_fail" -eq 2 ];then
if [ "$test_link_fail" -gt 1 ];then
check_transfer $sinfail $cout "file received by client"
else
check_transfer $sin $cout "file received by client"
Expand Down Expand Up @@ -690,9 +696,18 @@ run_tests()
speed="${7:-fast}"
sflags="${8:-""}"

# The values above 2 are reused to make test files
# with the given sizes (KB)
if [ "$test_linkfail" -gt 2 ]; then
size=$test_linkfail

if [ -z "$cinfail" ]; then
cinfail=$(mktemp)
fi
make_file "$cinfail" "client" $size
# create the input file for the failure test when
# the first failure test run
if [ "$test_linkfail" -ne 0 -a -z "$cinfail" ]; then
elif [ "$test_linkfail" -ne 0 -a -z "$cinfail" ]; then
# the client file must be considerably larger
# of the maximum expected cwin value, or the
# link utilization will be not predicable
Expand All @@ -705,7 +720,14 @@ run_tests()
make_file "$cinfail" "client" $size
fi

if [ "$test_linkfail" -eq 2 -a -z "$sinfail" ]; then
if [ "$test_linkfail" -gt 2 ]; then
size=$test_linkfail

if [ -z "$sinfail" ]; then
sinfail=$(mktemp)
fi
make_file "$sinfail" "server" $size
elif [ "$test_linkfail" -eq 2 -a -z "$sinfail" ]; then
size=$((RANDOM%16))
size=$((size+1))
size=$((size*2048))
Expand Down

0 comments on commit 34b572b

Please sign in to comment.