* Re: [MPTCP] [PATCH] mptcp: selftests: exercise GSO, retransmission and reorder code path
@ 2019-05-21 13:28 Matthieu Baerts
0 siblings, 0 replies; 8+ messages in thread
From: Matthieu Baerts @ 2019-05-21 13:28 UTC (permalink / raw)
To: mptcp
[-- Attachment #1: Type: text/plain, Size: 1986 bytes --]
Hi Paolo, Florian,
Thank you for the patch and the review!
That's nice nothing is broken after this!
On 21/05/2019 12:51, Florian Westphal wrote:
> Paolo Abeni <pabeni(a)redhat.com> wrote:
>> On Tue, 2019-05-21 at 11:08 +0200, Florian Westphal wrote:
>>> Paolo Abeni <pabeni(a)redhat.com> wrote:
>>>> This introduces a few artifacts on the virtual network topology
>>>> via the netem scheduler and disabling features on some veth, so
>>>> that we exercise the MTCP stack more.
>>>
>>> I would suggest to not do this unconditionally.
>>>
>>> Perhaps we can make it so that the tests are run twice,
>>> once as-is and once with tc+tso off?
>>>
>>> This way we might still catch tso-related bugs, as feature path
>>> is slightly different.
>>
>> I thought about that. Currently we have a set of very similar test -
>> e.g. ns1 -> ns3, ns1 -> ns4 and the opposite directions should be
>> basically the same, with a little higher latencies for ns1<->ns4
>> compared to ns1 <-> ns3
>>
>> With the proposed patch we still have some tests with no artifact (ns1
>> -> ns2) but we effectively lose the forwarding scenario with no
>> artifact.
>>
>> I'd like to avoid the excessive grow (in term of time) of these tests.
>
> Ah, thats right, we still have it enabled on other netns.
>
> OK, thats fine then.
>
>> What if we remove a ns (ns4) and we do 2 iteration of the remaining,
>> one with no TC/with TSO and the other with such artifacts?
>
> Thats another option, but I don't have a preference, your change is fine
> as-is.
Paolo, do you want to change something or can I apply this patch?
Cheers,
Matt
> _______________________________________________
> mptcp mailing list
> mptcp(a)lists.01.org
> https://lists.01.org/mailman/listinfo/mptcp
>
--
Matthieu Baerts | R&D Engineer
matthieu.baerts(a)tessares.net
Tessares SA | Hybrid Access Solutions
www.tessares.net
1 Avenue Jean Monnet, 1348 Louvain-la-Neuve, Belgium
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [MPTCP] [PATCH] mptcp: selftests: exercise GSO, retransmission and reorder code path
@ 2019-05-21 17:49 Mat Martineau
0 siblings, 0 replies; 8+ messages in thread
From: Mat Martineau @ 2019-05-21 17:49 UTC (permalink / raw)
To: mptcp
[-- Attachment #1: Type: text/plain, Size: 1177 bytes --]
On Tue, 21 May 2019, Matthieu Baerts wrote:
> On 21/05/2019 15:55, Paolo Abeni wrote:
>> On Tue, 2019-05-21 at 15:28 +0200, Matthieu Baerts wrote:
>>> On 21/05/2019 12:51, Florian Westphal wrote:
>>>> Thats another option, but I don't have a preference, your change is fine
>>>> as-is.
>>>
>>> Paolo, do you want to change something or can I apply this patch?
>>
>> If nobody opposes, I think it can go in as-is, thanks!
>
> Great! If someone opposes, we can easily revert/modify later!
>
> Just "squashed" into commit 40e8869bdd0f ("mptcp: selftests:
> switch to netns+veth based tests")
>
> - squash: 2707b30453da
> - signed-off: b23efa13d890
> - no conflict: /
> - export commit: fb5407ead32f
>
Thanks for the test updates, Paolo.
One thing to note: the packet reordering is only affecting TCP reassembly,
and does not exercise reassembly at the MPTCP layer differently. The
stream is still delivered to the MPTCP layer in-order.
MPTCP-level reassembly in the prototype implementation does not yet handle
out-of-order mappings. That will get built in when updating
mptcp_recvmsg() for multiple subflows.
--
Mat Martineau
Intel
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [MPTCP] [PATCH] mptcp: selftests: exercise GSO, retransmission and reorder code path
@ 2019-05-21 14:45 Matthieu Baerts
0 siblings, 0 replies; 8+ messages in thread
From: Matthieu Baerts @ 2019-05-21 14:45 UTC (permalink / raw)
To: mptcp
[-- Attachment #1: Type: text/plain, Size: 864 bytes --]
On 21/05/2019 15:55, Paolo Abeni wrote:
> On Tue, 2019-05-21 at 15:28 +0200, Matthieu Baerts wrote:
>> On 21/05/2019 12:51, Florian Westphal wrote:
>>> Thats another option, but I don't have a preference, your change is fine
>>> as-is.
>>
>> Paolo, do you want to change something or can I apply this patch?
>
> If nobody opposes, I think it can go in as-is, thanks!
Great! If someone opposes, we can easily revert/modify later!
Just "squashed" into commit 40e8869bdd0f ("mptcp: selftests:
switch to netns+veth based tests")
- squash: 2707b30453da
- signed-off: b23efa13d890
- no conflict: /
- export commit: fb5407ead32f
Cheers,
Matt
>
> Paolo
>
--
Matthieu Baerts | R&D Engineer
matthieu.baerts(a)tessares.net
Tessares SA | Hybrid Access Solutions
www.tessares.net
1 Avenue Jean Monnet, 1348 Louvain-la-Neuve, Belgium
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [MPTCP] [PATCH] mptcp: selftests: exercise GSO, retransmission and reorder code path
@ 2019-05-21 13:55 Paolo Abeni
0 siblings, 0 replies; 8+ messages in thread
From: Paolo Abeni @ 2019-05-21 13:55 UTC (permalink / raw)
To: mptcp
[-- Attachment #1: Type: text/plain, Size: 339 bytes --]
On Tue, 2019-05-21 at 15:28 +0200, Matthieu Baerts wrote:
> On 21/05/2019 12:51, Florian Westphal wrote:
> > Thats another option, but I don't have a preference, your change is fine
> > as-is.
>
> Paolo, do you want to change something or can I apply this patch?
If nobody opposes, I think it can go in as-is, thanks!
Paolo
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [MPTCP] [PATCH] mptcp: selftests: exercise GSO, retransmission and reorder code path
@ 2019-05-21 10:51 Florian Westphal
0 siblings, 0 replies; 8+ messages in thread
From: Florian Westphal @ 2019-05-21 10:51 UTC (permalink / raw)
To: mptcp
[-- Attachment #1: Type: text/plain, Size: 1389 bytes --]
Paolo Abeni <pabeni(a)redhat.com> wrote:
> On Tue, 2019-05-21 at 11:08 +0200, Florian Westphal wrote:
> > Paolo Abeni <pabeni(a)redhat.com> wrote:
> > > This introduces a few artifacts on the virtual network topology
> > > via the netem scheduler and disabling features on some veth, so
> > > that we exercise the MTCP stack more.
> >
> > I would suggest to not do this unconditionally.
> >
> > Perhaps we can make it so that the tests are run twice,
> > once as-is and once with tc+tso off?
> >
> > This way we might still catch tso-related bugs, as feature path
> > is slightly different.
>
> I thought about that. Currently we have a set of very similar test -
> e.g. ns1 -> ns3, ns1 -> ns4 and the opposite directions should be
> basically the same, with a little higher latencies for ns1<->ns4
> compared to ns1 <-> ns3
>
> With the proposed patch we still have some tests with no artifact (ns1
> -> ns2) but we effectively lose the forwarding scenario with no
> artifact.
>
> I'd like to avoid the excessive grow (in term of time) of these tests.
Ah, thats right, we still have it enabled on other netns.
OK, thats fine then.
> What if we remove a ns (ns4) and we do 2 iteration of the remaining,
> one with no TC/with TSO and the other with such artifacts?
Thats another option, but I don't have a preference, your change is fine
as-is.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [MPTCP] [PATCH] mptcp: selftests: exercise GSO, retransmission and reorder code path
@ 2019-05-21 9:49 Paolo Abeni
0 siblings, 0 replies; 8+ messages in thread
From: Paolo Abeni @ 2019-05-21 9:49 UTC (permalink / raw)
To: mptcp
[-- Attachment #1: Type: text/plain, Size: 1238 bytes --]
On Tue, 2019-05-21 at 11:08 +0200, Florian Westphal wrote:
> Paolo Abeni <pabeni(a)redhat.com> wrote:
> > This introduces a few artifacts on the virtual network topology
> > via the netem scheduler and disabling features on some veth, so
> > that we exercise the MTCP stack more.
>
> I would suggest to not do this unconditionally.
>
> Perhaps we can make it so that the tests are run twice,
> once as-is and once with tc+tso off?
>
> This way we might still catch tso-related bugs, as feature path
> is slightly different.
I thought about that. Currently we have a set of very similar test -
e.g. ns1 -> ns3, ns1 -> ns4 and the opposite directions should be
basically the same, with a little higher latencies for ns1<->ns4
compared to ns1 <-> ns3
With the proposed patch we still have some tests with no artifact (ns1
-> ns2) but we effectively lose the forwarding scenario with no
artifact.
I'd like to avoid the excessive grow (in term of time) of these tests.
What if we remove a ns (ns4) and we do 2 iteration of the remaining,
one with no TC/with TSO and the other with such artifacts?
The total number of tests should not change and we would cover any
scenario.
WDYT?
thanks,
Paolo
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [MPTCP] [PATCH] mptcp: selftests: exercise GSO, retransmission and reorder code path
@ 2019-05-21 9:08 Florian Westphal
0 siblings, 0 replies; 8+ messages in thread
From: Florian Westphal @ 2019-05-21 9:08 UTC (permalink / raw)
To: mptcp
[-- Attachment #1: Type: text/plain, Size: 490 bytes --]
Paolo Abeni <pabeni(a)redhat.com> wrote:
> This introduces a few artifacts on the virtual network topology
> via the netem scheduler and disabling features on some veth, so
> that we exercise the MTCP stack more.
Hi Paolo
I would suggest to not do this unconditionally.
Perhaps we can make it so that the tests are run twice,
once as-is and once with tc+tso off?
This way we might still catch tso-related bugs, as feature path
is slightly different.
What do you think?
^ permalink raw reply [flat|nested] 8+ messages in thread
* [MPTCP] [PATCH] mptcp: selftests: exercise GSO, retransmission and reorder code path
@ 2019-05-21 8:41 Paolo Abeni
0 siblings, 0 replies; 8+ messages in thread
From: Paolo Abeni @ 2019-05-21 8:41 UTC (permalink / raw)
To: mptcp
[-- Attachment #1: Type: text/plain, Size: 2205 bytes --]
This introduces a few artifacts on the virtual network topology
via the netem scheduler and disabling features on some veth, so
that we exercise the MTCP stack more.
Signed-off-by: Paolo Abeni <pabeni(a)redhat.com>
---
notes:
- to my surprise, self-tests are still succesfull here, even if
some of them take considerably longer
- this can be squashed into commit 40e8869bdd0f ("mptcp: selftests:
switch to netns+veth based tests")
---
tools/testing/selftests/net/mptcp/mptcp_connect.sh | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/testing/selftests/net/mptcp/mptcp_connect.sh
index ee478e94d8a2..1ce5c85577fb 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh
@@ -45,8 +45,10 @@ for i in 1 2 3 4;do
ip -net ns$i link set lo up
done
-# ns1 ns2 ns3 ns4
-# ns1eth2 ns2eth1 ns2eth3 ns3eth2 ns3eth4 ns4eth3
+# ns1 ns2 ns3 ns4
+# ns1eth2 ns2eth1 ns2eth3 ns3eth2 ns3eth4 ns4eth3
+# - drop 1% -> reorder 25%
+# <- TSO off -
ip link add ns1eth2 netns ns1 type veth peer name ns2eth1 netns ns2
ip link add ns2eth3 netns ns2 type veth peer name ns3eth2 netns ns3
@@ -62,6 +64,7 @@ ip -net ns2 link set ns2eth1 up
ip -net ns2 addr add 10.0.2.1/24 dev ns2eth3
ip -net ns2 link set ns2eth3 up
ip -net ns2 route add default via 10.0.2.2
+tc -net ns2 qdisc add dev ns2eth3 root netem loss random 1
ip netns exec ns2 sysctl -q net.ipv4.ip_forward=1
ip -net ns3 addr add 10.0.2.2/24 dev ns3eth2
@@ -70,6 +73,8 @@ ip -net ns3 link set ns3eth2 up
ip -net ns3 addr add 10.0.3.2/24 dev ns3eth4
ip -net ns3 link set ns3eth4 up
ip -net ns3 route add default via 10.0.2.1
+tc -net ns3 qdisc add dev ns3eth4 root netem delay 10ms reorder 25% 50% gap 5
+ip netns exec ns3 ethtook -K ns3eth2 tso off
ip netns exec ns3 sysctl -q net.ipv4.ip_forward=1
ip -net ns4 addr add 10.0.3.1/24 dev ns4eth3
--
2.20.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
end of thread, other threads:[~2019-05-21 17:49 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-21 13:28 [MPTCP] [PATCH] mptcp: selftests: exercise GSO, retransmission and reorder code path Matthieu Baerts
-- strict thread matches above, loose matches on Subject: below --
2019-05-21 17:49 Mat Martineau
2019-05-21 14:45 Matthieu Baerts
2019-05-21 13:55 Paolo Abeni
2019-05-21 10:51 Florian Westphal
2019-05-21 9:49 Paolo Abeni
2019-05-21 9:08 Florian Westphal
2019-05-21 8:41 Paolo Abeni
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.