RFC 8684 appendix B describes how to use TCP Fast Open with MPTCP. This
series allows TFO use with MPTCP using the TCP_FASTOPEN_CONNECT socket
option. The scope here is limited to the initiator of the connection -
support for MSG_FASTOPEN and the listener side of the connection will be
in a separate series. The preexisting TCP fastopen code does most of the
work, so these changes mostly involve plumbing MPTCP through to those
TCP functions.
Patch 1 changes the MPTCP socket option code to pass the
TCP_FASTOPEN_CONNECT option through to the initial unconnected subflow.
Patch 2 exports the existing tcp_sendmsg_fastopen() function from tcp.c
Patch 3 adds the call to tcp_sendmsg_fastopen() from the MPTCP send
function.
Patch 4 modifies mptcp_poll() to handle the deferred TFO connection.
Benjamin Hesmans (3):
mptcp: add TCP_FASTOPEN_CONNECT socket option
tcp: export tcp_sendmsg_fastopen
mptcp: poll allow write call before actual connect
Dmytro Shytyi (1):
mptcp: handle defer connect in mptcp_sendmsg
include/net/tcp.h | 2 ++
net/ipv4/tcp.c | 5 ++---
net/mptcp/protocol.c | 26 ++++++++++++++++++++++++++
net/mptcp/sockopt.c | 19 ++++++++++++++++++-
4 files changed, 48 insertions(+), 4 deletions(-)
base-commit: 4991931223e3b909aa4931face285e4658927824
--
2.37.3