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@davemloft.net To: Eric Dumazet edumazet@google.com To: Jakub Kicinski kuba@kernel.org To: Kishen Maloor kishen.maloor@intel.com To: Florian Westphal fw@strlen.de To: Shuah Khan shuah@kernel.org Cc: netdev@vger.kernel.org Cc: mptcp@lists.linux.dev Cc: linux-kernel@vger.kernel.org Cc: linux-kselftest@vger.kernel.org Cc: Paolo Abeni pabeni@redhat.com Cc: Mat Martineau mathew.j.martineau@linux.intel.com Signed-off-by: Matthieu Baerts matthieu.baerts@tessares.net
--- 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,