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

Paolo Abeni posted 5 patches 2 years, 3 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/multipath-tcp/mptcp_net-next tags/patchew/cover.1638544716.git.pabeni@redhat.com
Maintainers: Matthieu Baerts <matthieu.baerts@tessares.net>, Geliang Tang <geliangtang@xiaomi.com>, "David S. Miller" <davem@davemloft.net>, Shuah Khan <shuah@kernel.org>, Jakub Kicinski <kuba@kernel.org>, Mat Martineau <mathew.j.martineau@linux.intel.com>
There is a newer version of this series
net/mptcp/options.c                           | 65 +++++++++------
net/mptcp/pm.c                                | 24 +++++-
net/mptcp/pm_netlink.c                        | 83 ++++++++++---------
net/mptcp/protocol.c                          |  6 ++
net/mptcp/protocol.h                          |  8 +-
net/mptcp/subflow.c                           |  5 +-
tools/testing/selftests/net/mptcp/config      |  1 +
.../testing/selftests/net/mptcp/mptcp_join.sh | 65 ++++++++++++++-
8 files changed, 187 insertions(+), 70 deletions(-)
[PATCH mptcp-next v4 0/5] mptcp: improve subflow creation on errors
Posted by Paolo Abeni 2 years, 3 months ago
This iteration addresses the issue catched by the pktdrill
test-cases - namely an underflow on pm->subflows counter.
Additionally includes a related fix on pm counters accounting.

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                        | 83 ++++++++++---------
 net/mptcp/protocol.c                          |  6 ++
 net/mptcp/protocol.h                          |  8 +-
 net/mptcp/subflow.c                           |  5 +-
 tools/testing/selftests/net/mptcp/config      |  1 +
 .../testing/selftests/net/mptcp/mptcp_join.sh | 65 ++++++++++++++-
 8 files changed, 187 insertions(+), 70 deletions(-)

-- 
2.33.1