selftests: mptcp: lib: introduce 'nstat_{init,get}'

These new helpers are easier to read than the long and multi lines
commands. Plus it will ease the addition of new features related to that
in the next commits.

No behavioural changes intended.

Acked-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Link: https://patch.msgid.link/20251114-net-next-mptcp-sft-count-cache-stats-timeout-v1-1-863cb04e1b7b@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Matthieu Baerts (NGI0)
2025-11-14 19:12:05 +01:00
committed by Jakub Kicinski
parent ca412f25d6
commit d3305c016a
5 changed files with 30 additions and 32 deletions

View File

@@ -384,11 +384,9 @@ do_transfer()
sleep 1
fi
NSTAT_HISTORY=/tmp/${listener_ns}.nstat ip netns exec ${listener_ns} \
nstat -n
mptcp_lib_nstat_init "${listener_ns}"
if [ ${listener_ns} != ${connector_ns} ]; then
NSTAT_HISTORY=/tmp/${connector_ns}.nstat ip netns exec ${connector_ns} \
nstat -n
mptcp_lib_nstat_init "${connector_ns}"
fi
local stat_synrx_last_l
@@ -436,11 +434,9 @@ do_transfer()
kill ${cappid_connector}
fi
NSTAT_HISTORY=/tmp/${listener_ns}.nstat ip netns exec ${listener_ns} \
nstat | grep Tcp > /tmp/${listener_ns}.out
mptcp_lib_nstat_get "${listener_ns}"
if [ ${listener_ns} != ${connector_ns} ]; then
NSTAT_HISTORY=/tmp/${connector_ns}.nstat ip netns exec ${connector_ns} \
nstat | grep Tcp > /tmp/${connector_ns}.out
mptcp_lib_nstat_get "${connector_ns}"
fi
local duration

View File

@@ -983,10 +983,8 @@ do_transfer()
cond_start_capture ${listener_ns}
NSTAT_HISTORY=/tmp/${listener_ns}.nstat ip netns exec ${listener_ns} \
nstat -n
NSTAT_HISTORY=/tmp/${connector_ns}.nstat ip netns exec ${connector_ns} \
nstat -n
mptcp_lib_nstat_init "${listener_ns}"
mptcp_lib_nstat_init "${connector_ns}"
local extra_args
if [ $speed = "fast" ]; then
@@ -1068,10 +1066,8 @@ do_transfer()
cond_stop_capture
NSTAT_HISTORY=/tmp/${listener_ns}.nstat ip netns exec ${listener_ns} \
nstat | grep Tcp > /tmp/${listener_ns}.out
NSTAT_HISTORY=/tmp/${connector_ns}.nstat ip netns exec ${connector_ns} \
nstat | grep Tcp > /tmp/${connector_ns}.out
mptcp_lib_nstat_get "${listener_ns}"
mptcp_lib_nstat_get "${connector_ns}"
if [ ${rets} -ne 0 ] || [ ${retc} -ne 0 ]; then
fail_test "client exit code $retc, server $rets"

View File

@@ -376,6 +376,20 @@ mptcp_lib_is_v6() {
[ -z "${1##*:*}" ]
}
mptcp_lib_nstat_init() {
local ns="${1}"
NSTAT_HISTORY="/tmp/${ns}.nstat" ip netns exec "${ns}" nstat -n
}
mptcp_lib_nstat_get() {
local ns="${1}"
# filter out non-*TCP stats
NSTAT_HISTORY="/tmp/${ns}.nstat" ip netns exec "${ns}" nstat |
grep Tcp > "/tmp/${ns}.out"
}
# $1: ns, $2: MIB counter
mptcp_lib_get_counter() {
local ns="${1}"

View File

@@ -169,10 +169,8 @@ do_transfer()
cmsg+=",TCPINQ"
fi
NSTAT_HISTORY=/tmp/${listener_ns}.nstat ip netns exec ${listener_ns} \
nstat -n
NSTAT_HISTORY=/tmp/${connector_ns}.nstat ip netns exec ${connector_ns} \
nstat -n
mptcp_lib_nstat_init "${listener_ns}"
mptcp_lib_nstat_init "${connector_ns}"
timeout ${timeout_test} \
ip netns exec ${listener_ns} \
@@ -194,10 +192,8 @@ do_transfer()
wait $spid
local rets=$?
NSTAT_HISTORY=/tmp/${listener_ns}.nstat ip netns exec ${listener_ns} \
nstat | grep Tcp > /tmp/${listener_ns}.out
NSTAT_HISTORY=/tmp/${connector_ns}.nstat ip netns exec ${connector_ns} \
nstat | grep Tcp > /tmp/${connector_ns}.out
mptcp_lib_nstat_get "${listener_ns}"
mptcp_lib_nstat_get "${connector_ns}"
print_title "Transfer ${ip:2}"
if [ ${rets} -ne 0 ] || [ ${retc} -ne 0 ]; then

View File

@@ -155,10 +155,8 @@ do_transfer()
sleep 1
fi
NSTAT_HISTORY=/tmp/${ns3}.nstat ip netns exec ${ns3} \
nstat -n
NSTAT_HISTORY=/tmp/${ns1}.nstat ip netns exec ${ns1} \
nstat -n
mptcp_lib_nstat_init "${ns3}"
mptcp_lib_nstat_init "${ns1}"
timeout ${timeout_test} \
ip netns exec ${ns3} \
@@ -185,10 +183,8 @@ do_transfer()
kill ${cappid_connector}
fi
NSTAT_HISTORY=/tmp/${ns3}.nstat ip netns exec ${ns3} \
nstat | grep Tcp > /tmp/${ns3}.out
NSTAT_HISTORY=/tmp/${ns1}.nstat ip netns exec ${ns1} \
nstat | grep Tcp > /tmp/${ns1}.out
mptcp_lib_nstat_get "${ns3}"
mptcp_lib_nstat_get "${ns1}"
cmp $sin $cout > /dev/null 2>&1
local cmps=$?