This patch series brings together the base functionality
and new netlink APIs for flexible path management from userspace.
It further extends the MPTCP self-testing framework to support the new
netlink APIs along with the ability to capture MPTCP netlink events
to aid in functional/behavioral validations. Lastly, it adds a new
self-testing script with a suite of test cases covering the entire
range of the new userspace path management capabilities.
Note: This patch series depends on the prior series "mptcp: fixes and
enhancements related to path management".
v1 -> v2:
-fixed build error when IPv6 is not enabled
v2 -> v3:
-new sysctl configurable param net.mptcp.userspace_pm_local_addr_max
to control/bound userspace PM activity
-new test case to verify that net.mptcp.userspace_pm_local_addr_max is
enforced by the kernel
-verify expected value of the server_side attribute in MPTCP connection
events in the self-testing script
-incorporate new addr flag MPTCP_PM_ADDR_FLAG_NO_LISTEN and helper
lsk_list_find_or_create() in MPTCP_PM_CMD_ANNOUNCE
-added descriptive remarks throughout the self-testing script
(userspace_pm.sh)
Florian Westphal (2):
mptcp: netlink: split mptcp_pm_parse_addr into two functions
mptcp: netlink: allow userspace-driven subflow establishment
Kishen Maloor (12):
mptcp: add sysctl param to limit userspace PM activity
mptcp: allow ADD_ADDR reissuance by userspace PMs
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
mptcp: selftests: support MPTCP_PM_CMD_ANNOUNCE
mptcp: netlink: Add MPTCP_PM_CMD_REMOVE
mptcp: selftests: support MPTCP_PM_CMD_REMOVE
mptcp: selftests: support MPTCP_PM_CMD_SUBFLOW_CREATE
mptcp: selftests: support MPTCP_PM_CMD_SUBFLOW_DESTROY
mptcp: selftests: capture netlink events
selftests: mptcp: functional tests for the userspace PM type
include/uapi/linux/mptcp.h | 7 +
net/mptcp/ctrl.c | 17 +
net/mptcp/pm.c | 4 +-
net/mptcp/pm_netlink.c | 637 +++++++++++++++--
net/mptcp/protocol.c | 2 +
net/mptcp/protocol.h | 5 +-
net/mptcp/subflow.c | 2 +-
tools/testing/selftests/net/mptcp/pm_nl_ctl.c | 598 +++++++++++++++-
.../selftests/net/mptcp/userspace_pm.sh | 656 ++++++++++++++++++
9 files changed, 1862 insertions(+), 66 deletions(-)
create mode 100755 tools/testing/selftests/net/mptcp/userspace_pm.sh
--
2.31.1