[PATCH mptcp-net] selftests: mptcp: fix ipv6 routing setup

Paolo Abeni posted 1 patch 2 years, 3 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/multipath-tcp/mptcp_net-next tags/patchew/059912660c7f5973da40413a9384bad542047013.1642098123.git.pabeni@redhat.com
Maintainers: Matthieu Baerts <matthieu.baerts@tessares.net>, Jakub Kicinski <kuba@kernel.org>, "David S. Miller" <davem@davemloft.net>, Geliang Tang <geliangtang@gmail.com>, Shuah Khan <shuah@kernel.org>, Mat Martineau <mathew.j.martineau@linux.intel.com>, Paolo Abeni <pabeni@redhat.com>
tools/testing/selftests/net/mptcp/mptcp_join.sh | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
[PATCH mptcp-net] selftests: mptcp: fix ipv6 routing setup
Posted by Paolo Abeni 2 years, 3 months ago
MPJ ipv6 selftests currently lack per link route to the server
net. Additionally, ipv6 subflows endpoints are created without any
interface specified. The end-result is that in ipv6 self-tests
subflows are created all on the same link, leading to expected delays
and sporadic self-tests failures.

Fix the issue by adding the missing setup bits.

Fixes: 523514ed0a99 ("selftests: mptcp: add ADD_ADDR IPv6 test cases")
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
---
 tools/testing/selftests/net/mptcp/mptcp_join.sh | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index e48ce23d2386..2be3cad4b52b 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -76,6 +76,7 @@ init()
 
 		# let $ns2 reach any $ns1 address from any interface
 		ip -net "$ns2" route add default via 10.0.$i.1 dev ns2eth$i metric 10$i
+		ip -net "$ns2" route add default via dead:beef:$i::1 dev ns2eth$i metric 10$i
 	done
 }
 
@@ -1510,7 +1511,7 @@ ipv6_tests()
 	reset
 	ip netns exec $ns1 ./pm_nl_ctl limits 0 1
 	ip netns exec $ns2 ./pm_nl_ctl limits 0 1
-	ip netns exec $ns2 ./pm_nl_ctl add dead:beef:3::2 flags subflow
+	ip netns exec $ns2 ./pm_nl_ctl add dead:beef:3::2 dev ns2eth3 flags subflow
 	run_tests $ns1 $ns2 dead:beef:1::1 0 0 0 slow
 	chk_join_nr "single subflow IPv6" 1 1 1
 
@@ -1545,7 +1546,7 @@ ipv6_tests()
 	ip netns exec $ns1 ./pm_nl_ctl limits 0 2
 	ip netns exec $ns1 ./pm_nl_ctl add dead:beef:2::1 flags signal
 	ip netns exec $ns2 ./pm_nl_ctl limits 1 2
-	ip netns exec $ns2 ./pm_nl_ctl add dead:beef:3::2 flags subflow
+	ip netns exec $ns2 ./pm_nl_ctl add dead:beef:3::2 dev ns2eth3 flags subflow
 	run_tests $ns1 $ns2 dead:beef:1::1 0 -1 -1 slow
 	chk_join_nr "remove subflow and signal IPv6" 2 2 2
 	chk_add_nr 1 1
-- 
2.33.1


Re: [PATCH mptcp-net] selftests: mptcp: fix ipv6 routing setup
Posted by Matthieu Baerts 2 years, 3 months ago
Hi Paolo, Mat, Geliang,

On 13/01/2022 19:34, Paolo Abeni wrote:
> MPJ ipv6 selftests currently lack per link route to the server
> net. Additionally, ipv6 subflows endpoints are created without any
> interface specified. The end-result is that in ipv6 self-tests
> subflows are created all on the same link, leading to expected delays
> and sporadic self-tests failures.
> 
> Fix the issue by adding the missing setup bits.

Thank you for the patch, review and test!

Now in our tree (fixes for -net) with Mat's RvB and Geliang's R&T tags:

- 9b1eb82a3253: selftests: mptcp: fix ipv6 routing setup
- Results: 26c341404c60..a99ed2058930

Builds and tests are now in progress:

https://cirrus-ci.com/github/multipath-tcp/mptcp_net-next/export/20220114T145330
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

Re: [PATCH mptcp-net] selftests: mptcp: fix ipv6 routing setup
Posted by Mat Martineau 2 years, 3 months ago
On Thu, 13 Jan 2022, Paolo Abeni wrote:

> MPJ ipv6 selftests currently lack per link route to the server
> net. Additionally, ipv6 subflows endpoints are created without any
> interface specified. The end-result is that in ipv6 self-tests
> subflows are created all on the same link, leading to expected delays
> and sporadic self-tests failures.
>
> Fix the issue by adding the missing setup bits.
>
> Fixes: 523514ed0a99 ("selftests: mptcp: add ADD_ADDR IPv6 test cases")
> Signed-off-by: Paolo Abeni <pabeni@redhat.com>

Thanks Paolo, looks good to me:

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

> ---
> tools/testing/selftests/net/mptcp/mptcp_join.sh | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
> index e48ce23d2386..2be3cad4b52b 100755
> --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
> +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
> @@ -76,6 +76,7 @@ init()
>
> 		# let $ns2 reach any $ns1 address from any interface
> 		ip -net "$ns2" route add default via 10.0.$i.1 dev ns2eth$i metric 10$i
> +		ip -net "$ns2" route add default via dead:beef:$i::1 dev ns2eth$i metric 10$i
> 	done
> }
>
> @@ -1510,7 +1511,7 @@ ipv6_tests()
> 	reset
> 	ip netns exec $ns1 ./pm_nl_ctl limits 0 1
> 	ip netns exec $ns2 ./pm_nl_ctl limits 0 1
> -	ip netns exec $ns2 ./pm_nl_ctl add dead:beef:3::2 flags subflow
> +	ip netns exec $ns2 ./pm_nl_ctl add dead:beef:3::2 dev ns2eth3 flags subflow
> 	run_tests $ns1 $ns2 dead:beef:1::1 0 0 0 slow
> 	chk_join_nr "single subflow IPv6" 1 1 1
>
> @@ -1545,7 +1546,7 @@ ipv6_tests()
> 	ip netns exec $ns1 ./pm_nl_ctl limits 0 2
> 	ip netns exec $ns1 ./pm_nl_ctl add dead:beef:2::1 flags signal
> 	ip netns exec $ns2 ./pm_nl_ctl limits 1 2
> -	ip netns exec $ns2 ./pm_nl_ctl add dead:beef:3::2 flags subflow
> +	ip netns exec $ns2 ./pm_nl_ctl add dead:beef:3::2 dev ns2eth3 flags subflow
> 	run_tests $ns1 $ns2 dead:beef:1::1 0 -1 -1 slow
> 	chk_join_nr "remove subflow and signal IPv6" 2 2 2
> 	chk_add_nr 1 1
> -- 
> 2.33.1
>
>
>

--
Mat Martineau
Intel

Re: [PATCH mptcp-net] selftests: mptcp: fix ipv6 routing setup
Posted by Geliang Tang 2 years, 3 months ago
Mat Martineau <mathew.j.martineau@linux.intel.com> 于2022年1月14日周五 07:57写道:
>
> On Thu, 13 Jan 2022, Paolo Abeni wrote:
>
> > MPJ ipv6 selftests currently lack per link route to the server
> > net. Additionally, ipv6 subflows endpoints are created without any
> > interface specified. The end-result is that in ipv6 self-tests
> > subflows are created all on the same link, leading to expected delays
> > and sporadic self-tests failures.
> >
> > Fix the issue by adding the missing setup bits.
> >
> > Fixes: 523514ed0a99 ("selftests: mptcp: add ADD_ADDR IPv6 test cases")
> > Signed-off-by: Paolo Abeni <pabeni@redhat.com>
>
> Thanks Paolo, looks good to me:
>
> Reviewed-by: Mat Martineau <mathew.j.martineau@linux.intel.com>

Reported-and-tested-by: Geliang Tang <geliang.tang@suse.com>

>
> > ---
> > tools/testing/selftests/net/mptcp/mptcp_join.sh | 5 +++--
> > 1 file changed, 3 insertions(+), 2 deletions(-)
> >
> > diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
> > index e48ce23d2386..2be3cad4b52b 100755
> > --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
> > +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
> > @@ -76,6 +76,7 @@ init()
> >
> >               # let $ns2 reach any $ns1 address from any interface
> >               ip -net "$ns2" route add default via 10.0.$i.1 dev ns2eth$i metric 10$i
> > +             ip -net "$ns2" route add default via dead:beef:$i::1 dev ns2eth$i metric 10$i
> >       done
> > }
> >
> > @@ -1510,7 +1511,7 @@ ipv6_tests()
> >       reset
> >       ip netns exec $ns1 ./pm_nl_ctl limits 0 1
> >       ip netns exec $ns2 ./pm_nl_ctl limits 0 1
> > -     ip netns exec $ns2 ./pm_nl_ctl add dead:beef:3::2 flags subflow
> > +     ip netns exec $ns2 ./pm_nl_ctl add dead:beef:3::2 dev ns2eth3 flags subflow
> >       run_tests $ns1 $ns2 dead:beef:1::1 0 0 0 slow
> >       chk_join_nr "single subflow IPv6" 1 1 1
> >
> > @@ -1545,7 +1546,7 @@ ipv6_tests()
> >       ip netns exec $ns1 ./pm_nl_ctl limits 0 2
> >       ip netns exec $ns1 ./pm_nl_ctl add dead:beef:2::1 flags signal
> >       ip netns exec $ns2 ./pm_nl_ctl limits 1 2
> > -     ip netns exec $ns2 ./pm_nl_ctl add dead:beef:3::2 flags subflow
> > +     ip netns exec $ns2 ./pm_nl_ctl add dead:beef:3::2 dev ns2eth3 flags subflow
> >       run_tests $ns1 $ns2 dead:beef:1::1 0 -1 -1 slow
> >       chk_join_nr "remove subflow and signal IPv6" 2 2 2
> >       chk_add_nr 1 1
> > --
> > 2.33.1
> >
> >
> >
>
> --
> Mat Martineau
> Intel
>