netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mat Martineau <mathew.j.martineau@linux.intel.com>
To: netdev@vger.kernel.org
Cc: Mat Martineau <mathew.j.martineau@linux.intel.com>,
	davem@davemloft.net, kuba@kernel.org, mptcp@lists.01.org
Subject: [PATCH net-next v2 00/15] mptcp: ADD_ADDR enhancements
Date: Mon,  1 Feb 2021 15:09:05 -0800	[thread overview]
Message-ID: <20210201230920.66027-1-mathew.j.martineau@linux.intel.com> (raw)

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
-- 
2.30.0


             reply	other threads:[~2021-02-01 23:11 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-01 23:09 Mat Martineau [this message]
2021-02-01 23:09 ` [PATCH net-next v2 01/15] mptcp: use WRITE_ONCE for the pernet *_max Mat Martineau
2021-02-01 23:09 ` [PATCH net-next v2 02/15] mptcp: drop *_max fields in mptcp_pm_data Mat Martineau
2021-02-01 23:09 ` [PATCH net-next v2 03/15] mptcp: create subflow or signal addr for newly added address Mat Martineau
2021-02-01 23:09 ` [PATCH net-next v2 04/15] mptcp: send ack for every add_addr Mat Martineau
2021-02-01 23:09 ` [PATCH net-next v2 05/15] selftests: mptcp: use minus values for removing address numbers Mat Martineau
2021-02-01 23:09 ` [PATCH net-next v2 06/15] selftests: mptcp: add testcases for newly added addresses Mat Martineau
2021-02-01 23:09 ` [PATCH net-next v2 07/15] mptcp: create the listening socket for new port Mat Martineau
2021-02-01 23:09 ` [PATCH net-next v2 08/15] mptcp: drop unused skb in subflow_token_join_request Mat Martineau
2021-02-01 23:09 ` [PATCH net-next v2 09/15] mptcp: add a new helper subflow_req_create_thmac Mat Martineau
2021-02-01 23:09 ` [PATCH net-next v2 10/15] mptcp: add port number check for MP_JOIN Mat Martineau
2021-02-01 23:09 ` [PATCH net-next v2 11/15] mptcp: enable use_port when invoke addresses_equal Mat Martineau
2021-02-01 23:09 ` [PATCH net-next v2 12/15] mptcp: deal with MPTCP_PM_ADDR_ATTR_PORT in PM netlink Mat Martineau
2021-02-01 23:09 ` [PATCH net-next v2 13/15] selftests: mptcp: add port argument for pm_nl_ctl Mat Martineau
2021-02-01 23:09 ` [PATCH net-next v2 14/15] mptcp: add the mibs for ADD_ADDR with port Mat Martineau
2021-02-01 23:09 ` [PATCH net-next v2 15/15] selftests: mptcp: add testcases " Mat Martineau
2021-02-03  3:10 ` [PATCH net-next v2 00/15] mptcp: ADD_ADDR enhancements patchwork-bot+netdevbpf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210201230920.66027-1-mathew.j.martineau@linux.intel.com \
    --to=mathew.j.martineau@linux.intel.com \
    --cc=davem@davemloft.net \
    --cc=kuba@kernel.org \
    --cc=mptcp@lists.01.org \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).