All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH mptcp-next 0/3] mptcp: pm: kernel: retry subflows closed after an error
@ 2026-10-12 17:17 Anil Kaushik
  2026-10-12 17:17 ` [RFC PATCH mptcp-next 1/3] selftests: mptcp: connect: retry write() on EAGAIN Anil Kaushik
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Anil Kaushik @ 2026-10-12 17:17 UTC (permalink / raw)
  To: mptcp; +Cc: Anil Kaushik

With the in-kernel PM, a subflow closed after an error is never
re-created, even once the path is back (#440). For example, with fiber
as main link and Starlink as backup, connections never return to the
fiber after an outage.

Patch 1 fixes a selftest flake: write() can return EAGAIN after POLLOUT
when a subflow closes.
Patch 2 adds an opt-in sysctl, net.mptcp.subflow_retry_timeout, to
re-create such subflows with an exponential backoff.
Patch 3 adds the selftests.

Questions:
 - sysctl, or an endpoint flag?
 - the re-created initial subflow counts in the subflows limit, OK?
 - should retries stop after some attempts?

Link: https://github.com/multipath-tcp/mptcp_net-next/issues/440

Anil Kaushik (3):
  selftests: mptcp: connect: retry write() on EAGAIN
  mptcp: pm: kernel: retry subflows closed after an error
  selftests: mptcp: join: validate subflow retry after link failure

 Documentation/networking/mptcp-sysctl.rst     |  15 +
 net/mptcp/ctrl.c                              |  13 +
 net/mptcp/mib.c                               |   1 +
 net/mptcp/mib.h                               |   1 +
 net/mptcp/pm.c                                | 272 ++++++++++++++++++
 net/mptcp/pm_kernel.c                         |   3 +
 net/mptcp/protocol.h                          |   5 +
 .../selftests/net/mptcp/mptcp_connect.c       |   8 +
 .../testing/selftests/net/mptcp/mptcp_join.sh |  84 ++++++
 9 files changed, 402 insertions(+)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2026-10-12 18:28 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-12 17:17 [RFC PATCH mptcp-next 0/3] mptcp: pm: kernel: retry subflows closed after an error Anil Kaushik
2026-10-12 17:17 ` [RFC PATCH mptcp-next 1/3] selftests: mptcp: connect: retry write() on EAGAIN Anil Kaushik
2026-10-12 17:17 ` [RFC PATCH mptcp-next 2/3] mptcp: pm: kernel: retry subflows closed after an error Anil Kaushik
2026-10-12 17:34   ` sashiko-bot
2026-10-12 17:17 ` [RFC PATCH mptcp-next 3/3] selftests: mptcp: join: validate subflow retry after link failure Anil Kaushik
2026-10-12 17:27 ` [RFC PATCH mptcp-next 0/3] mptcp: pm: kernel: retry subflows closed after an error Matthieu Baerts
2026-10-12 18:28 ` MPTCP CI

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.