[PATCH v2 mptcp-net 0/2] mptcp: restore zero window probe

Paolo Abeni posted 2 patches 1 week, 2 days ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/multipath-tcp/mptcp_net-next tags/patchew/cover.1761118636.git.pabeni@redhat.com
net/mptcp/mib.c      | 1 +
net/mptcp/mib.h      | 1 +
net/mptcp/protocol.c | 8 +++++++-
3 files changed, 9 insertions(+), 1 deletion(-)
[PATCH v2 mptcp-net 0/2] mptcp: restore zero window probe
Posted by Paolo Abeni 1 week, 2 days ago
It turns out that the issue reported by Geliang on the pending backlog
patches is actually on older one that the new code made more easy
reproducible.

The first patch in the series addresses it[1], the 2nd one introduce new
mibs to hopefully catch this problem sooned.

I have a pktdrill to validate this scenario. I'll share that soon.

@Geliang could you please validate the above in your testbed, on top of
the backlog and splice patches?

[1] at least here, at least with the packet drill reproducer ;)
---
v1 -> v2:
  - drop unneeded delta in patch 1/2

Paolo Abeni (2):
  mptcp: restore window probe
  mptcp: zero window probe mib

 net/mptcp/mib.c      | 1 +
 net/mptcp/mib.h      | 1 +
 net/mptcp/protocol.c | 8 +++++++-
 3 files changed, 9 insertions(+), 1 deletion(-)

-- 
2.51.0
Re: [PATCH v2 mptcp-net 0/2] mptcp: restore zero window probe
Posted by Matthieu Baerts 1 week ago
Hi Paolo, Geliang, Mat,

On 22/10/2025 09:39, Paolo Abeni wrote:
> It turns out that the issue reported by Geliang on the pending backlog
> patches is actually on older one that the new code made more easy
> reproducible.
> 
> The first patch in the series addresses it[1], the 2nd one introduce new
> mibs to hopefully catch this problem sooned.
> 
> I have a pktdrill to validate this scenario. I'll share that soon.

Thank you for the new pktdrill. I don't know if you saw my question:

  https://github.com/multipath-tcp/packetdrill/pull/179

I also just did a quick review and test while at it


> @Geliang could you please validate the above in your testbed, on top of
> the backlog and splice patches?

Thank you for the patches and the reviews! I already applied the
patches, I guess the issues with Packetdrill are in the test, not the
kernel modifications.


New patches for t/upstream-net and t/upstream:
- b7749bb6ab95: mptcp: restore window probe
- 5d8d442266f9: mptcp: zero window probe mib
- Results: 94b2567634ae..affaafb5552e (export-net)
- Results: 5d6d50a980ff..ed6f82a81575 (export)

Tests are now in progress:

- export-net:
https://github.com/multipath-tcp/mptcp_net-next/commit/5db161c8d173fc05a4d26fd5df5e8c6e90ac8c19/checks
- export:
https://github.com/multipath-tcp/mptcp_net-next/commit/785e3842513ff5993f32c918f90dbee62244ed63/checks

Cheers,
Matt
-- 
Sponsored by the NGI0 Core fund.
Re: [PATCH v2 mptcp-net 0/2] mptcp: restore zero window probe
Posted by Geliang Tang 1 week, 1 day ago
Hi Paolo,

On Wed, 2025-10-22 at 09:39 +0200, Paolo Abeni wrote:
> It turns out that the issue reported by Geliang on the pending
> backlog
> patches is actually on older one that the new code made more easy
> reproducible.
> 
> The first patch in the series addresses it[1], the 2nd one introduce
> new
> mibs to hopefully catch this problem sooned.
> 
> I have a pktdrill to validate this scenario. I'll share that soon.
> 
> @Geliang could you please validate the above in your testbed, on top
> of
> the backlog and splice patches?

Thanks very much. I've already started testing, and so far everything
is running smoothly. I'll let it run loop tests overnight and will have
the results by tomorrow morning. I'll provide you with feedback then.

Thanks,
-Geliang

> 
> [1] at least here, at least with the packet drill reproducer ;)
> ---
> v1 -> v2:
>   - drop unneeded delta in patch 1/2
> 
> Paolo Abeni (2):
>   mptcp: restore window probe
>   mptcp: zero window probe mib
> 
>  net/mptcp/mib.c      | 1 +
>  net/mptcp/mib.h      | 1 +
>  net/mptcp/protocol.c | 8 +++++++-
>  3 files changed, 9 insertions(+), 1 deletion(-)
> 

Re: [PATCH v2 mptcp-net 0/2] mptcp: restore zero window probe
Posted by Geliang Tang 1 week, 1 day ago
Hi Paolo,

On Wed, 2025-10-22 at 18:07 +0800, Geliang Tang wrote:
> Hi Paolo,
> 
> On Wed, 2025-10-22 at 09:39 +0200, Paolo Abeni wrote:
> > It turns out that the issue reported by Geliang on the pending
> > backlog
> > patches is actually on older one that the new code made more easy
> > reproducible.
> > 
> > The first patch in the series addresses it[1], the 2nd one
> > introduce
> > new
> > mibs to hopefully catch this problem sooned.
> > 
> > I have a pktdrill to validate this scenario. I'll share that soon.
> > 
> > @Geliang could you please validate the above in your testbed, on
> > top
> > of
> > the backlog and splice patches?
> 
> Thanks very much. I've already started testing, and so far everything
> is running smoothly. I'll let it run loop tests overnight and will
> have
> the results by tomorrow morning. I'll provide you with feedback then.

Thank you so much! This fix really works. I've run hundreds of splice
test loops with the following three patchsets applied, and no test
failures occurred:

	mptcp: restore zero window probe, v2
	mptcp: introduce backlog processing, v6
	implement mptcp read_sock, v13

Please add my tag for this set:

	Reported-and-tested-by: Geliang Tang <geliang@kernel.org>

> 
> Thanks,
> -Geliang
> 
> > 
> > [1] at least here, at least with the packet drill reproducer ;)
> > ---
> > v1 -> v2:
> >   - drop unneeded delta in patch 1/2

This change in v1 is valid. Later I will send a dedicated cleanup patch
for -next to use tcp_sk() in mptcp_sendmsg_frag() with your "Suggested-
by" tag.

Thanks,
-Geliang

> > 
> > Paolo Abeni (2):
> >   mptcp: restore window probe
> >   mptcp: zero window probe mib
> > 
> >  net/mptcp/mib.c      | 1 +
> >  net/mptcp/mib.h      | 1 +
> >  net/mptcp/protocol.c | 8 +++++++-
> >  3 files changed, 9 insertions(+), 1 deletion(-)
> > 
> 
> 

Re: [PATCH v2 mptcp-net 0/2] mptcp: restore zero window probe
Posted by Matthieu Baerts 1 week ago
Hi Geliang,

On 23/10/2025 08:24, Geliang Tang wrote:
> Hi Paolo,
> 
> On Wed, 2025-10-22 at 18:07 +0800, Geliang Tang wrote:
>> Hi Paolo,
>>
>> On Wed, 2025-10-22 at 09:39 +0200, Paolo Abeni wrote:
>>> It turns out that the issue reported by Geliang on the pending
>>> backlog
>>> patches is actually on older one that the new code made more easy
>>> reproducible.
>>>
>>> The first patch in the series addresses it[1], the 2nd one
>>> introduce
>>> new
>>> mibs to hopefully catch this problem sooned.
>>>
>>> I have a pktdrill to validate this scenario. I'll share that soon.
>>>
>>> @Geliang could you please validate the above in your testbed, on
>>> top
>>> of
>>> the backlog and splice patches?
>>
>> Thanks very much. I've already started testing, and so far everything
>> is running smoothly. I'll let it run loop tests overnight and will
>> have
>> the results by tomorrow morning. I'll provide you with feedback then.
> 
> Thank you so much! This fix really works. I've run hundreds of splice
> test loops with the following three patchsets applied, and no test
> failures occurred:
> 
> 	mptcp: restore zero window probe, v2
> 	mptcp: introduce backlog processing, v6
> 	implement mptcp read_sock, v13
> 
> Please add my tag for this set:
> 
> 	Reported-and-tested-by: Geliang Tang <geliang@kernel.org>

Thank you for the test!

To avoid issues with checkpatch and to be consistent, I'm going to add
this on the first patch:

  Reported-by: (...)
  Closes:
https://lore.kernel.org/d0a814c364e744ca6b836ccd5b6e9146882e8d42.camel@kernel.org
  (...)
  Tested-by: (...)

And only the Tested-by on the second one. I hope that's OK!

>> Thanks,
>> -Geliang
>>
>>>
>>> [1] at least here, at least with the packet drill reproducer ;)
>>> ---
>>> v1 -> v2:
>>>   - drop unneeded delta in patch 1/2
> 
> This change in v1 is valid. Later I will send a dedicated cleanup patch
> for -next to use tcp_sk() in mptcp_sendmsg_frag() with your "Suggested-
> by" tag.

Please only add such patch when we modify code around in net-next.

Cheers,
Matt
-- 
Sponsored by the NGI0 Core fund.

Re: [PATCH v2 mptcp-net 0/2] mptcp: restore zero window probe
Posted by Geliang Tang 1 week ago
Hi Matt,

On Thu, 2025-10-23 at 17:54 +0200, Matthieu Baerts wrote:
> Hi Geliang,
> 
> On 23/10/2025 08:24, Geliang Tang wrote:
> > Hi Paolo,
> > 
> > On Wed, 2025-10-22 at 18:07 +0800, Geliang Tang wrote:
> > > Hi Paolo,
> > > 
> > > On Wed, 2025-10-22 at 09:39 +0200, Paolo Abeni wrote:
> > > > It turns out that the issue reported by Geliang on the pending
> > > > backlog
> > > > patches is actually on older one that the new code made more
> > > > easy
> > > > reproducible.
> > > > 
> > > > The first patch in the series addresses it[1], the 2nd one
> > > > introduce
> > > > new
> > > > mibs to hopefully catch this problem sooned.
> > > > 
> > > > I have a pktdrill to validate this scenario. I'll share that
> > > > soon.
> > > > 
> > > > @Geliang could you please validate the above in your testbed,
> > > > on
> > > > top
> > > > of
> > > > the backlog and splice patches?
> > > 
> > > Thanks very much. I've already started testing, and so far
> > > everything
> > > is running smoothly. I'll let it run loop tests overnight and
> > > will
> > > have
> > > the results by tomorrow morning. I'll provide you with feedback
> > > then.
> > 
> > Thank you so much! This fix really works. I've run hundreds of
> > splice
> > test loops with the following three patchsets applied, and no test
> > failures occurred:
> > 
> > 	mptcp: restore zero window probe, v2
> > 	mptcp: introduce backlog processing, v6
> > 	implement mptcp read_sock, v13
> > 
> > Please add my tag for this set:
> > 
> > 	Reported-and-tested-by: Geliang Tang <geliang@kernel.org>
> 
> Thank you for the test!
> 
> To avoid issues with checkpatch and to be consistent, I'm going to
> add
> this on the first patch:
> 
>   Reported-by: (...)
>   Closes:
> https://lore.kernel.org/d0a814c364e744ca6b836ccd5b6e9146882e8d42.camel@kernel.org
>   (...)
>   Tested-by: (...)
> 
> And only the Tested-by on the second one. I hope that's OK!
> 
> > > Thanks,
> > > -Geliang
> > > 
> > > > 
> > > > [1] at least here, at least with the packet drill reproducer ;)
> > > > ---
> > > > v1 -> v2:
> > > >   - drop unneeded delta in patch 1/2
> > 
> > This change in v1 is valid. Later I will send a dedicated cleanup
> > patch
> > for -next to use tcp_sk() in mptcp_sendmsg_frag() with your
> > "Suggested-
> > by" tag.
> 
> Please only add such patch when we modify code around in net-next.

Sure, I'll send it out together once I modify mptcp_sendmsg_frag in the
future.

Thanks,
-Geliang

> 
> Cheers,
> Matt

Re: [PATCH v2 mptcp-net 0/2] mptcp: restore zero window probe
Posted by MPTCP CI 1 week, 2 days ago
Hi Paolo,

Thank you for your modifications, that's great!

Our CI did some validations and here is its report:

- KVM Validation: normal (except selftest_mptcp_join): Success! ✅
- KVM Validation: normal (only selftest_mptcp_join): Success! ✅
- KVM Validation: debug (except selftest_mptcp_join): Success! ✅
- KVM Validation: debug (only selftest_mptcp_join): Success! ✅
- KVM Validation: btf-normal (only bpftest_all): Success! ✅
- KVM Validation: btf-debug (only bpftest_all): Success! ✅
- Task: https://github.com/multipath-tcp/mptcp_net-next/actions/runs/18709417366

Initiator: Patchew Applier
Commits: https://github.com/multipath-tcp/mptcp_net-next/commits/5d3c078227a8
Patchwork: https://patchwork.kernel.org/project/mptcp/list/?series=1014382


If there are some issues, you can reproduce them using the same environment as
the one used by the CI thanks to a docker image, e.g.:

    $ cd [kernel source code]
    $ docker run -v "${PWD}:${PWD}:rw" -w "${PWD}" --privileged --rm -it \
        --pull always mptcp/mptcp-upstream-virtme-docker:latest \
        auto-normal

For more details:

    https://github.com/multipath-tcp/mptcp-upstream-virtme-docker


Please note that despite all the efforts that have been already done to have a
stable tests suite when executed on a public CI like here, it is possible some
reported issues are not due to your modifications. Still, do not hesitate to
help us improve that ;-)

Cheers,
MPTCP GH Action bot
Bot operated by Matthieu Baerts (NGI0 Core)