* [MPTCP] Re: [PATCH/RFC 0/7] improve subflow join handling
@ 2019-11-25 12:06 Paolo Abeni
0 siblings, 0 replies; 5+ messages in thread
From: Paolo Abeni @ 2019-11-25 12:06 UTC (permalink / raw)
To: mptcp
[-- Attachment #1: Type: text/plain, Size: 2327 bytes --]
On Mon, 2019-11-25 at 03:15 +0100, Florian Westphal wrote:
> This set aims to improve handling of multiple subflows.
> There are multiple remaining problems, see below, but I wanted to send what
> I have now rather than keep this back.
>
> The first 3 patches are fixes to handle refcount leaks found while working
> on this, I've added the commit name of where they could be squashed to.
>
> The remaining part of this work is to make the msk->conn_list contain
> tcp_sock structs without an outer 'struct socket'.
>
> The problem is that for incoming join requests (which are not subject
> to accept/request socket queue), there is no 'struct socket', i.e.
> sk->sk_socket is NULL.
>
> As tcp stack will assume that such tcp sk is already detached from
> userspace, SOCK_NOSPACE wakeups do not work for them.
>
> The solution here (suggested by Paolo) is to have sk->sk_socket refer
> to the mptcp parent socket structure. This assignment is done by
> a private function similar to sock_graft().
>
> For incoming connects, tcp-level connectivity works, i.e. mptcp-next can
> accept a few subflows from the peer and on exit of the test program
> all resources are cleaned up correctly.
>
> MPTCP-Level connectivity will probably not work, as nothing sets up
> ssn_offset for joins (both incoming or outgoing).
>
> mptcp.org kernel will not consider the joins as established, as the
> "4th Ack" is missing.
> A simple "tcp_send_ack" is enough, but there are two problems with this:
> 1. It can be lost
> 2. Given we are not expecting to receive any data on such flows this
> doesn't seem to be a problem.
>
> During testing I saw that sometimes mptcp.org kernel will emit further
> join requests to mptcp-next but those trigger no response (and those
> packets do not even show up in perfs network drop monitor, sigh).
>
> For outgoing connects, there is one remaining memory leak that I have
> not located so far.
> _______________________________________________
> mptcp mailing list -- mptcp(a)lists.01.org
> To unsubscribe send an email to mptcp-leave(a)lists.01.org
LGTM! I think the firs 3 patches can be squashed as-is. I have only a
couple of minor question on the last 2 patches, see later individual
replies...
Great work, BTW ;)
Thanks,
Paolo
^ permalink raw reply [flat|nested] 5+ messages in thread
* [MPTCP] Re: [PATCH/RFC 0/7] improve subflow join handling
@ 2019-11-26 17:51 Matthieu Baerts
0 siblings, 0 replies; 5+ messages in thread
From: Matthieu Baerts @ 2019-11-26 17:51 UTC (permalink / raw)
To: mptcp
[-- Attachment #1: Type: text/plain, Size: 1166 bytes --]
Hi Paolo, Florian,
On 26/11/2019 17:56, Paolo Abeni wrote:
> On Tue, 2019-11-26 at 17:45 +0100, Florian Westphal wrote:
>> Florian Westphal <fw(a)strlen.de> wrote:
>>> This set aims to improve handling of multiple subflows.
>>> There are multiple remaining problems, see below, but I wanted to send what
>>> I have now rather than keep this back.
>>>
>>> The first 3 patches are fixes to handle refcount leaks found while working
>>> on this, I've added the commit name of where they could be squashed to.
>>
>> I see those have been marked 'awaiting upstream', what does that mean in
>> mptcp context?
>
> It means the patches are ready to be merged, waiting for someone
> (Matt?) to merge them.
>
> It looks correct to me for the first 3 patches.
Sorry, I already merged them this afternoon but I was waiting for the CI
to finish validating the new changes to send the email.
Everything done now, the "export" branch contains the 3 patches.
Cheers,
Matt
--
Matthieu Baerts | R&D Engineer
matthieu.baerts(a)tessares.net
Tessares SA | Hybrid Access Solutions
www.tessares.net
1 Avenue Jean Monnet, 1348 Louvain-la-Neuve, Belgium
^ permalink raw reply [flat|nested] 5+ messages in thread
* [MPTCP] Re: [PATCH/RFC 0/7] improve subflow join handling
@ 2019-11-26 17:49 Matthieu Baerts
0 siblings, 0 replies; 5+ messages in thread
From: Matthieu Baerts @ 2019-11-26 17:49 UTC (permalink / raw)
To: mptcp
[-- Attachment #1: Type: text/plain, Size: 1307 bytes --]
Hi Florian, Paolo,
On 25/11/2019 13:06, Paolo Abeni wrote:
> On Mon, 2019-11-25 at 03:15 +0100, Florian Westphal wrote:
>> This set aims to improve handling of multiple subflows.
>> There are multiple remaining problems, see below, but I wanted to send what
>> I have now rather than keep this back.
>>
>> The first 3 patches are fixes to handle refcount leaks found while working
>> on this, I've added the commit name of where they could be squashed to.
[...]
> LGTM! I think the firs 3 patches can be squashed as-is. [...]
Thank you for the nice work and the review!
- b6f0623fedf6: "squashed" patch 1/7 in "mptcp: Add key generation and
token tree"
- 07ec6803478e: "squashed" patch 2/7 in "mptcp: Add handling of incoming
MP_JOIN requests"
- 1be614c6efe0: "Signed-off-by" + "Co-developed-by"
- 3af80e92c8cd..d5e48af1fc7f: result
- 4291db56b807: "squashed" patch 3/7 in "mptcp: Handle MP_CAPABLE
options for outgoing connections"
- 8c236d0f5ad2: "Signed-off-by" + "Co-developed-by"
- d5e48af1fc7f..722fd4571d61: results
Tests are still OK, each commit can still compile.
Cheers,
Matt
--
Matthieu Baerts | R&D Engineer
matthieu.baerts(a)tessares.net
Tessares SA | Hybrid Access Solutions
www.tessares.net
1 Avenue Jean Monnet, 1348 Louvain-la-Neuve, Belgium
^ permalink raw reply [flat|nested] 5+ messages in thread
* [MPTCP] Re: [PATCH/RFC 0/7] improve subflow join handling
@ 2019-11-26 16:56 Paolo Abeni
0 siblings, 0 replies; 5+ messages in thread
From: Paolo Abeni @ 2019-11-26 16:56 UTC (permalink / raw)
To: mptcp
[-- Attachment #1: Type: text/plain, Size: 701 bytes --]
On Tue, 2019-11-26 at 17:45 +0100, Florian Westphal wrote:
> Florian Westphal <fw(a)strlen.de> wrote:
> > This set aims to improve handling of multiple subflows.
> > There are multiple remaining problems, see below, but I wanted to send what
> > I have now rather than keep this back.
> >
> > The first 3 patches are fixes to handle refcount leaks found while working
> > on this, I've added the commit name of where they could be squashed to.
>
> I see those have been marked 'awaiting upstream', what does that mean in
> mptcp context?
It means the patches are ready to be merged, waiting for someone
(Matt?) to merge them.
It looks correct to me for the first 3 patches.
/P
^ permalink raw reply [flat|nested] 5+ messages in thread
* [MPTCP] Re: [PATCH/RFC 0/7] improve subflow join handling
@ 2019-11-26 16:45 Florian Westphal
0 siblings, 0 replies; 5+ messages in thread
From: Florian Westphal @ 2019-11-26 16:45 UTC (permalink / raw)
To: mptcp
[-- Attachment #1: Type: text/plain, Size: 469 bytes --]
Florian Westphal <fw(a)strlen.de> wrote:
> This set aims to improve handling of multiple subflows.
> There are multiple remaining problems, see below, but I wanted to send what
> I have now rather than keep this back.
>
> The first 3 patches are fixes to handle refcount leaks found while working
> on this, I've added the commit name of where they could be squashed to.
I see those have been marked 'awaiting upstream', what does that mean in
mptcp context?
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2019-11-26 17:51 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-25 12:06 [MPTCP] Re: [PATCH/RFC 0/7] improve subflow join handling Paolo Abeni
2019-11-26 16:45 Florian Westphal
2019-11-26 16:56 Paolo Abeni
2019-11-26 17:49 Matthieu Baerts
2019-11-26 17:51 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.