selftests: mptcp: simult_flows: unify errors msgs
authorMatthieu Baerts (NGI0) <matttbe@kernel.org>
Tue, 14 Jan 2025 18:03:11 +0000 (19:03 +0100)
committerJakub Kicinski <kuba@kernel.org>
Wed, 15 Jan 2025 21:21:14 +0000 (13:21 -0800)
In order to unify what is printed in case of error, similar to what is
done in mptcp_connect.sh and mptcp_join.sh, it is interesting to do the
following modifications in simult_flows.sh:

- Print the rc errors at the end of the line.

- Print the MIB counters.

- Use the same ss options: add -M (MPTCP sockets) and -e (detailed
  socket information).

While at it, also print of the 'max' time only in case of success,
because 'mptcp_connect.c' will already print this info in case of error,
e.g.:

  transfer slower than expected! runtime 11948 ms, expected 11921 ms

Reviewed-by: Geliang Tang <geliang@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Link: https://patch.msgid.link/20250114-net-next-mptcp-st-more-debug-err-v1-1-2ffb16a6cf35@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tools/testing/selftests/net/mptcp/simult_flows.sh

index 8fa77c8e9b651171a34c89bfd5c9ded0288a5bde..e98e5907d52c2d0e9c0152efda82176861905cf1 100755 (executable)
@@ -155,6 +155,11 @@ 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
+
        timeout ${timeout_test} \
                ip netns exec ${ns3} \
                        ./mptcp_connect -jt ${timeout_poll} -l -p $port -T $max_time \
@@ -180,25 +185,31 @@ 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
+
        cmp $sin $cout > /dev/null 2>&1
        local cmps=$?
        cmp $cin $sout > /dev/null 2>&1
        local cmpc=$?
 
-       printf "%-16s" " max $max_time "
        if [ $retc -eq 0 ] && [ $rets -eq 0 ] && \
           [ $cmpc -eq 0 ] && [ $cmps -eq 0 ]; then
+               printf "%-16s" " max $max_time "
                mptcp_lib_pr_ok
                cat "$capout"
                return 0
        fi
 
-       mptcp_lib_pr_fail
-       echo "client exit code $retc, server $rets" 1>&2
+       mptcp_lib_pr_fail "client exit code $retc, server $rets"
        echo -e "\nnetns ${ns3} socket stat for $port:" 1>&2
-       ip netns exec ${ns3} ss -nita 1>&2 -o "sport = :$port"
+       ip netns exec ${ns3} ss -Menita 1>&2 -o "sport = :$port"
+       cat /tmp/${ns3}.out
        echo -e "\nnetns ${ns1} socket stat for $port:" 1>&2
-       ip netns exec ${ns1} ss -nita 1>&2 -o "dport = :$port"
+       ip netns exec ${ns1} ss -Menita 1>&2 -o "dport = :$port"
+       cat /tmp/${ns1}.out
        ls -l $sin $cout
        ls -l $cin $sout