From: Matthieu Baerts <matthieu.baerts@tessares.net>
To: "David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>,
Mat Martineau <mathew.j.martineau@linux.intel.com>,
Matthieu Baerts <matthieu.baerts@tessares.net>,
Paolo Abeni <pabeni@redhat.com>, Shuah Khan <shuah@kernel.org>
Cc: linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org,
mptcp@lists.linux.dev, netdev@vger.kernel.org
Subject: [PATCH net-next 00/11] mptcp: PM listener events + selftests cleanup
Date: Wed, 30 Nov 2022 15:06:22 +0100 [thread overview]
Message-ID: <20221130140637.409926-1-matthieu.baerts@tessares.net> (raw)
Thanks to the patch 6/11, the MPTCP path manager now sends Netlink events when
MPTCP listening sockets are created and closed. The reason why it is needed is
explained in the linked ticket [1]:
MPTCP for Linux, when not using the in-kernel PM, depends on the userspace PM
to create extra listening sockets before announcing addresses and ports. Let's
call these "PM listeners".
With the existing MPTCP netlink events, a userspace PM can create PM listeners
at startup time, or in response to an incoming connection. Creating sockets in
response to connections is not optimal: ADD_ADDRs can't be sent until the
sockets are created and listen()ed, and if all connections are closed then it
may not be clear to the userspace PM daemon that PM listener sockets should be
cleaned up.
Hence this feature request: to add MPTCP netlink events for listening socket
close & create, so PM listening sockets can be managed based on application
activity.
[1] https://github.com/multipath-tcp/mptcp_net-next/issues/313
Selftests for these new Netlink events have been added in patches 9,11/11.
The remaining patches introduce different cleanups and small improvements in
MPTCP selftests to ease the maintenance and the addition of new tests.
Geliang Tang (6):
mptcp: add pm listener events
selftests: mptcp: enhance userspace pm tests
selftests: mptcp: make evts global in userspace_pm
selftests: mptcp: listener test for userspace PM
selftests: mptcp: make evts global in mptcp_join
selftests: mptcp: listener test for in-kernel PM
Matthieu Baerts (5):
selftests: mptcp: run mptcp_inq from a clean netns
selftests: mptcp: removed defined but unused vars
selftests: mptcp: uniform 'rndh' variable
selftests: mptcp: clearly declare global ns vars
selftests: mptcp: declare var as local
include/uapi/linux/mptcp.h | 9 +
net/mptcp/pm_netlink.c | 57 ++++
net/mptcp/protocol.c | 3 +
net/mptcp/protocol.h | 2 +
tools/testing/selftests/net/mptcp/diag.sh | 1 +
.../selftests/net/mptcp/mptcp_connect.sh | 6 +-
.../testing/selftests/net/mptcp/mptcp_join.sh | 118 +++++--
.../selftests/net/mptcp/mptcp_sockopt.sh | 69 ++--
.../selftests/net/mptcp/simult_flows.sh | 4 +-
.../selftests/net/mptcp/userspace_pm.sh | 298 ++++++++++--------
10 files changed, 375 insertions(+), 192 deletions(-)
base-commit: 91a7de85600d5dfa272cea3cef83052e067dc0ab
--
2.37.2
next reply other threads:[~2022-11-30 14:07 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-30 14:06 Matthieu Baerts [this message]
2022-11-30 14:06 ` [PATCH net-next 01/11] selftests: mptcp: run mptcp_inq from a clean netns Matthieu Baerts
2022-11-30 14:06 ` [PATCH net-next 02/11] selftests: mptcp: removed defined but unused vars Matthieu Baerts
2022-11-30 14:06 ` [PATCH net-next 03/11] selftests: mptcp: uniform 'rndh' variable Matthieu Baerts
2022-11-30 14:06 ` [PATCH net-next 04/11] selftests: mptcp: clearly declare global ns vars Matthieu Baerts
2022-11-30 14:06 ` [PATCH net-next 05/11] selftests: mptcp: declare var as local Matthieu Baerts
2022-11-30 14:06 ` [PATCH net-next 06/11] mptcp: add pm listener events Matthieu Baerts
2022-12-02 4:05 ` Jakub Kicinski
2022-12-02 10:21 ` Matthieu Baerts
2022-11-30 14:06 ` [PATCH net-next 07/11] selftests: mptcp: enhance userspace pm tests Matthieu Baerts
2022-11-30 14:06 ` [PATCH net-next 08/11] selftests: mptcp: make evts global in userspace_pm Matthieu Baerts
2022-11-30 14:06 ` [PATCH net-next 09/11] selftests: mptcp: listener test for userspace PM Matthieu Baerts
2022-11-30 14:06 ` [PATCH net-next 10/11] selftests: mptcp: make evts global in mptcp_join Matthieu Baerts
2022-11-30 14:06 ` [PATCH net-next 11/11] selftests: mptcp: listener test for in-kernel PM Matthieu Baerts
2022-12-02 4:09 ` [PATCH net-next 00/11] mptcp: PM listener events + selftests cleanup Jakub Kicinski
2022-12-02 10:33 ` Matthieu Baerts
2022-12-02 4:20 ` patchwork-bot+netdevbpf
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=20221130140637.409926-1-matthieu.baerts@tessares.net \
--to=matthieu.baerts@tessares.net \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=mathew.j.martineau@linux.intel.com \
--cc=mptcp@lists.linux.dev \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=shuah@kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).