mbox series

[net-next,0/6] MPTCP: Allow initial subflow to be disconnected

Message ID 20210331000856.117636-1-mathew.j.martineau@linux.intel.com (mailing list archive)
Headers show
Series MPTCP: Allow initial subflow to be disconnected | expand

Message

Mat Martineau March 31, 2021, 12:08 a.m. UTC
An MPTCP connection is aggregated from multiple TCP subflows, and can
involve multiple IP addresses on either peer. The addresses used in the
initial subflow connection are assigned address id 0 on each side of the
link. More addresses can be added and shared with the peer using address
IDs of 1 or larger. MPTCP in Linux shares non-zero address IDs across
all MPTCP connections in a net namespace, which allows userspace to
manage subflow connections across a number of sockets. However, this
makes the address with id 0 a special case, since the IP address
associated with id 0 is potentially different for each socket.

This patch set allows the initial subflow to be disconnected when
userspace specifies an address to remove using both id 0 and an IP
address, or when the peer sends an RM_ADDR for id 0.

Patches 1 and 3 implement the change for requests from the peer and
userspace, respectively.

Patch 2 consolidates some code for disconnecting subflows.

Patches 4-6 update the self tests to cover removal of subflows using
address id 0.


Geliang Tang (5):
  mptcp: remove all subflows involving id 0 address
  mptcp: unify RM_ADDR and RM_SUBFLOW receiving
  mptcp: remove id 0 address
  selftests: mptcp: add addr argument for del_addr
  selftests: mptcp: remove id 0 address testcases

Matthieu Baerts (1):
  selftests: mptcp: avoid calling pm_nl_ctl with bad IDs

 net/mptcp/pm_netlink.c                        | 129 +++++++++++-------
 .../testing/selftests/net/mptcp/mptcp_join.sh |  35 ++++-
 .../testing/selftests/net/mptcp/pm_netlink.sh |   6 +-
 tools/testing/selftests/net/mptcp/pm_nl_ctl.c |  34 ++++-
 4 files changed, 143 insertions(+), 61 deletions(-)


base-commit: cda1893e9f7c1d78e391dbb6ef1798cd32354113

Comments

patchwork-bot+netdevbpf@kernel.org March 31, 2021, 12:50 a.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (refs/heads/master):

On Tue, 30 Mar 2021 17:08:50 -0700 you wrote:
> An MPTCP connection is aggregated from multiple TCP subflows, and can
> involve multiple IP addresses on either peer. The addresses used in the
> initial subflow connection are assigned address id 0 on each side of the
> link. More addresses can be added and shared with the peer using address
> IDs of 1 or larger. MPTCP in Linux shares non-zero address IDs across
> all MPTCP connections in a net namespace, which allows userspace to
> manage subflow connections across a number of sockets. However, this
> makes the address with id 0 a special case, since the IP address
> associated with id 0 is potentially different for each socket.
> 
> [...]

Here is the summary with links:
  - [net-next,1/6] mptcp: remove all subflows involving id 0 address
    https://git.kernel.org/netdev/net-next/c/774c8a8dcb3c
  - [net-next,2/6] mptcp: unify RM_ADDR and RM_SUBFLOW receiving
    https://git.kernel.org/netdev/net-next/c/9f12e97bf16c
  - [net-next,3/6] mptcp: remove id 0 address
    https://git.kernel.org/netdev/net-next/c/740d798e8767
  - [net-next,4/6] selftests: mptcp: avoid calling pm_nl_ctl with bad IDs
    https://git.kernel.org/netdev/net-next/c/6254ad408820
  - [net-next,5/6] selftests: mptcp: add addr argument for del_addr
    https://git.kernel.org/netdev/net-next/c/2d121c9a882a
  - [net-next,6/6] selftests: mptcp: remove id 0 address testcases
    https://git.kernel.org/netdev/net-next/c/5e287fe76149

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html