mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
mptcp: add MSG_FASTOPEN sendmsg flag support
Since commit 54f1944ed6
("mptcp: factor out mptcp_connect()"), all the
infrastructure is now in place to support the MSG_FASTOPEN flag, we
just need to call into the fastopen path in mptcp_sendmsg().
Co-developed-by: Benjamin Hesmans <benjamin.hesmans@tessares.net>
Signed-off-by: Benjamin Hesmans <benjamin.hesmans@tessares.net>
Acked-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Dmytro Shytyi <dmytro@shytyi.net>
Signed-off-by: Matthieu Baerts <matthieu.baerts@tessares.net>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
f2bb566f5c
commit
1e777f39b4
@ -1711,17 +1711,14 @@ static int mptcp_sendmsg(struct sock *sk, struct msghdr *msg, size_t len)
|
||||
int ret = 0;
|
||||
long timeo;
|
||||
|
||||
/* we don't support FASTOPEN yet */
|
||||
if (msg->msg_flags & MSG_FASTOPEN)
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
/* silently ignore everything else */
|
||||
msg->msg_flags &= MSG_MORE | MSG_DONTWAIT | MSG_NOSIGNAL;
|
||||
msg->msg_flags &= MSG_MORE | MSG_DONTWAIT | MSG_NOSIGNAL | MSG_FASTOPEN;
|
||||
|
||||
lock_sock(sk);
|
||||
|
||||
ssock = __mptcp_nmpc_socket(msk);
|
||||
if (unlikely(ssock && inet_sk(ssock->sk)->defer_connect)) {
|
||||
if (unlikely(ssock && (inet_sk(ssock->sk)->defer_connect ||
|
||||
msg->msg_flags & MSG_FASTOPEN))) {
|
||||
int copied_syn = 0;
|
||||
|
||||
ret = mptcp_sendmsg_fastopen(sk, ssock->sk, msg, len, &copied_syn);
|
||||
|
Loading…
Reference in New Issue
Block a user