mptcp.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
* [PATCH mptcp-net] selftests: mptcp: enable syncookie only in absence of reorders
@ 2021-06-03 11:17 Paolo Abeni
  2021-06-03 11:29 ` Florian Westphal
  0 siblings, 1 reply; 3+ messages in thread
From: Paolo Abeni @ 2021-06-03 11:17 UTC (permalink / raw)
  To: mptcp; +Cc: fwestpha

Syncookie validation may fail for OoO packets, causing spurious
resets and self-tests failures, so let's force syncookie only
for tests iteration with no OoO.

Fixes: fed61c4b584c ("selftests: mptcp: make 2nd net namespace use tcp syn cookies unconditionally")
Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/198
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
---
 tools/testing/selftests/net/mptcp/mptcp_connect.sh | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/testing/selftests/net/mptcp/mptcp_connect.sh
index 69351c3eb68c..9e53334c9512 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh
@@ -202,9 +202,6 @@ ip -net "$ns4" link set ns4eth3 up
 ip -net "$ns4" route add default via 10.0.3.2
 ip -net "$ns4" route add default via dead:beef:3::2
 
-# use TCP syn cookies, even if no flooding was detected.
-ip netns exec "$ns2" sysctl -q net.ipv4.tcp_syncookies=2
-
 if $checksum; then
 	for i in "$ns1" "$ns2" "$ns3" "$ns4";do
 		ip netns exec $i sysctl -q net.mptcp.checksum_enabled=1
@@ -748,6 +745,13 @@ for sender in $ns1 $ns2 $ns3 $ns4;do
 		exit $ret
 	fi
 
+	# force TCP syn cookies only if there is no reorder
+	if [ $sender = $ns1 ]; then
+		ip netns exec "$ns2" sysctl -q net.ipv4.tcp_syncookies=2
+	else
+		ip netns exec "$ns2" sysctl -q net.ipv4.tcp_syncookies=1
+	fi
+
 	run_tests "$ns2" $sender 10.0.1.2
 	run_tests "$ns2" $sender dead:beef:1::2
 	run_tests "$ns2" $sender 10.0.2.1
-- 
2.26.3


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH mptcp-net] selftests: mptcp: enable syncookie only in absence of reorders
  2021-06-03 11:17 [PATCH mptcp-net] selftests: mptcp: enable syncookie only in absence of reorders Paolo Abeni
@ 2021-06-03 11:29 ` Florian Westphal
  2021-06-03 14:47   ` Paolo Abeni
  0 siblings, 1 reply; 3+ messages in thread
From: Florian Westphal @ 2021-06-03 11:29 UTC (permalink / raw)
  To: Paolo Abeni; +Cc: mptcp, fwestpha

Paolo Abeni <pabeni@redhat.com> wrote:
> Syncookie validation may fail for OoO packets, causing spurious
> resets and self-tests failures, so let's force syncookie only
> for tests iteration with no OoO.
> 
> Fixes: fed61c4b584c ("selftests: mptcp: make 2nd net namespace use tcp syn cookies unconditionally")
> Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/198
> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
> ---
>  tools/testing/selftests/net/mptcp/mptcp_connect.sh | 10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/testing/selftests/net/mptcp/mptcp_connect.sh
> index 69351c3eb68c..9e53334c9512 100755
> --- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh
> +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh
> @@ -202,9 +202,6 @@ ip -net "$ns4" link set ns4eth3 up
>  ip -net "$ns4" route add default via 10.0.3.2
>  ip -net "$ns4" route add default via dead:beef:3::2
>  
> -# use TCP syn cookies, even if no flooding was detected.
> -ip netns exec "$ns2" sysctl -q net.ipv4.tcp_syncookies=2
> -
>  if $checksum; then
>  	for i in "$ns1" "$ns2" "$ns3" "$ns4";do
>  		ip netns exec $i sysctl -q net.mptcp.checksum_enabled=1
> @@ -748,6 +745,13 @@ for sender in $ns1 $ns2 $ns3 $ns4;do
>  		exit $ret
>  	fi
>  
> +	# force TCP syn cookies only if there is no reorder
> +	if [ $sender = $ns1 ]; then
> +		ip netns exec "$ns2" sysctl -q net.ipv4.tcp_syncookies=2

I wasn't clear to me at first glance what $sender = $ns1 had to
do with reordering.

Maybe:

# ns1<->ns2 is not subject to reordering/tc delays.  Use it to test
# mptcp syncookie support.

?

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH mptcp-net] selftests: mptcp: enable syncookie only in absence of reorders
  2021-06-03 11:29 ` Florian Westphal
@ 2021-06-03 14:47   ` Paolo Abeni
  0 siblings, 0 replies; 3+ messages in thread
From: Paolo Abeni @ 2021-06-03 14:47 UTC (permalink / raw)
  To: Florian Westphal; +Cc: mptcp, fwestpha

On Thu, 2021-06-03 at 13:29 +0200, Florian Westphal wrote:
> Paolo Abeni <pabeni@redhat.com> wrote:
> > Syncookie validation may fail for OoO packets, causing spurious
> > resets and self-tests failures, so let's force syncookie only
> > for tests iteration with no OoO.
> > 
> > Fixes: fed61c4b584c ("selftests: mptcp: make 2nd net namespace use tcp syn cookies unconditionally")
> > Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/198
> > Signed-off-by: Paolo Abeni <pabeni@redhat.com>
> > ---
> >  tools/testing/selftests/net/mptcp/mptcp_connect.sh | 10 +++++++---
> >  1 file changed, 7 insertions(+), 3 deletions(-)
> > 
> > diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/testing/selftests/net/mptcp/mptcp_connect.sh
> > index 69351c3eb68c..9e53334c9512 100755
> > --- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh
> > +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh
> > @@ -202,9 +202,6 @@ ip -net "$ns4" link set ns4eth3 up
> >  ip -net "$ns4" route add default via 10.0.3.2
> >  ip -net "$ns4" route add default via dead:beef:3::2
> >  
> > -# use TCP syn cookies, even if no flooding was detected.
> > -ip netns exec "$ns2" sysctl -q net.ipv4.tcp_syncookies=2
> > -
> >  if $checksum; then
> >  	for i in "$ns1" "$ns2" "$ns3" "$ns4";do
> >  		ip netns exec $i sysctl -q net.mptcp.checksum_enabled=1
> > @@ -748,6 +745,13 @@ for sender in $ns1 $ns2 $ns3 $ns4;do
> >  		exit $ret
> >  	fi
> >  
> > +	# force TCP syn cookies only if there is no reorder
> > +	if [ $sender = $ns1 ]; then
> > +		ip netns exec "$ns2" sysctl -q net.ipv4.tcp_syncookies=2
> 
> I wasn't clear to me at first glance what $sender = $ns1 had to
> do with reordering.
> 
> Maybe:
> 
> # ns1<->ns2 is not subject to reordering/tc delays.  Use it to test
> # mptcp syncookie support.

Yep, that does not hurt ;) Will add in v2, thanks!

/P
> 


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-06-03 14:47 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-03 11:17 [PATCH mptcp-net] selftests: mptcp: enable syncookie only in absence of reorders Paolo Abeni
2021-06-03 11:29 ` Florian Westphal
2021-06-03 14:47   ` Paolo Abeni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).