[PATCH net-next 0/8] mptcp: TCP fallback for established connections

Mat Martineau posted 8 patches 3 years, 4 months ago
Failed in applying to current master (apply log)
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(-)
[PATCH net-next 0/8] mptcp: TCP fallback for established connections
Posted by Mat Martineau 3 years, 4 months ago
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