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:
-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)
v3 -> v4:
-use the sock option memory buffer to store/limit local addrs
populated by userspace PMs
-call lsk_list_find() after a failed lsk_list_find_or_create()
in MPTCP_PM_CMD_ANNOUNCE for a chance to retrieve a recently
created lsk by a simultaneous call
-removed whitespace, reduced line lengths in 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 (11):
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/pm_netlink.c | 620 ++++++++++++++--
net/mptcp/protocol.c | 2 +
net/mptcp/protocol.h | 4 +-
net/mptcp/subflow.c | 2 +-
tools/testing/selftests/net/mptcp/pm_nl_ctl.c | 598 ++++++++++++++-
.../selftests/net/mptcp/userspace_pm.sh | 687 ++++++++++++++++++
7 files changed, 1855 insertions(+), 65 deletions(-)
create mode 100755 tools/testing/selftests/net/mptcp/userspace_pm.sh
--
2.31.1