On Thu, 11 Nov 2021, Paolo Abeni wrote:
> As outlined in the public mtg, mptcp_accept() is currently quite
> suboptimal, both from performance and code complexity
>
> This series tries to clean it up, enforcing a wider lifetime for
> the initial subflow, so that we don't need to acquire additional
> references there.
>
> To reach such goal we need to properly define the disconnect()
> behavior, which is currently quite incomplete. Additionally allow
> user-space to really disconnect established connections.
>
> Disconnect() needs in turn an egress FASTCLOSE implementation,
> added here according to option R (reset - the simpler form).
>
> Finally, the self-tests need as pre-req Florian's patches implementing
> SIOCOUTQ
>
> v1 -> v2:
> - update mptcp_connect argument lists and usage() in patch 7/7
>
Thanks for the v2 Paolo. Looks good to me.
(Matthieu, note the dependency on Florian's TCP_INQ series)
Reviewed-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
> RFC -> v1:
> - added patches 1/7, 3/7, 6/7, 7/7
> - added a few missing bits in patch 4/7
>
> Paolo Abeni (7):
> mptcp: keep snd_una updated for fallback socket
> mptcp: never allow the PM to close a listener subflow
> mptcp: implement fastclose xmit path
> mptcp: full disconnect implementation
> mptcp: cleanup accept and poll
> mptcp: implement support for user-space disconnect
> mptcp: add disconnect selftests
>
> net/mptcp/options.c | 57 +++++--
> net/mptcp/pm.c | 10 +-
> net/mptcp/pm_netlink.c | 3 +
> net/mptcp/protocol.c | 144 +++++++++++------
> net/mptcp/protocol.h | 16 +-
> net/mptcp/subflow.c | 1 -
> net/mptcp/token.c | 1 +
> .../selftests/net/mptcp/mptcp_connect.c | 148 +++++++++++++++---
> .../selftests/net/mptcp/mptcp_connect.sh | 39 ++++-
> 9 files changed, 324 insertions(+), 95 deletions(-)
>
> --
> 2.33.1
>
>
>
--
Mat Martineau
Intel