[PATCH mptcp-next] Squash to "selftests: mptcp: add MP_FAIL reset testcase" - cleanups

Geliang Tang posted 1 patch 1 week, 4 days ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/multipath-tcp/mptcp_net-next tags/patchew/cdcd6b9963a1c15b20ffcf71e06b6de70f67ec4a.1651664645.git.geliang.tang@suse.com
Maintainers: Paolo Abeni <pabeni@redhat.com>, Mat Martineau <mathew.j.martineau@linux.intel.com>, Eric Dumazet <edumazet@google.com>, Matthieu Baerts <matthieu.baerts@tessares.net>, "David S. Miller" <davem@davemloft.net>, Jakub Kicinski <kuba@kernel.org>, Shuah Khan <shuah@kernel.org>
tools/testing/selftests/net/mptcp/mptcp_join.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH mptcp-next] Squash to "selftests: mptcp: add MP_FAIL reset testcase" - cleanups
Posted by Geliang Tang 1 week, 4 days ago
Two small cleanups for MP_FAIL reset test case:

Reduce the test files size from 1024 to 128, to make the test faster.
With Paolo's fix [2] for MP_FAIL test-case, the test becomes very slow.

Drop '+'s passed to chk_csum_nr, with Paolo's fix [1] for act_pedit, no
extra checksum failures now, no need to add '+'s anymore.

Depends on Paolo's commits:
[1] net/sched: act_pedit: really ensure the skb is writable
[2] selftests: mptcp: fix MP_FAIL test-case

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

diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index a5e90532eaea..91c840ec91c8 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -2739,8 +2739,8 @@ fail_tests()
 		pm_nl_set_limits $ns1 0 1
 		pm_nl_set_limits $ns2 0 1
 		pm_nl_add_endpoint $ns2 10.0.2.2 dev ns2eth2 flags subflow
-		run_tests $ns1 $ns2 10.0.1.1 1024
-		chk_join_nr 1 1 1 +1 +0 1 1 0 "$(pedit_action_pkts)"
+		run_tests $ns1 $ns2 10.0.1.1 128
+		chk_join_nr 1 1 1 1 0 1 1 0 "$(pedit_action_pkts)"
 	fi
 }
 
-- 
2.34.1


Re: [PATCH mptcp-next] Squash to "selftests: mptcp: add MP_FAIL reset testcase" - cleanups
Posted by Geliang Tang 1 week, 4 days ago
On Wed, May 04, 2022 at 07:44:24PM +0800, Geliang Tang wrote:
> Two small cleanups for MP_FAIL reset test case:
> 
> Reduce the test files size from 1024 to 128, to make the test faster.

The original commit log needs to update too:

 1024KB -> 128KB

'''
Add the multiple subflows test case for MP_FAIL, to test the MP_FAIL
reset case. Use the test_linkfail value to make 128KB test files.

...
...
'''

> With Paolo's fix [2] for MP_FAIL test-case, the test becomes very slow.
> 
> Drop '+'s passed to chk_csum_nr, with Paolo's fix [1] for act_pedit, no
> extra checksum failures now, no need to add '+'s anymore.
> 
> Depends on Paolo's commits:
> [1] net/sched: act_pedit: really ensure the skb is writable
> [2] selftests: mptcp: fix MP_FAIL test-case
> 
> Signed-off-by: Geliang Tang <geliang.tang@suse.com>
> ---
>  tools/testing/selftests/net/mptcp/mptcp_join.sh | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
> index a5e90532eaea..91c840ec91c8 100755
> --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
> +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
> @@ -2739,8 +2739,8 @@ fail_tests()
>  		pm_nl_set_limits $ns1 0 1
>  		pm_nl_set_limits $ns2 0 1
>  		pm_nl_add_endpoint $ns2 10.0.2.2 dev ns2eth2 flags subflow
> -		run_tests $ns1 $ns2 10.0.1.1 1024
> -		chk_join_nr 1 1 1 +1 +0 1 1 0 "$(pedit_action_pkts)"
> +		run_tests $ns1 $ns2 10.0.1.1 128
> +		chk_join_nr 1 1 1 1 0 1 1 0 "$(pedit_action_pkts)"
>  	fi
>  }
>  
> -- 
> 2.34.1
> 


Re: [PATCH mptcp-next] Squash to "selftests: mptcp: add MP_FAIL reset testcase" - cleanups
Posted by Paolo Abeni 1 week, 4 days ago
Hi Geliang,

On Wed, 2022-05-04 at 20:14 +0800, Geliang Tang wrote:
> On Wed, May 04, 2022 at 07:44:24PM +0800, Geliang Tang wrote:
> > Two small cleanups for MP_FAIL reset test case:
> > 
> > Reduce the test files size from 1024 to 128, to make the test faster.
> 
> The original commit log needs to update too:
> 
>  1024KB -> 128KB
> 
> '''
> Add the multiple subflows test case for MP_FAIL, to test the MP_FAIL
> reset case. Use the test_linkfail value to make 128KB test files.
> 
> ...
> ...
> '''
> 
> > With Paolo's fix [2] for MP_FAIL test-case, the test becomes very slow.
> > 
> > Drop '+'s passed to chk_csum_nr, with Paolo's fix [1] for act_pedit, no
> > extra checksum failures now, no need to add '+'s anymore.
> > 
> > Depends on Paolo's commits:
> > [1] net/sched: act_pedit: really ensure the skb is writable
> > [2] selftests: mptcp: fix MP_FAIL test-case
> > 
> > Signed-off-by: Geliang Tang <geliang.tang@suse.com>

I noticed the the time increase. Unfortunatelly, it may be necessary to
be reliable in all environment, comprising the slowers one.

Mat (M.) was able to reproduce some failure with b/w == 10Mbps and size
== 1M. I think/guess he could hit the same failure even with 1Mbps and
size == 128K.

We need at least some additional testing for this one.

Thanks!

Paolo


Re: [PATCH mptcp-next] Squash to "selftests: mptcp: add MP_FAIL reset testcase" - cleanups
Posted by Geliang Tang 1 week, 4 days ago
Paolo Abeni <pabeni@redhat.com> 于2022年5月4日周三 21:04写道:
>
> Hi Geliang,
>
> On Wed, 2022-05-04 at 20:14 +0800, Geliang Tang wrote:
> > On Wed, May 04, 2022 at 07:44:24PM +0800, Geliang Tang wrote:
> > > Two small cleanups for MP_FAIL reset test case:
> > >
> > > Reduce the test files size from 1024 to 128, to make the test faster.
> >
> > The original commit log needs to update too:
> >
> >  1024KB -> 128KB
> >
> > '''
> > Add the multiple subflows test case for MP_FAIL, to test the MP_FAIL
> > reset case. Use the test_linkfail value to make 128KB test files.
> >
> > ...
> > ...
> > '''
> >
> > > With Paolo's fix [2] for MP_FAIL test-case, the test becomes very slow.
> > >
> > > Drop '+'s passed to chk_csum_nr, with Paolo's fix [1] for act_pedit, no
> > > extra checksum failures now, no need to add '+'s anymore.
> > >
> > > Depends on Paolo's commits:
> > > [1] net/sched: act_pedit: really ensure the skb is writable
> > > [2] selftests: mptcp: fix MP_FAIL test-case
> > >
> > > Signed-off-by: Geliang Tang <geliang.tang@suse.com>
>
> I noticed the the time increase. Unfortunatelly, it may be necessary to
> be reliable in all environment, comprising the slowers one.
>
> Mat (M.) was able to reproduce some failure with b/w == 10Mbps and size
> == 1M. I think/guess he could hit the same failure even with 1Mbps and
> size == 128K.
>
> We need at least some additional testing for this one.

If so, let's continue to use 1024k test file sizes.

>
> Thanks!
>
> Paolo
>
>

Re: [PATCH mptcp-next] Squash to "selftests: mptcp: add MP_FAIL reset testcase" - cleanups
Posted by Mat Martineau 1 week, 4 days ago
On Wed, 4 May 2022, Geliang Tang wrote:

> Paolo Abeni <pabeni@redhat.com> 于2022年5月4日周三 21:04写道:
>>
>> Hi Geliang,
>>
>> On Wed, 2022-05-04 at 20:14 +0800, Geliang Tang wrote:
>>> On Wed, May 04, 2022 at 07:44:24PM +0800, Geliang Tang wrote:
>>>> Two small cleanups for MP_FAIL reset test case:
>>>>
>>>> Reduce the test files size from 1024 to 128, to make the test faster.
>>>
>>> The original commit log needs to update too:
>>>
>>>  1024KB -> 128KB
>>>
>>> '''
>>> Add the multiple subflows test case for MP_FAIL, to test the MP_FAIL
>>> reset case. Use the test_linkfail value to make 128KB test files.
>>>
>>> ...
>>> ...
>>> '''
>>>
>>>> With Paolo's fix [2] for MP_FAIL test-case, the test becomes very slow.
>>>>
>>>> Drop '+'s passed to chk_csum_nr, with Paolo's fix [1] for act_pedit, no
>>>> extra checksum failures now, no need to add '+'s anymore.
>>>>
>>>> Depends on Paolo's commits:
>>>> [1] net/sched: act_pedit: really ensure the skb is writable
>>>> [2] selftests: mptcp: fix MP_FAIL test-case
>>>>
>>>> Signed-off-by: Geliang Tang <geliang.tang@suse.com>
>>
>> I noticed the the time increase. Unfortunatelly, it may be necessary to
>> be reliable in all environment, comprising the slowers one.
>>
>> Mat (M.) was able to reproduce some failure with b/w == 10Mbps and size
>> == 1M. I think/guess he could hit the same failure even with 1Mbps and
>> size == 128K.
>>
>> We need at least some additional testing for this one.
>
> If so, let's continue to use 1024k test file sizes.
>

It's reliable for me at 128k so far. I'm fine with squashing the patch 
as-is, we can increase the file size if CI (or humans) complain.

--
Mat Martineau
Intel
Re: [PATCH mptcp-next] Squash to "selftests: mptcp: add MP_FAIL reset testcase" - cleanups
Posted by Mat Martineau 1 week, 4 days ago
On Wed, 4 May 2022, Mat Martineau wrote:

> On Wed, 4 May 2022, Geliang Tang wrote:
>
>> Paolo Abeni <pabeni@redhat.com> 于2022年5月4日周三 21:04写道:
>>> 
>>> Hi Geliang,
>>> 
>>> On Wed, 2022-05-04 at 20:14 +0800, Geliang Tang wrote:
>>>> On Wed, May 04, 2022 at 07:44:24PM +0800, Geliang Tang wrote:
>>>>> Two small cleanups for MP_FAIL reset test case:
>>>>> 
>>>>> Reduce the test files size from 1024 to 128, to make the test faster.
>>>> 
>>>> The original commit log needs to update too:
>>>>
>>>>  1024KB -> 128KB
>>>> 
>>>> '''
>>>> Add the multiple subflows test case for MP_FAIL, to test the MP_FAIL
>>>> reset case. Use the test_linkfail value to make 128KB test files.
>>>> 
>>>> ...
>>>> ...
>>>> '''
>>>> 
>>>>> With Paolo's fix [2] for MP_FAIL test-case, the test becomes very slow.
>>>>> 
>>>>> Drop '+'s passed to chk_csum_nr, with Paolo's fix [1] for act_pedit, no
>>>>> extra checksum failures now, no need to add '+'s anymore.
>>>>> 
>>>>> Depends on Paolo's commits:
>>>>> [1] net/sched: act_pedit: really ensure the skb is writable
>>>>> [2] selftests: mptcp: fix MP_FAIL test-case
>>>>> 
>>>>> Signed-off-by: Geliang Tang <geliang.tang@suse.com>
>>> 
>>> I noticed the the time increase. Unfortunatelly, it may be necessary to
>>> be reliable in all environment, comprising the slowers one.
>>> 
>>> Mat (M.) was able to reproduce some failure with b/w == 10Mbps and size
>>> == 1M. I think/guess he could hit the same failure even with 1Mbps and
>>> size == 128K.
>>> 
>>> We need at least some additional testing for this one.
>> 
>> If so, let's continue to use 1024k test file sizes.
>> 
>
> It's reliable for me at 128k so far. I'm fine with squashing the patch as-is, 
> we can increase the file size if CI (or humans) complain.
>

It did fail after 193 iterations (kernel with debug config):

002 MP_FAIL MP_RST: 1 corrupted pkts     syn[ ok ] - synack[ ok ] - ack[ ok ]
                                          sum[ ok ] - csum  [ ok ]
                                          ftx[ ok ] - failrx[fail] got 0 MP_FAIL[s] RX expected 1

So 128k seems to be too small.

--
Mat Martineau
Intel
Re: [PATCH mptcp-next] Squash to "selftests: mptcp: add MP_FAIL reset testcase" - cleanups
Posted by Matthieu Baerts 1 week, 4 days ago
Hi Paolo, Geliang,

On 04/05/2022 15:03, Paolo Abeni wrote:
> Hi Geliang,
> 
> On Wed, 2022-05-04 at 20:14 +0800, Geliang Tang wrote:
>> On Wed, May 04, 2022 at 07:44:24PM +0800, Geliang Tang wrote:
>>> Two small cleanups for MP_FAIL reset test case:
>>>
>>> Reduce the test files size from 1024 to 128, to make the test faster.
>>
>> The original commit log needs to update too:
>>
>>  1024KB -> 128KB
>>
>> '''
>> Add the multiple subflows test case for MP_FAIL, to test the MP_FAIL
>> reset case. Use the test_linkfail value to make 128KB test files.
>>
>> ...
>> ...
>> '''
>>
>>> With Paolo's fix [2] for MP_FAIL test-case, the test becomes very slow.
>>>
>>> Drop '+'s passed to chk_csum_nr, with Paolo's fix [1] for act_pedit, no
>>> extra checksum failures now, no need to add '+'s anymore.
>>>
>>> Depends on Paolo's commits:
>>> [1] net/sched: act_pedit: really ensure the skb is writable
>>> [2] selftests: mptcp: fix MP_FAIL test-case
>>>
>>> Signed-off-by: Geliang Tang <geliang.tang@suse.com>
> 
> I noticed the the time increase. Unfortunatelly, it may be necessary to
> be reliable in all environment, comprising the slowers one.

I might have not follow what's the root cause but would it help to add
some latency on the primary link to force the kernel to use the second one?

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