selftests: mptcp: add csum mib check for mptcp_connect
authorGeliang Tang <geliang.tang@suse.com>
Fri, 18 Feb 2022 03:03:11 +0000 (19:03 -0800)
committerJakub Kicinski <kuba@kernel.org>
Fri, 18 Feb 2022 03:59:59 +0000 (19:59 -0800)
This patch added the data checksum error mib counters check for the
script mptcp_connect.sh when the data checksum is enabled.

In do_transfer(), got the mib counters twice, before and after running
the mptcp_connect commands. The latter minus the former is the actual
number of the data checksum mib counter.

The output looks like this:

ns1 MPTCP -> ns2 (dead:beef:1::2:10007) MPTCP   (duration    86ms) [ OK ]
ns1 MPTCP -> ns2 (10.0.2.1:10008      ) MPTCP   (duration    66ms) [ FAIL ]
server got 1 data checksum error[s]

Fixes: 94d66ba1d8e48 ("selftests: mptcp: enable checksum in mptcp_connect.sh")
Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/255
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>
tools/testing/selftests/net/mptcp/mptcp_connect.sh

index cb5809b89081003ff0b6baa34bf236a601af1eea..5b7a40d73253b3051189cfd913557d9af2dd085e 100755 (executable)
@@ -432,6 +432,8 @@ do_transfer()
        local stat_ackrx_last_l=$(get_mib_counter "${listener_ns}" "MPTcpExtMPCapableACKRX")
        local stat_cookietx_last=$(get_mib_counter "${listener_ns}" "TcpExtSyncookiesSent")
        local stat_cookierx_last=$(get_mib_counter "${listener_ns}" "TcpExtSyncookiesRecv")
+       local stat_csum_err_s=$(get_mib_counter "${listener_ns}" "MPTcpExtDataCsumErr")
+       local stat_csum_err_c=$(get_mib_counter "${connector_ns}" "MPTcpExtDataCsumErr")
 
        timeout ${timeout_test} \
                ip netns exec ${listener_ns} \
@@ -524,6 +526,23 @@ do_transfer()
                fi
        fi
 
+       if $checksum; then
+               local csum_err_s=$(get_mib_counter "${listener_ns}" "MPTcpExtDataCsumErr")
+               local csum_err_c=$(get_mib_counter "${connector_ns}" "MPTcpExtDataCsumErr")
+
+               local csum_err_s_nr=$((csum_err_s - stat_csum_err_s))
+               if [ $csum_err_s_nr -gt 0 ]; then
+                       printf "[ FAIL ]\nserver got $csum_err_s_nr data checksum error[s]"
+                       rets=1
+               fi
+
+               local csum_err_c_nr=$((csum_err_c - stat_csum_err_c))
+               if [ $csum_err_c_nr -gt 0 ]; then
+                       printf "[ FAIL ]\nclient got $csum_err_c_nr data checksum error[s]"
+                       retc=1
+               fi
+       fi
+
        if [ $retc -eq 0 ] && [ $rets -eq 0 ]; then
                printf "[ OK ]"
        fi