lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20221125222958.958636-1-matthieu.baerts@tessares.net>
Date:   Fri, 25 Nov 2022 23:29:46 +0100
From:   Matthieu Baerts <matthieu.baerts@...sares.net>
To:     "David S. Miller" <davem@...emloft.net>,
        Eric Dumazet <edumazet@...gle.com>,
        Jakub Kicinski <kuba@...nel.org>,
        Mat Martineau <mathew.j.martineau@...ux.intel.com>,
        Matthieu Baerts <matthieu.baerts@...sares.net>,
        Paolo Abeni <pabeni@...hat.com>, Shuah Khan <shuah@...nel.org>
Cc:     Benjamin Hesmans <benjamin.hesmans@...sares.net>,
        linux-kernel@...r.kernel.org, linux-kselftest@...r.kernel.org,
        mptcp@...ts.linux.dev, netdev@...r.kernel.org
Subject: [PATCH net-next 0/8] mptcp: MSG_FASTOPEN and TFO listener side support

Before this series, only the initiator of a connection was able to combine both
TCP FastOpen and MPTCP when using TCP_FASTOPEN_CONNECT socket option.

These new patches here add (in theory) the full support of TFO with MPTCP, which
means:

 - MSG_FASTOPEN sendmsg flag support (patch 1/8)
 - TFO support for the listener side (patches 2-5/8)
 - TCP_FASTOPEN socket option (patch 6/8)
 - TCP_FASTOPEN_KEY socket option (patch 7/8)

To support TFO for the server side, a few preparation patches are needed
(patches 2 to 5/8). Some of them were inspired by a previous work from Benjamin
Hesmans.

Note that TFO support with MPTCP has been validated with selftests (patch 8/8)
but also with Packetdrill tests running with a modified but still very WIP
version supporting MPTCP. Both the modified tool and the tests are available
online:

  https://github.com/multipath-tcp/packetdrill/


Dmytro Shytyi (5):
  mptcp: add MSG_FASTOPEN sendmsg flag support
  mptcp: implement delayed seq generation for passive fastopen
  mptcp: add subflow_v(4,6)_send_synack()
  mptcp: add TCP_FASTOPEN sock option
  selftests: mptcp: mptfo Initiator/Listener

Matthieu Baerts (1):
  mptcp: add support for TCP_FASTOPEN_KEY sockopt

Paolo Abeni (2):
  mptcp: track accurately the incoming MPC suboption type
  mptcp: consolidate initial ack seq generation

 net/mptcp/Makefile                            |   2 +-
 net/mptcp/fastopen.c                          |  73 ++++++++
 net/mptcp/options.c                           |  25 ++-
 net/mptcp/protocol.c                          |  39 +---
 net/mptcp/protocol.h                          |  28 ++-
 net/mptcp/sockopt.c                           |   9 +-
 net/mptcp/subflow.c                           | 105 ++++++++---
 .../selftests/net/mptcp/mptcp_connect.c       | 171 +++++++++++++-----
 .../selftests/net/mptcp/mptcp_connect.sh      |  21 +++
 9 files changed, 358 insertions(+), 115 deletions(-)
 create mode 100644 net/mptcp/fastopen.c


Cc: Benjamin Hesmans <benjamin.hesmans@...sares.net>
base-commit: a6e3d86ece0b42a571a11055ace5c3148cb7ce76
-- 
2.37.2

Powered by blists - more mailing lists