All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next 0/7] mptcp: Optimize output options and add MP_FAIL
@ 2021-08-24 23:26 Mat Martineau
  2021-08-24 23:26 ` [PATCH net-next 1/7] mptcp: optimize out option generation Mat Martineau
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: Mat Martineau @ 2021-08-24 23:26 UTC (permalink / raw)
  To: netdev
  Cc: Mat Martineau, davem, kuba, matthieu.baerts, mptcp, pabeni, geliangtang

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


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2021-08-25 10:20 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-24 23:26 [PATCH net-next 0/7] mptcp: Optimize output options and add MP_FAIL Mat Martineau
2021-08-24 23:26 ` [PATCH net-next 1/7] mptcp: optimize out option generation Mat Martineau
2021-08-24 23:26 ` [PATCH net-next 2/7] mptcp: shrink mptcp_out_options struct Mat Martineau
2021-08-24 23:26 ` [PATCH net-next 3/7] mptcp: MP_FAIL suboption sending Mat Martineau
2021-08-24 23:26 ` [PATCH net-next 4/7] mptcp: MP_FAIL suboption receiving Mat Martineau
2021-08-24 23:26 ` [PATCH net-next 5/7] mptcp: send out MP_FAIL when data checksum fails Mat Martineau
2021-08-24 23:26 ` [PATCH net-next 6/7] mptcp: add the mibs for MP_FAIL Mat Martineau
2021-08-24 23:26 ` [PATCH net-next 7/7] selftests: mptcp: add MP_FAIL mibs check Mat Martineau
2021-08-25 10:20 ` [PATCH net-next 0/7] mptcp: Optimize output options and add MP_FAIL patchwork-bot+netdevbpf

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.