This patch series brings together the base functionality
and new netlink APIs for flexible path management from userspace.
Further it 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
self-testing script with a suite of test cases covering the entire
range of the new userspace path management capabilities.
Note: This series depends on the prior patchset "mptcp: fixes and
enhancements related to path management".
v5:
-Primary change over v4 is the reliance on userspace
managed listener sockets for receiving MPJ requests.
-Addressed CI reported issues.
Florian Westphal (2):
mptcp: netlink: split mptcp_pm_parse_addr into two functions
mptcp: netlink: allow userspace-driven subflow establishment
Kishen Maloor (12):
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
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/pm_netlink.c | 567 +++++++++++--
net/mptcp/protocol.c | 2 +
net/mptcp/protocol.h | 5 +-
net/mptcp/subflow.c | 2 +-
tools/testing/selftests/net/mptcp/pm_nl_ctl.c | 645 ++++++++++++++-
.../selftests/net/mptcp/userspace_pm.sh | 771 ++++++++++++++++++
7 files changed, 1936 insertions(+), 63 deletions(-)
create mode 100755 tools/testing/selftests/net/mptcp/userspace_pm.sh
base-commit: 2a9f09777d24fc18cc62762b398054d3961ad8bf
prerequisite-patch-id: 20845587057b7bd3f8726eef5a28578d5f01634b
prerequisite-patch-id: 4b1b25e0f761f6adf36c3d270faf86723019c2b4
prerequisite-patch-id: d226de51a08a67605829c0b9425348cdff5a8699
prerequisite-patch-id: 60e0fae2bad56928af787f76cfbf80a6e4a0f790
prerequisite-patch-id: a347386be396a7513fa37db5655441d459230ac6
--
2.31.1