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