All of lore.kernel.org
 help / color / mirror / Atom feed
* [MPTCP] Re: [PATCH v3] mptcp: __mptcp_tcp_fallback() returns a struct sock
@ 2020-06-23 16:38 Mat Martineau
  0 siblings, 0 replies; 2+ messages in thread
From: Mat Martineau @ 2020-06-23 16:38 UTC (permalink / raw)
  To: mptcp

[-- Attachment #1: Type: text/plain, Size: 2872 bytes --]


On Tue, 23 Jun 2020, Paolo Abeni wrote:

> Currently __mptcp_tcp_fallback() always return NULL
> on incoming connections, because MPTCP does not create
> the additional socket for the first subflow.
> Since the previous commit no __mptcp_tcp_fallback()
> caller needs a struct socket, so let __mptcp_tcp_fallback()
> return the first subflow sock and cope correctly even with
> incoming connections.
>
> Signed-off-by: Paolo Abeni <pabeni(a)redhat.com>
> ---
> v2 -> v2:
> - update commit message

Thanks Paolo, this looks good for merging.


Mat


> ---
> net/mptcp/protocol.c | 22 ++++++++++------------
> 1 file changed, 10 insertions(+), 12 deletions(-)
>
> diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c
> index 75a96d8665e9..fb1f78ef3213 100644
> --- a/net/mptcp/protocol.c
> +++ b/net/mptcp/protocol.c
> @@ -76,14 +76,14 @@ static bool mptcp_is_tcpsk(struct sock *sk)
> 	return false;
> }
>
> -static struct socket *__mptcp_tcp_fallback(struct mptcp_sock *msk)
> +static struct sock *__mptcp_tcp_fallback(struct mptcp_sock *msk)
> {
> 	sock_owned_by_me((const struct sock *)msk);
>
> 	if (likely(!__mptcp_check_fallback(msk)))
> 		return NULL;
>
> -	return msk->subflow;
> +	return msk->first;
> }
>
> static int __mptcp_socket_create(struct mptcp_sock *msk)
> @@ -1605,7 +1605,7 @@ static int mptcp_setsockopt(struct sock *sk, int level, int optname,
> 			    char __user *optval, unsigned int optlen)
> {
> 	struct mptcp_sock *msk = mptcp_sk(sk);
> -	struct socket *ssock;
> +	struct sock *ssk;
>
> 	pr_debug("msk=%p", msk);
>
> @@ -1616,11 +1616,10 @@ static int mptcp_setsockopt(struct sock *sk, int level, int optname,
> 	 * to the one remaining subflow.
> 	 */
> 	lock_sock(sk);
> -	ssock = __mptcp_tcp_fallback(msk);
> +	ssk = __mptcp_tcp_fallback(msk);
> 	release_sock(sk);
> -	if (ssock)
> -		return tcp_setsockopt(ssock->sk, level, optname, optval,
> -				      optlen);
> +	if (ssk)
> +		return tcp_setsockopt(ssk, level, optname, optval, optlen);
>
> 	return -EOPNOTSUPP;
> }
> @@ -1629,7 +1628,7 @@ static int mptcp_getsockopt(struct sock *sk, int level, int optname,
> 			    char __user *optval, int __user *option)
> {
> 	struct mptcp_sock *msk = mptcp_sk(sk);
> -	struct socket *ssock;
> +	struct sock *ssk;
>
> 	pr_debug("msk=%p", msk);
>
> @@ -1640,11 +1639,10 @@ static int mptcp_getsockopt(struct sock *sk, int level, int optname,
> 	 * to the one remaining subflow.
> 	 */
> 	lock_sock(sk);
> -	ssock = __mptcp_tcp_fallback(msk);
> +	ssk = __mptcp_tcp_fallback(msk);
> 	release_sock(sk);
> -	if (ssock)
> -		return tcp_getsockopt(ssock->sk, level, optname, optval,
> -				      option);
> +	if (ssk)
> +		return tcp_getsockopt(ssk, level, optname, optval, option);
>
> 	return -EOPNOTSUPP;
> }
> -- 
> 2.26.2

--
Mat Martineau
Intel

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [MPTCP] Re: [PATCH v3] mptcp: __mptcp_tcp_fallback() returns a struct sock
@ 2020-06-24 16:38 Matthieu Baerts
  0 siblings, 0 replies; 2+ messages in thread
From: Matthieu Baerts @ 2020-06-24 16:38 UTC (permalink / raw)
  To: mptcp

[-- Attachment #1: Type: text/plain, Size: 962 bytes --]

Hi Paolo, Mat,

On 23/06/2020 18:38, Mat Martineau wrote:
> 
> On Tue, 23 Jun 2020, Paolo Abeni wrote:
> 
>> Currently __mptcp_tcp_fallback() always return NULL
>> on incoming connections, because MPTCP does not create
>> the additional socket for the first subflow.
>> Since the previous commit no __mptcp_tcp_fallback()
>> caller needs a struct socket, so let __mptcp_tcp_fallback()
>> return the first subflow sock and cope correctly even with
>> incoming connections.
>>
>> Signed-off-by: Paolo Abeni <pabeni(a)redhat.com>
>> ---
>> v2 -> v2:
>> - update commit message
> 
> Thanks Paolo, this looks good for merging.

Thank you for the patch and the review!

I just added this patch after "mptcp: create first subflow at msk 
creation time"

- ec82c0444348: mptcp: __mptcp_tcp_fallback() returns a struct sock

Tests and export are in progress.

Cheers,
Matt
--
Tessares | Belgium | Hybrid Access Solutions
www.tessares.net

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-06-24 16:38 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-23 16:38 [MPTCP] Re: [PATCH v3] mptcp: __mptcp_tcp_fallback() returns a struct sock Mat Martineau
2020-06-24 16:38 Matthieu Baerts

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.