Skip to content

Commit 9eb8069

Browse files
committed
Merge branch 'mptcp-selftests-more-debug-in-case-of-errors'
Matthieu Baerts says: ==================== mptcp: selftests: more debug in case of errors Here are just a bunch of small improvements for the MPTCP selftests: Patch 1: Unify errors messages in simult_flows: print MIB and 'ss -Me'. Patch 2: Unify errors messages in sockopt: print MIB. Patch 3: Move common code to print debug info to mptcp_lib.sh. Patch 4: Use 'ss' with '-m' in case of errors. Patch 5: Remove an unused variable. Patch 6: Print only the size instead of size + filename again. ==================== Link: https://patch.msgid.link/20250114-net-next-mptcp-st-more-debug-err-v1-0-2ffb16a6cf35@kernel.org Signed-off-by: Jakub Kicinski <[email protected]>
2 parents 0e6f1c7 + 540d3f8 commit 9eb8069

File tree

5 files changed

+53
-28
lines changed

5 files changed

+53
-28
lines changed

tools/testing/selftests/net/mptcp/mptcp_connect.sh

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ TEST_GROUP=""
137137
#shellcheck disable=SC2317
138138
cleanup()
139139
{
140-
rm -f "$cin_disconnect" "$cout_disconnect"
140+
rm -f "$cin_disconnect"
141141
rm -f "$cin" "$cout"
142142
rm -f "$sin" "$sout"
143143
rm -f "$capout"
@@ -155,7 +155,6 @@ cin=$(mktemp)
155155
cout=$(mktemp)
156156
capout=$(mktemp)
157157
cin_disconnect="$cin".disconnect
158-
cout_disconnect="$cout".disconnect
159158
trap cleanup EXIT
160159

161160
mptcp_lib_ns_init ns1 ns2 ns3 ns4
@@ -445,12 +444,8 @@ do_transfer()
445444
printf "(duration %05sms) " "${duration}"
446445
if [ ${rets} -ne 0 ] || [ ${retc} -ne 0 ]; then
447446
mptcp_lib_pr_fail "client exit code $retc, server $rets"
448-
echo -e "\nnetns ${listener_ns} socket stat for ${port}:" 1>&2
449-
ip netns exec ${listener_ns} ss -Menita 1>&2 -o "sport = :$port"
450-
cat /tmp/${listener_ns}.out
451-
echo -e "\nnetns ${connector_ns} socket stat for ${port}:" 1>&2
452-
ip netns exec ${connector_ns} ss -Menita 1>&2 -o "dport = :$port"
453-
[ ${listener_ns} != ${connector_ns} ] && cat /tmp/${connector_ns}.out
447+
mptcp_lib_pr_err_stats "${listener_ns}" "${connector_ns}" "${port}" \
448+
"/tmp/${listener_ns}.out" "/tmp/${connector_ns}.out"
454449

455450
echo
456451
cat "$capout"
@@ -587,7 +582,7 @@ make_file()
587582
mptcp_lib_make_file $name 1024 $ksize
588583
dd if=/dev/urandom conv=notrunc of="$name" oflag=append bs=1 count=$rem 2> /dev/null
589584

590-
echo "Created $name (size $(du -b "$name")) containing data sent by $who"
585+
echo "Created $name (size $(stat -c "%s" "$name") B) containing data sent by $who"
591586
}
592587

593588
run_tests_lo()

tools/testing/selftests/net/mptcp/mptcp_join.sh

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1039,13 +1039,8 @@ do_transfer()
10391039

10401040
if [ ${rets} -ne 0 ] || [ ${retc} -ne 0 ]; then
10411041
fail_test "client exit code $retc, server $rets"
1042-
echo -e "\nnetns ${listener_ns} socket stat for ${port}:" 1>&2
1043-
ip netns exec ${listener_ns} ss -Menita 1>&2 -o "sport = :$port"
1044-
cat /tmp/${listener_ns}.out
1045-
echo -e "\nnetns ${connector_ns} socket stat for ${port}:" 1>&2
1046-
ip netns exec ${connector_ns} ss -Menita 1>&2 -o "dport = :$port"
1047-
cat /tmp/${connector_ns}.out
1048-
1042+
mptcp_lib_pr_err_stats "${listener_ns}" "${connector_ns}" "${port}" \
1043+
"/tmp/${listener_ns}.out" "/tmp/${connector_ns}.out"
10491044
return 1
10501045
fi
10511046

tools/testing/selftests/net/mptcp/mptcp_lib.sh

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,27 @@ mptcp_lib_pr_info() {
107107
mptcp_lib_print_info "INFO: ${*}"
108108
}
109109

110+
# $1-2: listener/connector ns ; $3 port ; $4-5 listener/connector stat file
111+
mptcp_lib_pr_err_stats() {
112+
local lns="${1}"
113+
local cns="${2}"
114+
local port="${3}"
115+
local lstat="${4}"
116+
local cstat="${5}"
117+
118+
echo -en "${MPTCP_LIB_COLOR_RED}"
119+
{
120+
printf "\nnetns %s (listener) socket stat for %d:\n" "${lns}" "${port}"
121+
ip netns exec "${lns}" ss -Menitam -o "sport = :${port}"
122+
cat "${lstat}"
123+
124+
printf "\nnetns %s (connector) socket stat for %d:\n" "${cns}" "${port}"
125+
ip netns exec "${cns}" ss -Menitam -o "dport = :${port}"
126+
[ "${lstat}" != "${cstat}" ] && cat "${cstat}"
127+
} 1>&2
128+
echo -en "${MPTCP_LIB_COLOR_RESET}"
129+
}
130+
110131
# SELFTESTS_MPTCP_LIB_EXPECT_ALL_FEATURES env var can be set when validating all
111132
# features using the last version of the kernel and the selftests to make sure
112133
# a test is not being skipped by mistake.

tools/testing/selftests/net/mptcp/mptcp_sockopt.sh

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,11 @@ do_transfer()
169169
cmsg+=",TCPINQ"
170170
fi
171171

172+
NSTAT_HISTORY=/tmp/${listener_ns}.nstat ip netns exec ${listener_ns} \
173+
nstat -n
174+
NSTAT_HISTORY=/tmp/${connector_ns}.nstat ip netns exec ${connector_ns} \
175+
nstat -n
176+
172177
timeout ${timeout_test} \
173178
ip netns exec ${listener_ns} \
174179
$mptcp_connect -t ${timeout_poll} -l -M 1 -p $port -s ${srv_proto} -c "${cmsg}" \
@@ -189,14 +194,16 @@ do_transfer()
189194
wait $spid
190195
local rets=$?
191196

197+
NSTAT_HISTORY=/tmp/${listener_ns}.nstat ip netns exec ${listener_ns} \
198+
nstat | grep Tcp > /tmp/${listener_ns}.out
199+
NSTAT_HISTORY=/tmp/${connector_ns}.nstat ip netns exec ${connector_ns} \
200+
nstat | grep Tcp > /tmp/${connector_ns}.out
201+
192202
print_title "Transfer ${ip:2}"
193203
if [ ${rets} -ne 0 ] || [ ${retc} -ne 0 ]; then
194204
mptcp_lib_pr_fail "client exit code $retc, server $rets"
195-
echo -e "\nnetns ${listener_ns} socket stat for ${port}:" 1>&2
196-
ip netns exec ${listener_ns} ss -Menita 1>&2 -o "sport = :$port"
197-
198-
echo -e "\nnetns ${connector_ns} socket stat for ${port}:" 1>&2
199-
ip netns exec ${connector_ns} ss -Menita 1>&2 -o "dport = :$port"
205+
mptcp_lib_pr_err_stats "${listener_ns}" "${connector_ns}" "${port}" \
206+
"/tmp/${listener_ns}.out" "/tmp/${connector_ns}.out"
200207

201208
mptcp_lib_result_fail "transfer ${ip}"
202209

tools/testing/selftests/net/mptcp/simult_flows.sh

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,11 @@ do_transfer()
155155
sleep 1
156156
fi
157157

158+
NSTAT_HISTORY=/tmp/${ns3}.nstat ip netns exec ${ns3} \
159+
nstat -n
160+
NSTAT_HISTORY=/tmp/${ns1}.nstat ip netns exec ${ns1} \
161+
nstat -n
162+
158163
timeout ${timeout_test} \
159164
ip netns exec ${ns3} \
160165
./mptcp_connect -jt ${timeout_poll} -l -p $port -T $max_time \
@@ -180,25 +185,27 @@ do_transfer()
180185
kill ${cappid_connector}
181186
fi
182187

188+
NSTAT_HISTORY=/tmp/${ns3}.nstat ip netns exec ${ns3} \
189+
nstat | grep Tcp > /tmp/${ns3}.out
190+
NSTAT_HISTORY=/tmp/${ns1}.nstat ip netns exec ${ns1} \
191+
nstat | grep Tcp > /tmp/${ns1}.out
192+
183193
cmp $sin $cout > /dev/null 2>&1
184194
local cmps=$?
185195
cmp $cin $sout > /dev/null 2>&1
186196
local cmpc=$?
187197

188-
printf "%-16s" " max $max_time "
189198
if [ $retc -eq 0 ] && [ $rets -eq 0 ] && \
190199
[ $cmpc -eq 0 ] && [ $cmps -eq 0 ]; then
200+
printf "%-16s" " max $max_time "
191201
mptcp_lib_pr_ok
192202
cat "$capout"
193203
return 0
194204
fi
195205

196-
mptcp_lib_pr_fail
197-
echo "client exit code $retc, server $rets" 1>&2
198-
echo -e "\nnetns ${ns3} socket stat for $port:" 1>&2
199-
ip netns exec ${ns3} ss -nita 1>&2 -o "sport = :$port"
200-
echo -e "\nnetns ${ns1} socket stat for $port:" 1>&2
201-
ip netns exec ${ns1} ss -nita 1>&2 -o "dport = :$port"
206+
mptcp_lib_pr_fail "client exit code $retc, server $rets"
207+
mptcp_lib_pr_err_stats "${ns3}" "${ns1}" "${port}" \
208+
"/tmp/${ns3}.out" "/tmp/${ns1}.out"
202209
ls -l $sin $cout
203210
ls -l $cin $sout
204211

0 commit comments

Comments
 (0)