Re: [PATCH export v3 3/4] mptcp: reset subflow on MP_FAIL when OoO queue is non-empty

Chenguang Zhao <[email protected]>
Newsgroups dev.linux.lists.mptcp
Message-ID <[email protected]>
在 2026/8/12 18:02, Paolo Abeni 写道:
> On 8/12/26 7:46 AM, Chenguang Zhao wrote:
>> From: Chenguang Zhao <[email protected]>
>>
>> Infinite mapping needs contiguous data. If the MPTCP OoO queue is not
>> empty, reset the subflow instead of falling back.
> Why? the RFC says:
>
> """if all unacknowledged data in flight is contiguous"""
>
> That statement can be true even when the RTX queue is not empty.
>
> It will become false if/when some mptcp-level retransmission will happen.
>
> __mptcp_push_retrans() atomically sets `allow_infinite_fallback` to
> false when such retransmission happen. The code just before the newly
> added one checks such condition under the relevant lock.
>
> I don't think this change is needed.
>
> /P
>
Hi Paolo

I misread the RFC here. "If all unacknowledged data in flight is
contiguous" is about send-side in-flight data, not about the MPTCP
receive OoO queue being empty. Contiguous in-flight data can still
hold when the RTX queue is not empty; it only becomes false after an
MPTCP-level retransmission.

That is already tracked by allow_infinite_fallback, which
__mptcp_push_retrans() clears under fallback_lock. The existing
check of that flag at the start of mptcp_pm_mp_fail_received()
covers the RFC condition.

I will drop this patch in the next revision.

Thanks,
Chenguang
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.