All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH mptcp-next v3 0/6] mptcp: Add userspace PM mode to bypass kernel PM
@ 2021-12-14  1:46 Mat Martineau
  2021-12-14  1:46 ` [PATCH mptcp-next v3 1/6] mptcp: Remove redundant assignments in path manager init Mat Martineau
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Mat Martineau @ 2021-12-14  1:46 UTC (permalink / raw)
  To: mptcp; +Cc: Mat Martineau

One part of supporting userspace path managers is to prevent the
in-kernel PM from acting on userspace-managed MPTCP connections.

These patches:

 * Add a per-MPTCP-socket 'pm_type'. A mix of kernel-managed and
   userspace-managed connections are supported within each namespace.

 * Conditionally decouple incoming ADD_ADDR/RM_ADDR and subflow changes
   from the in-kernel PM. Netlink events are still triggered, and ADD_ADDR
   echo handling is still in kernel code even if path management is
   otherwise handled in userspace.

 * Add a sysctl for setting the per-namespace default for in-kernel vs
   userspace path management of new MPTCP sockets. This is an integer
   value to allow extensibility.

 * Add selftests to confirm that the in-kernel PM is bypassed.

RFC -> v1: Changed sysctl from a bool to an integer, added patch 1
(cleanup) and patch 6 (selftests), fixed ADD_ADDR echo and initial
pm->subflows_allowed settings.

v1 -> v2: Rebased on latest export branch, removed extra kernel-mode
check when receiving ADD_ADDR, and fix !CONFIG_SYSCTL build.

v2 -> v3: Rebased on latest export branch, use helper function for PM
mode, clarify initialization logic for userspace vs. kernel PM,
add a Tested-by tag from v2 review.

Mat Martineau (6):
  mptcp: Remove redundant assignments in path manager init
  mptcp: Add a member to mptcp_pm_data to track kernel vs userspace mode
  mptcp: Bypass kernel PM when userspace PM is enabled
  mptcp: Make kernel path manager check for userspace-managed sockets
  mptcp: Add a per-namespace sysctl to set the default path manager type
  selftests: mptcp: Add tests for userspace PM type

 Documentation/networking/mptcp-sysctl.rst     | 18 +++++
 net/mptcp/ctrl.c                              | 21 ++++++
 net/mptcp/pm.c                                | 50 +++++++++----
 net/mptcp/pm_netlink.c                        | 30 ++++----
 net/mptcp/protocol.h                          | 16 ++++-
 .../testing/selftests/net/mptcp/mptcp_join.sh | 70 ++++++++++++++++++-
 6 files changed, 170 insertions(+), 35 deletions(-)


base-commit: fa9c2885492d7189f9403d92ae3f68f540002093
-- 
2.34.1


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

end of thread, other threads:[~2021-12-14  1:47 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-14  1:46 [PATCH mptcp-next v3 0/6] mptcp: Add userspace PM mode to bypass kernel PM Mat Martineau
2021-12-14  1:46 ` [PATCH mptcp-next v3 1/6] mptcp: Remove redundant assignments in path manager init Mat Martineau
2021-12-14  1:46 ` [PATCH mptcp-next v3 2/6] mptcp: Add a member to mptcp_pm_data to track kernel vs userspace mode Mat Martineau
2021-12-14  1:46 ` [PATCH mptcp-next v3 3/6] mptcp: Bypass kernel PM when userspace PM is enabled Mat Martineau
2021-12-14  1:46 ` [PATCH mptcp-next v3 4/6] mptcp: Make kernel path manager check for userspace-managed sockets Mat Martineau
2021-12-14  1:46 ` [PATCH mptcp-next v3 5/6] mptcp: Add a per-namespace sysctl to set the default path manager type Mat Martineau
2021-12-14  1:46 ` [PATCH mptcp-next v3 6/6] selftests: mptcp: Add tests for userspace PM type Mat Martineau

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.