From: Paolo Abeni <pabeni@redhat.com>
To: mptcp@lists.linux.dev
Subject: [PATCH v2 mptcp-next 00/13] mptcp: get rid of msk->subflow
Date: Fri, 14 Jul 2023 13:29:31 +0200 [thread overview]
Message-ID: <cover.1689334116.git.pabeni@redhat.com> (raw)
The mptcp protocol maintains an additional struct socket per connection,
mainly to be able to use easily tcp-level struct socket operations.
That lead to several ill side effects, beyond the quite unfortunate/
confusing field name
- active and passive sockets behavior is incosistent, as only active
ones have not NULL msk->subflow, leading to different error handling
(and different error code returned to the user-space) in several
places.
- active sockets uses an unneeded, larger amount of memory
- passive sockets can't successfully go through accept()/disconnect()
accept()
This series address all the above finally getting rid of the blamed
field. The first patch is a minor clean-up, in the next 11 patches
msk->subflow usage is sistematically removed from the mptcp protocol,
replacing it with direct msk->first usage, eventually introducing new
core helpers as needed.
The final patch finally dispose the field, and it's the only patch in
the series intened to produce functional changes.
v1 -> v2:
- dropped first patch (already applied)
- a bunch of typos and comments, the only patches with code changes
are 7/13, 9/13, 13/13, see the individual changelog for the
details.
Paolo Abeni (13):
mptcp: avoid unneeded mptcp_token_destroy() calls
mptcp: avoid additional __inet_stream_connect() call
mptcp: avoid subflow socket usage in mptcp_get_port()
net: factor out inet{,6}_bind_sk helpers
mptcp: mptcp: avoid additional indirection in mptcp_bind()
net: factor out __inet_listen_sk() helper
mptcp: avoid additional indirection in mptcp_listen()
mptcp: avoid additional indirection in mptcp_poll()
mptcp: avoid unneeded indirection in mptcp_stream_accept()
mptcp: avoid additional indirection in sockopt
mptcp: avoid ssock usage in mptcp_pm_nl_create_listen_socket()
mptcp: change the mpc check helper to return a sk
mptcp: get rid of msk->subflow
include/net/inet_common.h | 2 +
include/net/ipv6.h | 1 +
net/ipv4/af_inet.c | 46 ++++++----
net/ipv6/af_inet6.c | 10 ++-
net/mptcp/pm_netlink.c | 30 ++++---
net/mptcp/protocol.c | 177 +++++++++++++++++++-------------------
net/mptcp/protocol.h | 15 ++--
net/mptcp/sockopt.c | 65 +++++++-------
8 files changed, 181 insertions(+), 165 deletions(-)
--
2.41.0
next reply other threads:[~2023-07-14 11:29 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-14 11:29 Paolo Abeni [this message]
2023-07-14 11:29 ` [PATCH v2 mptcp-next 01/13] mptcp: avoid unneeded mptcp_token_destroy() calls Paolo Abeni
2023-07-14 11:29 ` [PATCH v2 mptcp-next 02/13] mptcp: avoid additional __inet_stream_connect() call Paolo Abeni
2023-07-14 11:29 ` [PATCH v2 mptcp-next 03/13] mptcp: avoid subflow socket usage in mptcp_get_port() Paolo Abeni
2023-07-14 11:29 ` [PATCH v2 mptcp-next 04/13] net: factor out inet{,6}_bind_sk helpers Paolo Abeni
2023-07-14 23:21 ` Mat Martineau
2023-07-14 11:29 ` [PATCH v2 mptcp-next 05/13] mptcp: mptcp: avoid additional indirection in mptcp_bind() Paolo Abeni
2023-07-14 11:29 ` [PATCH v2 mptcp-next 06/13] net: factor out __inet_listen_sk() helper Paolo Abeni
2023-07-14 23:21 ` Mat Martineau
2023-07-14 11:29 ` [PATCH v2 mptcp-next 07/13] mptcp: avoid additional indirection in mptcp_listen() Paolo Abeni
2023-07-14 11:29 ` [PATCH v2 mptcp-next 08/13] mptcp: avoid additional indirection in mptcp_poll() Paolo Abeni
2023-07-14 11:29 ` [PATCH v2 mptcp-next 09/13] mptcp: avoid unneeded indirection in mptcp_stream_accept() Paolo Abeni
2023-07-14 11:29 ` [PATCH v2 mptcp-next 10/13] mptcp: avoid additional indirection in sockopt Paolo Abeni
2023-07-14 11:29 ` [PATCH v2 mptcp-next 11/13] mptcp: avoid ssock usage in mptcp_pm_nl_create_listen_socket() Paolo Abeni
2023-07-14 11:29 ` [PATCH v2 mptcp-next 12/13] mptcp: change the mpc check helper to return a sk Paolo Abeni
2023-07-14 11:29 ` [PATCH v2 mptcp-next 13/13] mptcp: get rid of msk->subflow Paolo Abeni
2023-07-14 12:57 ` mptcp: get rid of msk->subflow: Tests Results MPTCP CI
2023-07-15 0:25 ` MPTCP CI
2023-07-14 23:20 ` [PATCH v2 mptcp-next 00/13] mptcp: get rid of msk->subflow Mat Martineau
2023-07-17 13:58 ` Matthieu Baerts
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1689334116.git.pabeni@redhat.com \
--to=pabeni@redhat.com \
--cc=mptcp@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.