[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220422215543.545732-1-mathew.j.martineau@linux.intel.com>
Date: Fri, 22 Apr 2022 14:55:35 -0700
From: Mat Martineau <mathew.j.martineau@...ux.intel.com>
To: netdev@...r.kernel.org
Cc: Mat Martineau <mathew.j.martineau@...ux.intel.com>,
davem@...emloft.net, kuba@...nel.org, pabeni@...hat.com,
matthieu.baerts@...sares.net, mptcp@...ts.linux.dev
Subject: [PATCH net-next 0/8] mptcp: TCP fallback for established connections
RFC 8684 allows some MPTCP connections to fall back to regular TCP when
the MPTCP DSS checksum detects middlebox interference, there is only a
single subflow, and there is no unacknowledged out-of-sequence
data. When this condition is detected, the stack sends a MPTCP DSS
option with an "infinite mapping" to signal that a fallback is
happening, and the peers will stop sending MPTCP options in their TCP
headers. The Linux MPTCP stack has not yet supported this type of
fallback, instead closing the connection when the MPTCP checksum fails.
This series adds support for fallback to regular TCP in a more limited
scenario, for only MPTCP connections that have never connected
additional subflows or transmitted out-of-sequence data. The selftests
are also updated to check new MIBs that track infinite mappings.
Geliang Tang (8):
mptcp: don't send RST for single subflow
mptcp: add the fallback check
mptcp: track and update contiguous data status
mptcp: infinite mapping sending
mptcp: infinite mapping receiving
mptcp: add mib for infinite map sending
mptcp: dump infinite_map field in mptcp_dump_mpext
selftests: mptcp: add infinite map mibs check
include/net/mptcp.h | 3 +-
include/trace/events/mptcp.h | 6 +-
net/mptcp/mib.c | 1 +
net/mptcp/mib.h | 1 +
net/mptcp/options.c | 8 ++-
net/mptcp/pm.c | 6 ++
net/mptcp/protocol.c | 21 +++++++
net/mptcp/protocol.h | 13 +++++
net/mptcp/subflow.c | 57 +++++++++++--------
.../testing/selftests/net/mptcp/mptcp_join.sh | 36 +++++++++++-
10 files changed, 121 insertions(+), 31 deletions(-)
base-commit: c78c5a660439d4d341a03b651541fda3ebe76160
--
2.36.0
Powered by blists - more mailing lists