[PATCH mptcp-next v5 0/5] mptcp: improve subflow creation on errors

Paolo Abeni posted 5 patches 2 years, 4 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/multipath-tcp/mptcp_net-next tags/patchew/cover.1639070864.git.pabeni@redhat.com
Maintainers: Matthieu Baerts <matthieu.baerts@tessares.net>, "David S. Miller" <davem@davemloft.net>, Mat Martineau <mathew.j.martineau@linux.intel.com>, Shuah Khan <shuah@kernel.org>, Geliang Tang <geliangtang@xiaomi.com>, Jakub Kicinski <kuba@kernel.org>
There is a newer version of this series
net/mptcp/options.c                           |  65 +++++---
net/mptcp/pm.c                                |  24 ++-
net/mptcp/pm_netlink.c                        | 142 +++++++++++-------
net/mptcp/protocol.c                          |   9 +-
net/mptcp/protocol.h                          |  16 +-
net/mptcp/subflow.c                           |   5 +-
tools/testing/selftests/net/mptcp/config      |   1 +
.../testing/selftests/net/mptcp/mptcp_join.sh |  79 +++++++++-
8 files changed, 254 insertions(+), 87 deletions(-)
[PATCH mptcp-next v5 0/5] mptcp: improve subflow creation on errors
Posted by Paolo Abeni 2 years, 4 months ago
This iteration adds tracking for the endpoint used by the MPC subflow,
updated the self-tests accordingly (1 signal tests-case is affected)
and introduces a new test case for the relevant scenario.

Currently when a subflow connection fails - either the TCP
connection is reset by the peer, or the MPJ handshake never
completes - the in kernel PM don't perform any further action.
Notably no additional subflow creation is attempted.

This series is aimed at improving the in-kernel path manager
behavior in the above scenario:
- each endpoint is used only once per connection (patch 2/4)
- on failure we try to move to the next subflow, if any
  (patch 3/4)

The first patch is minor cleanup, and the last patch adds
specific self-tests.

This should address/close:
https://github.com/multipath-tcp/mptcp_net-next/issues/235
https://github.com/multipath-tcp/mptcp_net-next/issues/242

Paolo Abeni (5):
  mptcp: fix per socket endpoint accounting.
  mptcp: clean-up MPJ option writing.
  mptcp: keep track of local endpoint still available for each msk
  mptcp: do not block subflows creation on errors
  selftests: mptcp: add tests for subflow creation failure

 net/mptcp/options.c                           |  65 +++++---
 net/mptcp/pm.c                                |  24 ++-
 net/mptcp/pm_netlink.c                        | 142 +++++++++++-------
 net/mptcp/protocol.c                          |   9 +-
 net/mptcp/protocol.h                          |  16 +-
 net/mptcp/subflow.c                           |   5 +-
 tools/testing/selftests/net/mptcp/config      |   1 +
 .../testing/selftests/net/mptcp/mptcp_join.sh |  79 +++++++++-
 8 files changed, 254 insertions(+), 87 deletions(-)

-- 
2.33.1