selftests: mptcp: join: dump stats from history

In case of errors, dump the stats from history instead of using nstat.

There are multiple advantages to that:

- The same filters from pr_err_stats are used, e.g. the unused 'rate'
  column is not displayed.

- The counters are closer to the ones from when the test stopped.

- While at it, the errors can be better presented: error colours, a
  small indentation to distinguish the different parts, extra new lines.

Even if it should only happen in rare cases -- internal errors, or netns
issues -- if no history is available, 'nstat' is used like before, just
in case.

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-4-863cb04e1b7b@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Matthieu Baerts (NGI0)
2025-11-14 19:12:08 +01:00
committed by Jakub Kicinski
parent 2e6daf6b9b
commit 658e531417
2 changed files with 17 additions and 5 deletions
@@ -1146,12 +1146,20 @@ run_tests()
do_transfer ${listener_ns} ${connector_ns} MPTCP MPTCP ${connect_addr}
}
_dump_stats()
{
local ns="${1}"
local side="${2}"
mptcp_lib_print_err "${side} ns stats (${ns2})"
mptcp_lib_pr_nstat "${ns}"
echo
}
dump_stats()
{
echo Server ns stats
ip netns exec $ns1 nstat -as | grep Tcp
echo Client ns stats
ip netns exec $ns2 nstat -as | grep Tcp
_dump_stats "${ns1}" "Server"
_dump_stats "${ns2}" "Client"
}
chk_csum_nr()
@@ -110,7 +110,11 @@ mptcp_lib_pr_nstat() {
local ns="${1}"
local hist="/tmp/${ns}.out"
cat "${hist}"
if [ -f "${hist}" ]; then
awk '{ print " "$0 }' "${hist}"
else
ip netns exec "${ns}" nstat -as | grep Tcp
fi
}
# $1-2: listener/connector ns ; $3 port