The ADD_ADDR MPTCP option is used to announce available IP addresses
that a peer may connect to when adding more TCP subflows to an existing
MPTCP connection. There is an optional port number field in that
ADD_ADDR header, and this patch set adds capability for that port number
to be sent and received.

Patches 1, 2, and 4 refactor existing ADD_ADDR code to simplify implementation
of port number support.

Patches 3 and 5 are the main functional changes, for sending and
receiving the port number in the MPTCP ADD_ADDR option.

Patch 6 sends the ADD_ADDR option with port number on a bare TCP ACK,
since the extra length of the option may run in to cases where
sufficient TCP option space is not available on a data packet.

Patch 7 plumbs in port number support for the in-kernel MPTCP path
manager.

Patches 8-11 add some optional debug output and a little more cleanup
refactoring.


Geliang Tang (11):
  mptcp: unify ADD_ADDR and echo suboptions writing
  mptcp: unify ADD_ADDR and ADD_ADDR6 suboptions writing
  mptcp: add port support for ADD_ADDR suboption writing
  mptcp: use adding up size to get ADD_ADDR length
  mptcp: add the outgoing ADD_ADDR port support
  mptcp: send out dedicated packet for ADD_ADDR using port
  mptcp: add port parameter for mptcp_pm_announce_addr
  mptcp: print out port and ahmac when receiving ADD_ADDR
  mptcp: drop rm_addr_signal flag
  mptcp: rename add_addr_signal and mptcp_add_addr_status
  mptcp: use the variable sk instead of open-coding

 include/net/mptcp.h    |   1 +
 net/mptcp/options.c    | 103 ++++++++++++++++++++++++++---------------
 net/mptcp/pm.c         |  40 +++++++++++-----
 net/mptcp/pm_netlink.c |  31 +++++++++----
 net/mptcp/protocol.h   |  50 ++++++++++++--------
 5 files changed, 146 insertions(+), 79 deletions(-)

-- 
2.29.2

Reply via email to