[patch] send.2: Add MSG_FASTOPEN flag
From: Wei Wang <hidden>
Date: 2021-09-15 17:38:03
Also in:
netdev
Subsystem:
the rest · Maintainer:
Linus Torvalds
MSG_FASTOPEN flag is available since Linux 3.7. Add detailed description in the manpage according to RFC7413. Signed-off-by: Wei Wang <redacted> Reviewed-by: Yuchung Cheng <redacted> Reviewed-by: Eric Dumazet <edumazet@google.com> --- man2/send.2 | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+)
diff --git a/man2/send.2 b/man2/send.2
index fd28fed90..a40ae6214 100644
--- a/man2/send.2
+++ b/man2/send.2@@ -252,6 +252,33 @@ data on sockets that support this notion (e.g., of type the underlying protocol must also support .I out-of-band data. +.TP +.BR MSG_FASTOPEN " (since Linux 3.7)" +Attempts TCP Fast Open (RFC7413) and sends data in the SYN like a +combination of +.BR connect (2) +and +.BR write (2) +, by performing an implicit +.BR connect (2) +operation. It blocks until the data is buffered and the handshake +has completed. +For a non-blocking socket, it returns the number of bytes buffered +and sent in the SYN packet. If the cookie is not available locally, +it returns +.B EINPROGRESS +, and sends a SYN with a Fast Open cookie request automatically. +The caller needs to write the data again when the socket is connected. +On errors, it returns the same errno as +.BR connect (2) +if the handshake fails. This flag requires enabling TCP Fast Open +client support on sysctl net.ipv4.tcp_fastopen. + +Refer to +.B TCP_FASTOPEN_CONNECT +socket option in +.BR tcp (7) +for an alternative approach. .SS sendmsg() The definition of the .I msghdr
--
2.33.0.309.g3052b89438-goog