mbox series

[net-next,0/7] mptcp: Optimize output options and add MP_FAIL

Message ID 20210824232619.136912-1-mathew.j.martineau@linux.intel.com
Headers show
Series mptcp: Optimize output options and add MP_FAIL | expand

Message

Mat Martineau Aug. 24, 2021, 11:26 p.m. UTC
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

Comments

patchwork-bot+netdevbpf@kernel.org Aug. 25, 2021, 10:20 a.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (refs/heads/master):

On Tue, 24 Aug 2021 16:26:12 -0700 you wrote:
> 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.

> 

> [...]


Here is the summary with links:
  - [net-next,1/7] mptcp: optimize out option generation
    https://git.kernel.org/netdev/net-next/c/1bff1e43a30e
  - [net-next,2/7] mptcp: shrink mptcp_out_options struct
    https://git.kernel.org/netdev/net-next/c/d7b269083786
  - [net-next,3/7] mptcp: MP_FAIL suboption sending
    https://git.kernel.org/netdev/net-next/c/c25aeb4e0953
  - [net-next,4/7] mptcp: MP_FAIL suboption receiving
    https://git.kernel.org/netdev/net-next/c/5580d41b758a
  - [net-next,5/7] mptcp: send out MP_FAIL when data checksum fails
    https://git.kernel.org/netdev/net-next/c/478d770008b0
  - [net-next,6/7] mptcp: add the mibs for MP_FAIL
    https://git.kernel.org/netdev/net-next/c/eb7f33654dc1
  - [net-next,7/7] selftests: mptcp: add MP_FAIL mibs check
    https://git.kernel.org/netdev/net-next/c/6bb3ab4913e9

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html