All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.