All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next 00/13] mptcp: Userspace path manager API
@ 2022-05-04  2:38 Mat Martineau
  2022-05-04  2:38 ` [PATCH net-next 01/13] mptcp: handle local addrs announced by userspace PMs Mat Martineau
                   ` (13 more replies)
  0 siblings, 14 replies; 15+ messages in thread
From: Mat Martineau @ 2022-05-04  2:38 UTC (permalink / raw)
  To: netdev
  Cc: Mat Martineau, davem, kuba, pabeni, edumazet, matthieu.baerts, mptcp

Userspace path managers (PMs) make use of generic netlink MPTCP events
and commands to control addition and removal of MPTCP subflows on an
existing MPTCP connection. The path manager events have already been
upstream for a while, and this patch series adds four netlink commands
for userspace:

* MPTCP_PM_CMD_ANNOUNCE: advertise an address that's available for 
additional subflow connections.

* MPTCP_PM_CMD_REMOVE: revoke an advertisement

* MPTCP_PM_CMD_SUBFLOW_CREATE: initiate a new subflow on an existing MPTCP 
connection

* MPTCP_PM_CMD_SUBFLOW_DESTROY: close a subflow on an existing MPTCP 
connection

Userspace path managers, such as mptcpd, can be more easily customized
for different devices. The in-kernel path manager remains available to
handle server use cases.


Patches 1-3 update common path manager code (used by both in-kernel and
userspace PMs)

Patches 4, 6, and 8 implement the new generic netlink commands.

Patches 5, 7, and 9-13 add self test support and test cases for the new
path manager commands.


Florian Westphal (2):
  mptcp: netlink: split mptcp_pm_parse_addr into two functions
  mptcp: netlink: allow userspace-driven subflow establishment

Kishen Maloor (11):
  mptcp: handle local addrs announced by userspace PMs
  mptcp: read attributes of addr entries managed by userspace PMs
  mptcp: netlink: Add MPTCP_PM_CMD_ANNOUNCE
  selftests: mptcp: support MPTCP_PM_CMD_ANNOUNCE
  mptcp: netlink: Add MPTCP_PM_CMD_REMOVE
  selftests: mptcp: support MPTCP_PM_CMD_REMOVE
  selftests: mptcp: support MPTCP_PM_CMD_SUBFLOW_CREATE
  selftests: mptcp: support MPTCP_PM_CMD_SUBFLOW_DESTROY
  selftests: mptcp: capture netlink events
  selftests: mptcp: create listeners to receive MPJs
  selftests: mptcp: functional tests for the userspace PM type

 include/uapi/linux/mptcp.h                    |   7 +
 net/mptcp/Makefile                            |   2 +-
 net/mptcp/pm.c                                |   1 +
 net/mptcp/pm_netlink.c                        | 157 ++--
 net/mptcp/pm_userspace.c                      | 429 ++++++++++
 net/mptcp/protocol.c                          |   1 +
 net/mptcp/protocol.h                          |  37 +-
 net/mptcp/subflow.c                           |   2 +-
 tools/testing/selftests/net/mptcp/pm_nl_ctl.c | 645 ++++++++++++++-
 .../selftests/net/mptcp/userspace_pm.sh       | 779 ++++++++++++++++++
 10 files changed, 1999 insertions(+), 61 deletions(-)
 create mode 100644 net/mptcp/pm_userspace.c
 create mode 100755 tools/testing/selftests/net/mptcp/userspace_pm.sh


base-commit: f43f0cd2d9b07caf38d744701b0b54d4244da8cc
-- 
2.36.0


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2022-05-04 10:10 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-04  2:38 [PATCH net-next 00/13] mptcp: Userspace path manager API Mat Martineau
2022-05-04  2:38 ` [PATCH net-next 01/13] mptcp: handle local addrs announced by userspace PMs Mat Martineau
2022-05-04  2:38 ` [PATCH net-next 02/13] mptcp: read attributes of addr entries managed " Mat Martineau
2022-05-04  2:38 ` [PATCH net-next 03/13] mptcp: netlink: split mptcp_pm_parse_addr into two functions Mat Martineau
2022-05-04  2:38 ` [PATCH net-next 04/13] mptcp: netlink: Add MPTCP_PM_CMD_ANNOUNCE Mat Martineau
2022-05-04  2:38 ` [PATCH net-next 05/13] selftests: mptcp: support MPTCP_PM_CMD_ANNOUNCE Mat Martineau
2022-05-04  2:38 ` [PATCH net-next 06/13] mptcp: netlink: Add MPTCP_PM_CMD_REMOVE Mat Martineau
2022-05-04  2:38 ` [PATCH net-next 07/13] selftests: mptcp: support MPTCP_PM_CMD_REMOVE Mat Martineau
2022-05-04  2:38 ` [PATCH net-next 08/13] mptcp: netlink: allow userspace-driven subflow establishment Mat Martineau
2022-05-04  2:38 ` [PATCH net-next 09/13] selftests: mptcp: support MPTCP_PM_CMD_SUBFLOW_CREATE Mat Martineau
2022-05-04  2:38 ` [PATCH net-next 10/13] selftests: mptcp: support MPTCP_PM_CMD_SUBFLOW_DESTROY Mat Martineau
2022-05-04  2:38 ` [PATCH net-next 11/13] selftests: mptcp: capture netlink events Mat Martineau
2022-05-04  2:39 ` [PATCH net-next 12/13] selftests: mptcp: create listeners to receive MPJs Mat Martineau
2022-05-04  2:39 ` [PATCH net-next 13/13] selftests: mptcp: functional tests for the userspace PM type Mat Martineau
2022-05-04 10:10 ` [PATCH net-next 00/13] mptcp: Userspace path manager API patchwork-bot+netdevbpf

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.