Here's another batch of fixup and enhancement patches that we have
collected in the MPTCP tree.
Patch 1 removes an unnecessary flag and related code.
Patch 2 fixes a bug encountered when closing fallback sockets.
Patches 3 and 4 choose a better transmit subflow, with a self test.
Patch 5 adjusts tracking of unaccepted subflows
Patches 6-8 improve handling of long ADD_ADDR options, with a test.
Patch 9 more reliably tracks the MPTCP-level window shared with peers.
Patch 10 sends MPTCP-level acknowledgements more aggressively, so the
peer can send more data without extra delay.
Florian Westphal (3):
mptcp: skip to next candidate if subflow has unacked data
selftests: mptcp: add link failure test case
mptcp: track window announced to peer
Geliang Tang (3):
mptcp: change add_addr_signal type
mptcp: send out dedicated ADD_ADDR packet
selftests: mptcp: add ADD_ADDR IPv6 test cases
Paolo Abeni (4):
mptcp: drop WORKER_RUNNING status bit
mptcp: fix state tracking for fallback socket
mptcp: keep unaccepted MPC subflow into join list
mptcp: refine MPTCP-level ack scheduling
include/net/mptcp.h | 3 +-
net/ipv4/tcp_output.c | 11 +-
net/mptcp/options.c | 48 ++++-
net/mptcp/pm.c | 31 ++-
net/mptcp/pm_netlink.c | 29 +++
net/mptcp/protocol.c | 178 +++++++++---------
net/mptcp/protocol.h | 44 ++++-
net/mptcp/subflow.c | 14 +-
.../testing/selftests/net/mptcp/mptcp_join.sh | 174 ++++++++++++++---
9 files changed, 391 insertions(+), 141 deletions(-)
- use the per netns listening socket.
- First 8 patches in v4 had been merged to the export branch, drop them
from this patchset.
- hold msk->pm.lock in mptcp_pm_sport_in_anno_list.
- Merge the patchset 'Squash to "ADD_ADDR: ports support v3"' into v4.
- add two new patches, 8 and 11
- add more IS_ENABLED(CONFIG_MPTCP_IPV6) in patch 2
- define TCPOLEN_MPTCP_ADD_ADDR_HMAC in patch 4
- add flags check in patch 10
- update the testcases
- change mptcp_out_options's port field in CPU bype order.
- keep mptcp_options_received's port field in CPU bype order.
- add two new patches to simplify ADD_ADDR suboption writing.
- update mptcp_add_addr_len helper use adding up size.
- add more commit messages.
This series is the first version of ADD_ADDR ports support. I have solved
the listener problem which I mentioned at the meeting on 15th of October
by adding a new listening socket from the userspace (see patch 8). Up to
now this patchset works well.
Geliang Tang (10):
mptcp: create the listening socket
mptcp: add the pernet listening socket operations
mptcp: bind and listen for the new port
mptcp: add port number check for MP_JOIN
mptcp: add port number announced check
mptcp: add port number listened in kernel check
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 | 4 +
net/mptcp/mib.h | 4 +
net/mptcp/options.c | 4 +
net/mptcp/pm_netlink.c | 80 +++++++++++
net/mptcp/protocol.c | 5 +
net/mptcp/protocol.h | 11 +-
net/mptcp/subflow.c | 134 +++++++++++++++++-
.../testing/selftests/net/mptcp/mptcp_join.sh | 118 ++++++++++++++-
tools/testing/selftests/net/mptcp/pm_nl_ctl.c | 24 +++-
9 files changed, 378 insertions(+), 6 deletions(-)