mbox series

[RFC,mptcp-next,v12,0/7] mptcp: Fast Open Mechanism

Message ID 20220927225341.14165-1-dmytro@shytyi.net (mailing list archive)
Headers show
Series mptcp: Fast Open Mechanism | expand

Message

Dmytro Shytyi Sept. 27, 2022, 10:53 p.m. UTC
These patches focus on the Initiator and partially on Listener side.
The next options in userspace are available: 
a) sendto(..., ..., ..., MSG_FASTOPEN, ..., ...);
b) setsockopt(..., SOL_TCP, TCP_FASTOPEN, ..., ...);

These patches implement Appendix-B of RFC8684 (MPTFO).

We would like to credit Paulo Abeni, Mat Martineau, Matthieu Baerts and
Benjamin Hesmans for advices and ideas that improved these patches.

Dmytro Shytyi (5):
  mptcp: introduce MSG_FASTOPEN flag.
  mptcp: fix retrans., add mptfo vars to msk
  mptcp: add subflow_v(4,6)_send_synack()
  mptcp: add TCP_FASTOPEN option
  selftests: mptfo initiator/listener

Matthieu Baerts (2):
  mptcp: sockopt: make 'tcp_fastopen_connect' generic
  mptcp: add TCP_FASTOPEN_NO_COOKIE support

 include/net/mptcp.h                           |   9 ++
 include/net/tcp.h                             |   3 +
 net/ipv4/tcp.c                                |  20 +++-
 net/ipv4/tcp_fastopen.c                       |  19 ++--
 net/mptcp/Makefile                            |   2 +-
 net/mptcp/fastopen.c                          |  62 +++++++++++
 net/mptcp/options.c                           |   5 +
 net/mptcp/protocol.c                          |  21 ++--
 net/mptcp/protocol.h                          |   9 ++
 net/mptcp/sockopt.c                           |  21 ++--
 net/mptcp/subflow.c                           |  42 ++++++++
 tools/testing/selftests/net/mptcp/mptfo.sh    |  13 +++
 .../selftests/net/mptcp/mptfo_initiator.c     |  43 ++++++++
 .../selftests/net/mptcp/mptfo_listener.c      | 100 ++++++++++++++++++
 14 files changed, 342 insertions(+), 27 deletions(-)
 create mode 100644 net/mptcp/fastopen.c
 create mode 100644 tools/testing/selftests/net/mptcp/mptfo.sh
 create mode 100644 tools/testing/selftests/net/mptcp/mptfo_initiator.c
 create mode 100644 tools/testing/selftests/net/mptcp/mptfo_listener.c