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