mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02: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
					
				
					 1 changed files with 3 additions and 6 deletions
				
			
		| 
						 | 
					@ -1711,17 +1711,14 @@ static int mptcp_sendmsg(struct sock *sk, struct msghdr *msg, size_t len)
 | 
				
			||||||
	int ret = 0;
 | 
						int ret = 0;
 | 
				
			||||||
	long timeo;
 | 
						long timeo;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* we don't support FASTOPEN yet */
 | 
					 | 
				
			||||||
	if (msg->msg_flags & MSG_FASTOPEN)
 | 
					 | 
				
			||||||
		return -EOPNOTSUPP;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	/* silently ignore everything else */
 | 
						/* 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);
 | 
						lock_sock(sk);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	ssock = __mptcp_nmpc_socket(msk);
 | 
						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;
 | 
							int copied_syn = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		ret = mptcp_sendmsg_fastopen(sk, ssock->sk, msg, len, &copied_syn);
 | 
							ret = mptcp_sendmsg_fastopen(sk, ssock->sk, msg, len, &copied_syn);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue