[PATCH mptcp-next v2] selftests: mptcp: add csum mib check for mptcp_connect

Geliang Tang posted 1 patch 2 years, 2 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/multipath-tcp/mptcp_net-next tags/patchew/068c6ecb38fae8a5c0a67097b6a8c86896a27675.1644763024.git.geliang.tang@suse.com
Maintainers: Shuah Khan <shuah@kernel.org>, "David S. Miller" <davem@davemloft.net>, Matthieu Baerts <matthieu.baerts@tessares.net>, Geliang Tang <geliangtang@gmail.com>, Paolo Abeni <pabeni@redhat.com>, Jakub Kicinski <kuba@kernel.org>, Mat Martineau <mathew.j.martineau@linux.intel.com>
.../selftests/net/mptcp/mptcp_connect.sh      | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
[PATCH mptcp-next v2] selftests: mptcp: add csum mib check for mptcp_connect
Posted by Geliang Tang 2 years, 2 months ago
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")
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
v2:
 - get mib counters twice.
 - Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/255
---
 .../selftests/net/mptcp/mptcp_connect.sh      | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/testing/selftests/net/mptcp/mptcp_connect.sh
index cb5809b89081..5b7a40d73253 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh
@@ -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
-- 
2.34.1


Re: [PATCH mptcp-next v2] selftests: mptcp: add csum mib check for mptcp_connect
Posted by Mat Martineau 2 years, 2 months ago
On Sun, 13 Feb 2022, Geliang Tang wrote:

> 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")
> Signed-off-by: Geliang Tang <geliang.tang@suse.com>
> ---
> v2:
> - get mib counters twice.
> - Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/255

Looks good to me.

Reviewed-by: Mat Martineau <mathew.j.martineau@linux.intel.com>

> ---
> .../selftests/net/mptcp/mptcp_connect.sh      | 19 +++++++++++++++++++
> 1 file changed, 19 insertions(+)
>
> diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/testing/selftests/net/mptcp/mptcp_connect.sh
> index cb5809b89081..5b7a40d73253 100755
> --- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh
> +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh
> @@ -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
> -- 
> 2.34.1
>
>
>

--
Mat Martineau
Intel

Re: [PATCH mptcp-next v2] selftests: mptcp: add csum mib check for mptcp_connect
Posted by Matthieu Baerts 2 years, 2 months ago
Hi Geliang, Mat,

On 13/02/2022 15:38, Geliang Tang wrote:
> 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")
> Signed-off-by: Geliang Tang <geliang.tang@suse.com>
> ---
> v2:
>  - get mib counters twice.
>  - Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/255

I added this tag in the commit message. Please tell me if it was not
fixing this issue.

Thank you for the patch and the review!

Now in our tree -- feat. for net-next but I guess it could be sent to
-net, no? -- with Mat's RvB tag:

- 8cf6b18d75cd: selftests: mptcp: add csum mib check for mptcp_connect
- Results: 7cf2ef8f7b27..49fef9d3e44a

Builds and tests are now in progress:

https://cirrus-ci.com/github/multipath-tcp/mptcp_net-next/export/20220215T095400
https://github.com/multipath-tcp/mptcp_net-next/actions/workflows/build-validation.yml?query=branch:export

Cheers,
Matt
-- 
Tessares | Belgium | Hybrid Access Solutions
www.tessares.net