[PATCH mptcp-next v4 0/8] mptcp: fixes and enhancements related to path management

Kishen Maloor posted 8 patches 2 years, 1 month ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/multipath-tcp/mptcp_net-next tags/patchew/20220203031331.2996457-1-kishen.maloor@intel.com
Maintainers: Mat Martineau <mathew.j.martineau@linux.intel.com>, "David S. Miller" <davem@davemloft.net>, Matthieu Baerts <matthieu.baerts@tessares.net>, Jakub Kicinski <kuba@kernel.org>
There is a newer version of this series
include/uapi/linux/mptcp.h |   2 +
net/mptcp/options.c        |   4 +-
net/mptcp/pm.c             |  12 +-
net/mptcp/pm_netlink.c     | 222 ++++++++++++++++++++++++++++++++-----
net/mptcp/protocol.c       |   5 +-
net/mptcp/protocol.h       |  21 +++-
net/mptcp/subflow.c        |   4 +-
7 files changed, 228 insertions(+), 42 deletions(-)
[PATCH mptcp-next v4 0/8] mptcp: fixes and enhancements related to path management
Posted by Kishen Maloor 2 years, 1 month ago
This patch series contains fixes and enhancements related to
path management over MPTCP connections, particularly in support of
out-of-kernel PMs. The changes ensure that the required bits of
information are conveyed through MPTCP netlink events which 
would be consumed by a path manager in making decisions, more
flexibility in establishing paths from either end of an MPTCP
connection, and better handling of listening sockets which serve
in MPJ handshakes.

v1 -> v2:
-fixed formatting
-check_fully_established: check for 3rd ACK retransmission only on passive
side of the MPJ handshake

v2 -> v3:
-subflow_simultaneous_connect: check for active subflow socket
-new helper lsk_list_find_or_create()
-updated mptcp_pm_nl_create_listen_socket() to take struct net* as param
-new addr flag MPTCP_PM_ADDR_FLAG_NO_LISTEN to skip creating a
listening socket in the kernel during an ADD_ADDR request
-reflect the pm.server_side attribute in the MPTCP_EVENT_CREATED
and MPTCP_EVENT_ESTABLISHED events 

v3 -> v4:
-refactor mptcp_pm_add_addr_received() and
mptcp_event_addr_announced() to eliminate a param
-add and use new internal API mptcp_pm_is_kernel() 
-bypass accounting fo non-kernel PM managed connections
-call lsk_list_find() after a failed lsk_list_find_or_create()
for a chance to retrieve a recently created lsk by a simultaneous
call

Kishen Maloor (8):
  mptcp: bypass in-kernel PM restrictions for non-kernel PMs
  mptcp: store remote id from MP_JOIN SYN/ACK in local ctx
  mptcp: reflect remote port (not 0) in ANNOUNCED events
  mptcp: establish subflows from either end of connection
  mptcp: netlink: store per namespace list of refcounted listen socks
  mptcp: netlink: store lsk ref in mptcp_pm_addr_entry
  mptcp: attempt to add listening sockets for announced addrs
  mptcp: expose server_side attribute in MPTCP netlink events

 include/uapi/linux/mptcp.h |   2 +
 net/mptcp/options.c        |   4 +-
 net/mptcp/pm.c             |  12 +-
 net/mptcp/pm_netlink.c     | 222 ++++++++++++++++++++++++++++++++-----
 net/mptcp/protocol.c       |   5 +-
 net/mptcp/protocol.h       |  21 +++-
 net/mptcp/subflow.c        |   4 +-
 7 files changed, 228 insertions(+), 42 deletions(-)


base-commit: a6d509111fdeec203af494abc83af6e746d3519f
-- 
2.31.1