[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220107002026.375427-1-mathew.j.martineau@linux.intel.com>
Date: Thu, 6 Jan 2022 16:20:13 -0800
From: Mat Martineau <mathew.j.martineau@...ux.intel.com>
To: netdev@...r.kernel.org
Cc: Mat Martineau <mathew.j.martineau@...ux.intel.com>,
davem@...emloft.net, kuba@...nel.org, matthieu.baerts@...sares.net,
mptcp@...ts.linux.dev
Subject: [PATCH net-next 00/13] mptcp: New features and cleanup
These patches have been tested in the MPTCP tree for a longer than usual
time (thanks to holiday schedules), and are ready for the net-next
branch. Changes include feature updates, small fixes, refactoring, and
some selftest changes.
Patch 1 fixes an OUTQ ioctl issue with TCP fallback sockets.
Patches 2, 3, and 6 add support of the MPTCP fastclose option (quick
shutdown of the full MPTCP connection, similar to TCP RST in regular
TCP), and a related self test.
Patch 4 cleans up some accept and poll code that is no longer needed
after the fastclose changes.
Patch 5 add userspace disconnect using AF_UNSPEC, which is used when
testing fastclose and makes the MPTCP socket's handling of AF_UNSPEC in
connect() more TCP-like.
Patches 7-11 refactor subflow creation to make better use of multiple
local endpoints and to better handle individual connection failures when
creating multiple subflows. Includes self test updates.
Patch 12 cleans up the way subflows are added to the MPTCP connection
list, eliminating the need for calls throughout the MPTCP code that had
to check the intermediate "join list" for entries to shift over to the
main "connection list".
Patch 13 refactors the MPTCP release_cb flags to use separate storage
for values only accessed with the socket lock held (no atomic ops
needed), and for values that need atomic operations.
Paolo Abeni (13):
mptcp: keep snd_una updated for fallback socket
mptcp: implement fastclose xmit path
mptcp: full disconnect implementation
mptcp: cleanup accept and poll
mptcp: implement support for user-space disconnect
selftests: mptcp: add disconnect tests
mptcp: fix per socket endpoint accounting
mptcp: clean-up MPJ option writing
mptcp: keep track of local endpoint still available for each msk
mptcp: do not block subflows creation on errors
selftests: mptcp: add tests for subflow creation failure
mptcp: cleanup MPJ subflow list handling
mptcp: avoid atomic bit manipulation when possible
net/mptcp/options.c | 101 ++++--
net/mptcp/pm.c | 34 +-
net/mptcp/pm_netlink.c | 197 ++++++-----
net/mptcp/protocol.c | 307 ++++++++++--------
net/mptcp/protocol.h | 63 ++--
net/mptcp/sockopt.c | 24 +-
net/mptcp/subflow.c | 10 +-
net/mptcp/token.c | 1 +
tools/testing/selftests/net/mptcp/config | 1 +
.../selftests/net/mptcp/mptcp_connect.c | 148 +++++++--
.../selftests/net/mptcp/mptcp_connect.sh | 39 ++-
.../testing/selftests/net/mptcp/mptcp_join.sh | 83 ++++-
12 files changed, 683 insertions(+), 325 deletions(-)
base-commit: 710ad98c363a66a0cd8526465426c5c5f8377ee0
--
2.34.1
Powered by blists - more mailing lists