[PATCH net-next 00/11] mptcp: PM listener events + selftests cleanup
From: Matthieu Baerts
Date: Wed Nov 30 2022 - 09:07:47 EST
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