mbox series

[net-next,0/8] mptcp: add mixed v4/v6 support for the in-kernel PM

Message ID 20230123-upstream-net-next-pm-v4-v6-v1-0-43fac502bfbf@tessares.net
Headers show
Series mptcp: add mixed v4/v6 support for the in-kernel PM | expand

Message

Matthieu Baerts Jan. 25, 2023, 10:47 a.m. UTC
Before these patches, the in-kernel Path-Manager would not allow, for
the same MPTCP connection, having a mix of subflows in v4 and v6.

MPTCP's RFC 8684 doesn't forbid that and it is even recommended to do so
as the path in v4 and v6 are likely different. Some networks are also
v4 or v6 only, we cannot assume they all have both v4 and v6 support.

Patch 1 then removes this artificial constraint in the in-kernel PM
currently enforcing there are no mixed subflows in place, either in
address announcement or in subflow creation areas.

Patch 2 makes sure the sk_ipv6only attribute is also propagated to
subflows, just in case a new PM wouldn't respect it.

Some selftests have also been added for the in-kernel PM (patch 3).

Patches 4 to 8 are just some cleanups and small improvements in the
printed messages in the userspace PM. It is not linked to the rest but
identified when working on a related patch modifying this selftest,
already in -net:

  commit 4656d72c1efa ("selftests: mptcp: userspace: validate v4-v6 subflows mix")

---
Matthieu Baerts (6):
      mptcp: propagate sk_ipv6only to subflows
      mptcp: userspace pm: use a single point of exit
      selftests: mptcp: userspace: print titles
      selftests: mptcp: userspace: refactor asserts
      selftests: mptcp: userspace: print error details if any
      selftests: mptcp: userspace: avoid read errors

Paolo Abeni (2):
      mptcp: let the in-kernel PM use mixed IPv4 and IPv6 addresses
      selftests: mptcp: add test-cases for mixed v4/v6 subflows

 net/mptcp/pm_netlink.c                            |  58 ++++----
 net/mptcp/pm_userspace.c                          |   5 +-
 net/mptcp/sockopt.c                               |   1 +
 tools/testing/selftests/net/mptcp/mptcp_join.sh   |  53 ++++++--
 tools/testing/selftests/net/mptcp/userspace_pm.sh | 153 +++++++++++++---------
 5 files changed, 171 insertions(+), 99 deletions(-)
---
base-commit: 4373a023e0388fc19e27d37f61401bce6ff4c9d7
change-id: 20230123-upstream-net-next-pm-v4-v6-b186481a4b00

Best regards,

Comments

patchwork-bot+netdevbpf@kernel.org Jan. 26, 2023, 12:50 p.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (master)
by Paolo Abeni <pabeni@redhat.com>:

On Wed, 25 Jan 2023 11:47:20 +0100 you wrote:
> Before these patches, the in-kernel Path-Manager would not allow, for
> the same MPTCP connection, having a mix of subflows in v4 and v6.
> 
> MPTCP's RFC 8684 doesn't forbid that and it is even recommended to do so
> as the path in v4 and v6 are likely different. Some networks are also
> v4 or v6 only, we cannot assume they all have both v4 and v6 support.
> 
> [...]

Here is the summary with links:
  - [net-next,1/8] mptcp: let the in-kernel PM use mixed IPv4 and IPv6 addresses
    https://git.kernel.org/netdev/net-next/c/b9d69db87fb7
  - [net-next,2/8] mptcp: propagate sk_ipv6only to subflows
    https://git.kernel.org/netdev/net-next/c/7e9740e0e84e
  - [net-next,3/8] selftests: mptcp: add test-cases for mixed v4/v6 subflows
    https://git.kernel.org/netdev/net-next/c/ad3493746ebe
  - [net-next,4/8] mptcp: userspace pm: use a single point of exit
    https://git.kernel.org/netdev/net-next/c/40c71f763f87
  - [net-next,5/8] selftests: mptcp: userspace: print titles
    https://git.kernel.org/netdev/net-next/c/f790ae03db33
  - [net-next,6/8] selftests: mptcp: userspace: refactor asserts
    https://git.kernel.org/netdev/net-next/c/1c0b0ee2640b
  - [net-next,7/8] selftests: mptcp: userspace: print error details if any
    https://git.kernel.org/netdev/net-next/c/10d4273411be
  - [net-next,8/8] selftests: mptcp: userspace: avoid read errors
    https://git.kernel.org/netdev/net-next/c/8dbdf24f4e9e

You are awesome, thank you!