summaryrefslogtreecommitdiff
path: root/net/mptcp/protocol.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2022-07-06 12:50:27 +0100
committerDavid S. Miller <davem@davemloft.net>2022-07-06 12:50:27 +0100
commitae9fdf6cb4da4265bdc3a574d06eaad02a7f669a (patch)
tree4ebc6effcbc78352e322fc1ac7a78573c3d06ae7 /net/mptcp/protocol.c
parent44d632d5dde2514b414bd6344918d68dacd8fe6f (diff)
parentd2d21f175f1f9580eb5681f5b476c8d7a0a3c895 (diff)
downloadlinux-ae9fdf6cb4da4265bdc3a574d06eaad02a7f669a.tar.gz
linux-ae9fdf6cb4da4265bdc3a574d06eaad02a7f669a.tar.bz2
linux-ae9fdf6cb4da4265bdc3a574d06eaad02a7f669a.zip
Merge branch 'mptcp-path-manager-fixes'
Mat Martineau says: ==================== mptcp: Path manager fixes for 5.19 The MPTCP userspace path manager is new in 5.19, and these patches fix some issues in that new code. Patches 1-3 fix path manager locking issues. Patches 4 and 5 allow userspace path managers to change priority of established subflows using the existing MPTCP_PM_CMD_SET_FLAGS generic netlink command. Includes corresponding self test update. Patches 6 and 7 fix accounting of available endpoint IDs and the MPTCP_MIB_RMSUBFLOW counter. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/mptcp/protocol.c')
-rw-r--r--net/mptcp/protocol.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c
index e475212f2618..cc21fafd9726 100644
--- a/net/mptcp/protocol.c
+++ b/net/mptcp/protocol.c
@@ -506,13 +506,18 @@ static inline bool tcp_can_send_ack(const struct sock *ssk)
(TCPF_SYN_SENT | TCPF_SYN_RECV | TCPF_TIME_WAIT | TCPF_CLOSE | TCPF_LISTEN));
}
+void __mptcp_subflow_send_ack(struct sock *ssk)
+{
+ if (tcp_can_send_ack(ssk))
+ tcp_send_ack(ssk);
+}
+
void mptcp_subflow_send_ack(struct sock *ssk)
{
bool slow;
slow = lock_sock_fast(ssk);
- if (tcp_can_send_ack(ssk))
- tcp_send_ack(ssk);
+ __mptcp_subflow_send_ack(ssk);
unlock_sock_fast(ssk, slow);
}