mbox series

[net-next,v2,00/15] mptcp: ADD_ADDR enhancements

Message ID 20210201230920.66027-1-mathew.j.martineau@linux.intel.com (mailing list archive)
Headers show
Series mptcp: ADD_ADDR enhancements | expand

Message

Mat Martineau Feb. 1, 2021, 11:09 p.m. UTC
This patch series from the MPTCP tree contains enhancements and
associated tests for the ADD_ADDR ("add address") MPTCP option. This
option allows already-connected MPTCP peers to share additional IP
addresses with each other, which can then be used to create additional
subflows within those MPTCP connections.

Patches 1 & 2 remove duplicated data in the per-connection path manager
structure.

Patches 3-6 initiate additional subflows when an address is added using
the netlink path manager interface and improve ADD_ADDR signaling
reliability, subject to configured limits. Self tests are also updated.

Patches 7-15 add new support for optional port numbers in ADD_ADDR. This
includes creating an additional in-kernel TCP listening socket for the
requested port number, validating the port number when processing
incoming subflow connections, including the port number in netlink
interfaces, and adding some new MIBs. New self test cases are added for
subflows connecting with alternate port numbers.


v2: Address review comments for patch 1 (drop unnecessary READ_ONCE()
under lock). Drop patch 16, which will be submitted later.


Geliang Tang (15):
  mptcp: use WRITE_ONCE for the pernet *_max
  mptcp: drop *_max fields in mptcp_pm_data
  mptcp: create subflow or signal addr for newly added address
  mptcp: send ack for every add_addr
  selftests: mptcp: use minus values for removing address numbers
  selftests: mptcp: add testcases for newly added addresses
  mptcp: create the listening socket for new port
  mptcp: drop unused skb in subflow_token_join_request
  mptcp: add a new helper subflow_req_create_thmac
  mptcp: add port number check for MP_JOIN
  mptcp: enable use_port when invoke addresses_equal
  mptcp: deal with MPTCP_PM_ADDR_ATTR_PORT in PM netlink
  selftests: mptcp: add port argument for pm_nl_ctl
  mptcp: add the mibs for ADD_ADDR with port
  selftests: mptcp: add testcases for ADD_ADDR with port

 net/mptcp/mib.c                               |   6 +
 net/mptcp/mib.h                               |   6 +
 net/mptcp/mptcp_diag.c                        |   6 +-
 net/mptcp/options.c                           |   4 +
 net/mptcp/pm.c                                |  12 +-
 net/mptcp/pm_netlink.c                        | 291 +++++++++++++++---
 net/mptcp/protocol.c                          |   2 +-
 net/mptcp/protocol.h                          |  12 +-
 net/mptcp/subflow.c                           |  79 ++++-
 .../testing/selftests/net/mptcp/mptcp_join.sh | 261 +++++++++++++++-
 tools/testing/selftests/net/mptcp/pm_nl_ctl.c |  24 +-
 11 files changed, 609 insertions(+), 94 deletions(-)


base-commit: 14e8e0f6008865d823a8184a276702a6c3cbef3d

Comments

patchwork-bot+netdevbpf@kernel.org Feb. 3, 2021, 3:10 a.m. UTC | #1
Hello:

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

On Mon,  1 Feb 2021 15:09:05 -0800 you wrote:
> This patch series from the MPTCP tree contains enhancements and
> associated tests for the ADD_ADDR ("add address") MPTCP option. This
> option allows already-connected MPTCP peers to share additional IP
> addresses with each other, which can then be used to create additional
> subflows within those MPTCP connections.
> 
> Patches 1 & 2 remove duplicated data in the per-connection path manager
> structure.
> 
> [...]

Here is the summary with links:
  - [net-next,v2,01/15] mptcp: use WRITE_ONCE for the pernet *_max
    https://git.kernel.org/netdev/net-next/c/72603d207d59
  - [net-next,v2,02/15] mptcp: drop *_max fields in mptcp_pm_data
    https://git.kernel.org/netdev/net-next/c/a914e586689f
  - [net-next,v2,03/15] mptcp: create subflow or signal addr for newly added address
    https://git.kernel.org/netdev/net-next/c/875b76718f68
  - [net-next,v2,04/15] mptcp: send ack for every add_addr
    https://git.kernel.org/netdev/net-next/c/b5a7acd3bd63
  - [net-next,v2,05/15] selftests: mptcp: use minus values for removing address numbers
    https://git.kernel.org/netdev/net-next/c/2e8cbf45cfb3
  - [net-next,v2,06/15] selftests: mptcp: add testcases for newly added addresses
    https://git.kernel.org/netdev/net-next/c/6208fd822a2c
  - [net-next,v2,07/15] mptcp: create the listening socket for new port
    https://git.kernel.org/netdev/net-next/c/1729cf186d8a
  - [net-next,v2,08/15] mptcp: drop unused skb in subflow_token_join_request
    https://git.kernel.org/netdev/net-next/c/b5e2e42fe566
  - [net-next,v2,09/15] mptcp: add a new helper subflow_req_create_thmac
    https://git.kernel.org/netdev/net-next/c/ec20e14396ae
  - [net-next,v2,10/15] mptcp: add port number check for MP_JOIN
    https://git.kernel.org/netdev/net-next/c/5bc56388c74f
  - [net-next,v2,11/15] mptcp: enable use_port when invoke addresses_equal
    https://git.kernel.org/netdev/net-next/c/60b57bf76cff
  - [net-next,v2,12/15] mptcp: deal with MPTCP_PM_ADDR_ATTR_PORT in PM netlink
    https://git.kernel.org/netdev/net-next/c/a77e9179c765
  - [net-next,v2,13/15] selftests: mptcp: add port argument for pm_nl_ctl
    https://git.kernel.org/netdev/net-next/c/d4a7726a79e2
  - [net-next,v2,14/15] mptcp: add the mibs for ADD_ADDR with port
    https://git.kernel.org/netdev/net-next/c/2fbdd9eaf174
  - [net-next,v2,15/15] selftests: mptcp: add testcases for ADD_ADDR with port
    https://git.kernel.org/netdev/net-next/c/8a127bf68a6f

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