mbox series

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

Message ID 20230112-upstream-net-20230112-netlink-v4-v6-v1-0-6a8363a221d2@tessares.net
Headers show
Series mptcp: userspace pm: create sockets for the right family | expand

Message

Matthieu Baerts Jan. 12, 2023, 5:42 p.m. UTC
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,

Comments

patchwork-bot+netdevbpf@kernel.org Jan. 14, 2023, 6 a.m. UTC | #1
Hello:

This series was applied to netdev/net.git (master)
by Jakub Kicinski <kuba@kernel.org>:

On Thu, 12 Jan 2023 18:42:51 +0100 you wrote:
> 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.
> 
> [...]

Here is the summary with links:
  - [net,1/3] mptcp: explicitly specify sock family at subflow creation time
    https://git.kernel.org/netdev/net/c/6bc1fe7dd748
  - [net,2/3] mptcp: netlink: respect v4/v6-only sockets
    https://git.kernel.org/netdev/net/c/fb00ee4f3343
  - [net,3/3] selftests: mptcp: userspace: validate v4-v6 subflows mix
    https://git.kernel.org/netdev/net/c/4656d72c1efa

You are awesome, thank you!