Before these patches, the Userspace Path Manager would allow the creation of subflows with wrong families: taking the one of the MPTCP socket instead of the provided ones and resulting in the creation of subflows with likely not the right source and/or destination IPs. It would also allow the creation of subflows between different families or not respecting v4/v6-only socket attributes. Patch 1 lets the userspace PM select the proper family to avoid creating subflows with the wrong source and/or destination addresses because the family is not the expected one. Patch 2 makes sure the userspace PM doesn't allow the userspace to create subflows for a family that is not allowed. Patch 3 validates scenarios with a mix of v4 and v6 subflows for the same MPTCP connection. These patches fix issues introduced in v5.19 when the userspace path manager has been introduced. To: "David S. Miller" <davem@xxxxxxxxxxxxx> To: Eric Dumazet <edumazet@xxxxxxxxxx> To: Jakub Kicinski <kuba@xxxxxxxxxx> To: Kishen Maloor <kishen.maloor@xxxxxxxxx> To: Florian Westphal <fw@xxxxxxxxx> To: Shuah Khan <shuah@xxxxxxxxxx> Cc: netdev@xxxxxxxxxxxxxxx Cc: mptcp@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-kselftest@xxxxxxxxxxxxxxx Cc: Paolo Abeni <pabeni@xxxxxxxxxx> Cc: Mat Martineau <mathew.j.martineau@xxxxxxxxxxxxxxx> Signed-off-by: Matthieu Baerts <matthieu.baerts@xxxxxxxxxxxx> --- Matthieu Baerts (2): mptcp: netlink: respect v4/v6-only sockets selftests: mptcp: userspace: validate v4-v6 subflows mix Paolo Abeni (1): mptcp: explicitly specify sock family at subflow creation time net/mptcp/pm.c | 25 ++++++++++++ net/mptcp/pm_userspace.c | 7 ++++ net/mptcp/protocol.c | 2 +- net/mptcp/protocol.h | 6 ++- net/mptcp/subflow.c | 9 +++-- tools/testing/selftests/net/mptcp/userspace_pm.sh | 47 +++++++++++++++++++++++ 6 files changed, 90 insertions(+), 6 deletions(-) --- base-commit: be53771c87f4e322a9835d3faa9cd73a4ecdec5b change-id: 20230112-upstream-net-20230112-netlink-v4-v6-b6b958039ee0 Best regards, -- Matthieu Baerts <matthieu.baerts@xxxxxxxxxxxx>