Message ID | 20220329021401.1196466-1-kishen.maloor@intel.com (mailing list archive) |
---|---|
Headers | show |
Series | mptcp: fixes and enhancements related to path management | expand |
On Mon, 2022-03-28 at 22:13 -0400, Kishen Maloor wrote: > This patch series incorporates fixes and enhancements related to > path management over MPTCP connections, particularly in support of > userspace PMs. The changes ensure that the required bits of > information are conveyed through MPTCP netlink events which > would be consumed by the path manager in making its decisions. > Further it adds flexibility in establishing paths and from > both ends of MPTCP connections. > > v6: > -Dropped framework and functionality around the use of kernel > listening sockets for receiving MPJs. > > v7: > -Fixed bug caught by the CI build. > > v8: > -Fixed logic to achieve the desired outcome of not responding to > address advertisements when a userspace PM is offline. > -Factored out minor changes to mptcp_pm_is_userspace() to be > squashed into an earlier commit. > > v9: > -Removed an explicit 'struct inet_sock *' cast in a patch which was > not necessary. > > Kishen Maloor (6): > Squash-to: mptcp: Bypass kernel PM when userspace PM is enabled > mptcp: bypass in-kernel PM restrictions for non-kernel PMs > mptcp: store remote id from MP_JOIN SYN/ACK in local ctx > mptcp: reflect remote port (not 0) in ANNOUNCED events > mptcp: establish subflows from either end of connection > mptcp: expose server_side attribute in MPTCP netlink events > > include/uapi/linux/mptcp.h | 1 + > net/mptcp/options.c | 4 ++-- > net/mptcp/pm.c | 21 +++++++++++++++++---- > net/mptcp/pm_netlink.c | 24 +++++++++++++++++++++--- > net/mptcp/protocol.c | 5 +---- > net/mptcp/protocol.h | 22 ++++++++++++++++------ > net/mptcp/subflow.c | 5 ++++- > 7 files changed, 62 insertions(+), 20 deletions(-) > > > base-commit: 8e1fca01ac83e646133bd647abdae74d6d6449ba > -- > 2.31.1 > This series LGTM, thanks! There is a consistent self-test failure on test: 098 userspace pm type echoes add_addr. I *think* it can be addressed even after merging this series. @Kishen, could you please have a look at that? Paolo
On Mon, 28 Mar 2022, Kishen Maloor wrote: > This patch series incorporates fixes and enhancements related to > path management over MPTCP connections, particularly in support of > userspace PMs. The changes ensure that the required bits of > information are conveyed through MPTCP netlink events which > would be consumed by the path manager in making its decisions. > Further it adds flexibility in establishing paths and from > both ends of MPTCP connections. > > v6: > -Dropped framework and functionality around the use of kernel > listening sockets for receiving MPJs. > Thanks Kishen. This first series looks good to me, and Paolo acked too. The second series needs a rebase and a few more tweaks. For this series: Reviewed-by: Mat Martineau <mathew.j.martineau@linux.intel.com> Matthieu, I sent two additional selftest-only patches so that the behavior implemented in this series (which is correct: don't send ADD_ADDR echoes if there's no userspace daemon) is correctly tested. They're pretty short and simple, hopefully you can review and apply with Kishen's series. As I mentioned in https://lore.kernel.org/mptcp/20220401193714.10268-1-mathew.j.martineau@linux.intel.com/ : If you could add the squash-to patch at the beginning of [the] series to revert the bad test, and add the new self test commit after "mptcp: bypass in-kernel PM restrictions for non-kernel PMs" I think that addresses the test problem. Mat > v7: > -Fixed bug caught by the CI build. > > v8: > -Fixed logic to achieve the desired outcome of not responding to > address advertisements when a userspace PM is offline. > -Factored out minor changes to mptcp_pm_is_userspace() to be > squashed into an earlier commit. > > v9: > -Removed an explicit 'struct inet_sock *' cast in a patch which was > not necessary. > > Kishen Maloor (6): > Squash-to: mptcp: Bypass kernel PM when userspace PM is enabled > mptcp: bypass in-kernel PM restrictions for non-kernel PMs > mptcp: store remote id from MP_JOIN SYN/ACK in local ctx > mptcp: reflect remote port (not 0) in ANNOUNCED events > mptcp: establish subflows from either end of connection > mptcp: expose server_side attribute in MPTCP netlink events > > include/uapi/linux/mptcp.h | 1 + > net/mptcp/options.c | 4 ++-- > net/mptcp/pm.c | 21 +++++++++++++++++---- > net/mptcp/pm_netlink.c | 24 +++++++++++++++++++++--- > net/mptcp/protocol.c | 5 +---- > net/mptcp/protocol.h | 22 ++++++++++++++++------ > net/mptcp/subflow.c | 5 ++++- > 7 files changed, 62 insertions(+), 20 deletions(-) > > > base-commit: 8e1fca01ac83e646133bd647abdae74d6d6449ba > -- > 2.31.1 > > -- Mat Martineau Intel
Hi Kishen, Paolo, Mat, On 29/03/2022 04:13, Kishen Maloor wrote: > This patch series incorporates fixes and enhancements related to > path management over MPTCP connections, particularly in support of > userspace PMs. The changes ensure that the required bits of > information are conveyed through MPTCP netlink events which > would be consumed by the path manager in making its decisions. > Further it adds flexibility in establishing paths and from > both ends of MPTCP connections. Thank you for the patches and the reviews! Now in our tree (feat. for net-next next) with Paolo's ACK and Mat's RvB tags + my RvB tag on Mat's patch: New patches for t/upstream: - 427906c8a699: "squashed" patch 1/6 in "mptcp: Bypass kernel PM when userspace PM is enabled" - 6640ff7f4de5: "Signed-off-by" + "Co-developed-by" - Results: 463bac3cb3eb..6ecd31441499 (export) - ab5c3fe24c5d: "squashed" patch 1/2 in "selftests: mptcp: Add tests for userspace PM type" - Results: 6ecd31441499..bdcfe21e5935 (export) - 3fd4c2a2d672: mptcp: bypass in-kernel PM restrictions for non-kernel PMs - 564dcdfa9e21: selftests: mptcp: ADD_ADDR echo test with missing userspace daemon - f9900267d0b8: mptcp: store remote id from MP_JOIN SYN/ACK in local ctx - fc1a120f5a70: mptcp: reflect remote port (not 0) in ANNOUNCED events - 12d4f5bc7b1c: mptcp: establish subflows from either end of connection - 653a3596c18f: mptcp: expose server_side attribute in MPTCP netlink events - Results: bdcfe21e5935..580d91d8ba51 (export) Builds and tests are now in progress: https://cirrus-ci.com/github/multipath-tcp/mptcp_net-next/export/20220402T105856 https://github.com/multipath-tcp/mptcp_net-next/actions/workflows/build-validation.yml?query=branch:export Cheers, Matt