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
--
2.34.1