[PATCH net 0/3] mptcp: userspace pm: create sockets for the right family

From: Matthieu Baerts
Date: Thu Jan 12 2023 - 13:14:36 EST


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>