netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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


             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).