[PATCH mptcp-next] Squash to "selftests: mptcp: add mp_fail testcases v5"

Geliang Tang posted 1 patch 2 years, 1 month ago
Failed in applying to current master (apply log)
tools/testing/selftests/net/mptcp/mptcp_join.sh | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
[PATCH mptcp-next] Squash to "selftests: mptcp: add mp_fail testcases v5"
Posted by Geliang Tang 2 years, 1 month ago
We will get this failure in v5 in rare cases, about one percent
probability:

Created /tmp/tmp.e4nE5Q14mj (size 1024 KB) containing data sent by client
Created /tmp/tmp.QwpQYClFnm (size 1024 KB) containing data sent by server
001 MP_FAIL MP_RST: 0 corrupted pkts     syn[ ok ] - synack[ ok ] - ack[ ok ]
                                         sum[fail] got 0 data checksum error[s] expected 1
                                         ftx[fail] got 0 MP_FAIL[s] TX expected 1
                                         rtx[fail] got 0 MP_RST[s] TX expected 1
                                         itx[ ok ] - infirx[ ok ]

We shouldn't always expect getting 1 MP_FAIL. If no checksum failure
occur, we should expect no MP_FAIL.

Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
 tools/testing/selftests/net/mptcp/mptcp_join.sh | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index 9f5c9afc26d2..cfa5f168e6db 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -2287,7 +2287,9 @@ fail_tests()
 	pm_nl_add_endpoint $ns2 10.0.2.2 dev ns2eth2 flags subflow
 	pm_nl_add_endpoint $ns2 10.0.3.2 dev ns2eth3 flags subflow
 	run_tests $ns1 $ns2 10.0.1.1 3
-	chk_join_nr "MP_FAIL MP_RST: $(pedit_action_pkts) corrupted pkts" 2 2 2 1 1
+	local pedit_action=$(pedit_action_pkts)
+	chk_join_nr "MP_FAIL MP_RST: $pedit_action corrupted pkts" 2 2 2 \
+			$((!!$pedit_action)) $((!!$pedit_action))
 
 	# single subflow
 	reset_with_fail 1
-- 
2.34.1


Re: [PATCH mptcp-next] Squash to "selftests: mptcp: add mp_fail testcases v5"
Posted by Mat Martineau 2 years, 1 month ago
On Wed, 9 Feb 2022, Geliang Tang wrote:

> We will get this failure in v5 in rare cases, about one percent
> probability:
>
> Created /tmp/tmp.e4nE5Q14mj (size 1024 KB) containing data sent by client
> Created /tmp/tmp.QwpQYClFnm (size 1024 KB) containing data sent by server
> 001 MP_FAIL MP_RST: 0 corrupted pkts     syn[ ok ] - synack[ ok ] - ack[ ok ]
>                                         sum[fail] got 0 data checksum error[s] expected 1
>                                         ftx[fail] got 0 MP_FAIL[s] TX expected 1
>                                         rtx[fail] got 0 MP_RST[s] TX expected 1
>                                         itx[ ok ] - infirx[ ok ]
>
> We shouldn't always expect getting 1 MP_FAIL. If no checksum failure
> occur, we should expect no MP_FAIL.

There are two main reasons we would see no checksum failure:

1. TC rules didn't produce the bit flips. In this case it seems like the 
script should retry.

2. TC rules did trigger, checksum code failed to detect it, and file 
contents don't match. This should fail the test case. I think the test 
should catch this.


Since it looks like v5 plus this squash doesn't seem to handle #1 I'll 
mark both as "Changes Requested" in patchwork.

-Mat


>
> Signed-off-by: Geliang Tang <geliang.tang@suse.com>
> ---
> tools/testing/selftests/net/mptcp/mptcp_join.sh | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
> index 9f5c9afc26d2..cfa5f168e6db 100755
> --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
> +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
> @@ -2287,7 +2287,9 @@ fail_tests()
> 	pm_nl_add_endpoint $ns2 10.0.2.2 dev ns2eth2 flags subflow
> 	pm_nl_add_endpoint $ns2 10.0.3.2 dev ns2eth3 flags subflow
> 	run_tests $ns1 $ns2 10.0.1.1 3
> -	chk_join_nr "MP_FAIL MP_RST: $(pedit_action_pkts) corrupted pkts" 2 2 2 1 1
> +	local pedit_action=$(pedit_action_pkts)
> +	chk_join_nr "MP_FAIL MP_RST: $pedit_action corrupted pkts" 2 2 2 \
> +			$((!!$pedit_action)) $((!!$pedit_action))
>
> 	# single subflow
> 	reset_with_fail 1
> -- 
> 2.34.1
>
>
>

--
Mat Martineau
Intel

Re: [PATCH mptcp-next] Squash to "selftests: mptcp: add mp_fail testcases v5"
Posted by Matthieu Baerts 2 years, 1 month ago
Hi Geliang,

On 09/02/2022 14:48, Geliang Tang wrote:
> We will get this failure in v5 in rare cases, about one percent
> probability:

May you give more details about these rare cases?
Are you talking about having the same hash for two different packets or
something else?

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