Skip to content

Commit f2582dc

Browse files
Geliang Tangintel-lab-lkp
authored andcommitted
mptcp: add back mptcp_pm_subflow_closed
The MPTCP path manager event handler mptcp_pm_subflow_closed interface is added in the commit "mptcp: Add path manager interface", but removed in the commit "mptcp: do not block subflows creation on errors". This patch adds it back and changes its 2nd parameter from "u8 id" to "struct sock *ssk". Invoke mptcp_event with the MPTCP_EVENT_SUB_CLOSED event type in it. Signed-off-by: Geliang Tang <[email protected]>
1 parent 82f2515 commit f2582dc

File tree

3 files changed

+9
-1
lines changed

3 files changed

+9
-1
lines changed

net/mptcp/pm.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,13 @@ void mptcp_pm_subflow_established(struct mptcp_sock *msk)
176176
spin_unlock_bh(&pm->lock);
177177
}
178178

179+
void mptcp_pm_subflow_closed(struct mptcp_sock *msk, struct sock *ssk)
180+
{
181+
pr_debug("msk=%p", msk);
182+
183+
mptcp_event(MPTCP_EVENT_SUB_CLOSED, msk, ssk, GFP_KERNEL);
184+
}
185+
179186
void mptcp_pm_subflow_check_next(struct mptcp_sock *msk,
180187
const struct mptcp_subflow_context *subflow)
181188
{

net/mptcp/protocol.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2515,7 +2515,7 @@ void mptcp_close_ssk(struct sock *sk, struct sock *ssk,
25152515
subflow->close_event_done = true;
25162516

25172517
if (sk->sk_state == TCP_ESTABLISHED)
2518-
mptcp_event(MPTCP_EVENT_SUB_CLOSED, mptcp_sk(sk), ssk, GFP_KERNEL);
2518+
mptcp_pm_subflow_closed(mptcp_sk(sk), ssk);
25192519

25202520
/* subflow aborted before reaching the fully_established status
25212521
* attempt the creation of the next subflow

net/mptcp/protocol.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -996,6 +996,7 @@ void mptcp_pm_fully_established(struct mptcp_sock *msk, const struct sock *ssk);
996996
bool mptcp_pm_allow_new_subflow(struct mptcp_sock *msk);
997997
void mptcp_pm_connection_closed(struct mptcp_sock *msk);
998998
void mptcp_pm_subflow_established(struct mptcp_sock *msk);
999+
void mptcp_pm_subflow_closed(struct mptcp_sock *msk, struct sock *ssk);
9991000
bool mptcp_pm_nl_check_work_pending(struct mptcp_sock *msk);
10001001
void mptcp_pm_subflow_check_next(struct mptcp_sock *msk,
10011002
const struct mptcp_subflow_context *subflow);

0 commit comments

Comments
 (0)