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 (7):
mptcp: add __mptcp_pre_connect() helper
mptcp: add __mptcp_stream_connect() helper
mptcp: introduce MSG_FASTOPEN flag.
mptcp: implement delayed seq generation for passive fastopen
mptcp: add subflow_v(4,6)_send_synack()
mptcp: add TCP_FASTOPEN sock option
selftests: mptfo initiator/listener
net/mptcp/Makefile | 2 +-
net/mptcp/fastopen.c | 96 +++++++++++++++++
net/mptcp/options.c | 5 +
net/mptcp/protocol.c | 64 +++++++----
net/mptcp/protocol.h | 13 +++
net/mptcp/sockopt.c | 5 +-
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 ++++++++++++++++++
10 files changed, 360 insertions(+), 23 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