[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210824232619.136912-1-mathew.j.martineau@linux.intel.com>
Date: Tue, 24 Aug 2021 16:26:12 -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, matthieu.baerts@...sares.net,
mptcp@...ts.linux.dev, pabeni@...hat.com, geliangtang@...omi.com
Subject: [PATCH net-next 0/7] mptcp: Optimize output options and add MP_FAIL
This patch set contains two groups of changes that we've been testing in
the MPTCP tree.
The first optimizes the code path and data structure for populating
MPTCP option headers when transmitting.
Patch 1 reorganizes code to reduce the number of conditionals that need
to be evaluated in common cases.
Patch 2 rearranges struct mptcp_out_options to save 80 bytes (on x86_64).
The next five patches add partial support for the MP_FAIL option as
defined in RFC 8684. MP_FAIL is an option header used to cleanly handle
MPTCP checksum failures. When the MPTCP checksum detects an error in the
MPTCP DSS header or the data mapped by that header, the receiver uses a
TCP RST with MP_FAIL to close the subflow that experienced the error and
provide associated MPTCP sequence number information to the peer. RFC
8684 also describes how a single-subflow connection can discard corrupt
data and remain connected under certain conditions using MP_FAIL, but
that feature is not implemented here.
Patches 3-5 implement MP_FAIL transmit and receive, and integrates with
checksum validation.
Patches 6 & 7 add MP_FAIL selftests and the MIBs required for those
tests.
Geliang Tang (5):
mptcp: MP_FAIL suboption sending
mptcp: MP_FAIL suboption receiving
mptcp: send out MP_FAIL when data checksum fails
mptcp: add the mibs for MP_FAIL
selftests: mptcp: add MP_FAIL mibs check
Paolo Abeni (2):
mptcp: optimize out option generation
mptcp: shrink mptcp_out_options struct
include/net/mptcp.h | 29 +-
net/mptcp/mib.c | 2 +
net/mptcp/mib.h | 2 +
net/mptcp/options.c | 305 +++++++++++-------
net/mptcp/pm.c | 5 +
net/mptcp/protocol.h | 20 ++
net/mptcp/subflow.c | 16 +
.../testing/selftests/net/mptcp/mptcp_join.sh | 38 +++
8 files changed, 295 insertions(+), 122 deletions(-)
base-commit: 3a62c333497b164868fdcd241842a1dd4e331825
--
2.33.0
Powered by blists - more mailing lists