[PATCH mptcp-next RFC v5 0/3] mptcp: fallback to TCP on MP_FAIL with a single subflow

Chenguang Zhao posted 3 patches 4 days, 14 hours ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/multipath-tcp/mptcp_net-next tags/patchew/20260819112112.1985121-1-chenguang.zhao@linux.dev
net/mptcp/mib.c      | 1 +
net/mptcp/mib.h      | 1 +
net/mptcp/pm.c       | 5 +++++
net/mptcp/protocol.c | 8 +-------
net/mptcp/subflow.c  | 1 +
5 files changed, 9 insertions(+), 7 deletions(-)
[PATCH mptcp-next RFC v5 0/3] mptcp: fallback to TCP on MP_FAIL with a single subflow
Posted by Chenguang Zhao 4 days, 14 hours ago
From: Chenguang Zhao <zhaochenguang@kylinos.cn>

Patch1:
 Add MPFailFallback MIB counter

Patch2:
 Move the FALLBACK_DONE flag setting to right after MP_FAIL is received.

Patch3:
 Add a __mptcp_check_fallback() check inside mptcp_can_accept_new_subflow()
 to reject MP_JOIN requests earlier.

I have tested with the script from the linked URL, and the kernel is now
able to reject MP_JOIN requests early.
 https://github.com/chrisocean716-star/packetdrill/blob/fed57fab92c407eb433acdb8c8ce72bd8e3e2f37/gtests/net/mptcp/mp_join/mp_join_server_after_fallback.pkt

Chenguang Zhao (3):
  mptcp: add MPFailFallback MIB counter
  mptcp: fallback immediately on MP_FAIL reception
  mptcp: reject new subflows after fallback

 net/mptcp/mib.c      | 1 +
 net/mptcp/mib.h      | 1 +
 net/mptcp/pm.c       | 5 +++++
 net/mptcp/protocol.c | 8 +-------
 net/mptcp/subflow.c  | 1 +
 5 files changed, 9 insertions(+), 7 deletions(-)

v4:
 https://lore.kernel.org/all/20260818091417.2200986-1-chenguang.zhao@linux.dev/

v3:
 https://lore.kernel.org/all/20260812054653.43799-1-chenguang.zhao@linux.dev/

v2:
 https://lore.kernel.org/all/20260715061830.1057851-1-chenguang.zhao@linux.dev/

v1:
 https://lore.kernel.org/all/20260713064134.914507-1-chenguang.zhao@linux.dev/
-- 
2.25.1
Re: [PATCH mptcp-next RFC v5 0/3] mptcp: fallback to TCP on MP_FAIL with a single subflow
Posted by MPTCP CI 4 days, 12 hours ago
Hi Chenguang,

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): Critical: Global Timeout - Notice: Call Traces at boot time, rebooted and continued ❌
- 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/32248415369

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


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)