* [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.