Message ID | 20220407234029.1774481-1-kishen.maloor@intel.com (mailing list archive) |
---|---|
Headers | show |
Series | mptcp: APIs and self-tests for userspace path management | expand |
On Thu, 7 Apr 2022, Kishen Maloor wrote: > 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. > > v6: > -Put all distinct userspace PM related code into a separate compilation > unit: pm_userspace.c. > -Made a few internal helpers non-static (now declared in protocol.h) to > facilitate the above change. > -Use the pm spinlock instead of mptcp_data_lock() to synchronize > access to the per-msk local_addr_list. > > v7: > -Move userspace PM specific handling from pm_netlink > into mptcp_userspace_pm_get_local_id() > and mptcp_userspace_pm_get_flags_and_ifindex_by_id() in pm_userspace. > > v8: > -Add copyright notice to pm_userspace.c. Hi Kishen - I went over v7 in detail, and confirmed the change for v8. Looks good to me, and the tests are working on my VM. So, I'm ready to tag it: Reviewed-by: Mat Martineau <mathew.j.martineau@linux.intel.com> Matthieu, I haven't marked it as "Queued" in patchwork yet since Paolo may want to take a look. Ready to merge from my POV though. Thanks, Mat > > 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/Makefile | 2 +- > net/mptcp/pm.c | 1 + > net/mptcp/pm_netlink.c | 169 ++-- > net/mptcp/pm_userspace.c | 415 ++++++++++ > net/mptcp/protocol.c | 1 + > net/mptcp/protocol.h | 39 +- > net/mptcp/subflow.c | 2 +- > tools/testing/selftests/net/mptcp/pm_nl_ctl.c | 645 ++++++++++++++- > .../selftests/net/mptcp/userspace_pm.sh | 771 ++++++++++++++++++ > 10 files changed, 1989 insertions(+), 63 deletions(-) > create mode 100644 net/mptcp/pm_userspace.c > create mode 100755 tools/testing/selftests/net/mptcp/userspace_pm.sh > > > base-commit: 812de90f114c9234a4ebc80058e71250e552ce5f > -- > 2.31.1 > > -- Mat Martineau Intel