From b5c55f334c7f75b59b2d14be0abb7c827a016059 Mon Sep 17 00:00:00 2001 From: Geliang Tang Date: Fri, 12 Mar 2021 17:16:14 -0800 Subject: mptcp: add rm_list_rx in mptcp_pm_data This patch added a new member rm_list_rx for struct mptcp_pm_data as an list of the removing address ids on the incoming direction. Initialized its nr field to zero in mptcp_pm_data_init. In mptcp_pm_rm_addr_received, set it as the input rm_list. Signed-off-by: Geliang Tang Signed-off-by: Mat Martineau Signed-off-by: David S. Miller --- net/mptcp/pm.c | 3 ++- net/mptcp/protocol.h | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'net/mptcp') diff --git a/net/mptcp/pm.c b/net/mptcp/pm.c index 7553f82076ca..a47436205d88 100644 --- a/net/mptcp/pm.c +++ b/net/mptcp/pm.c @@ -218,7 +218,7 @@ void mptcp_pm_rm_addr_received(struct mptcp_sock *msk, spin_lock_bh(&pm->lock); mptcp_pm_schedule_work(msk, MPTCP_PM_RM_ADDR_RECEIVED); - pm->rm_id = rm_list->ids[0]; + pm->rm_list_rx = *rm_list; spin_unlock_bh(&pm->lock); } @@ -300,6 +300,7 @@ void mptcp_pm_data_init(struct mptcp_sock *msk) msk->pm.local_addr_used = 0; msk->pm.subflows = 0; msk->pm.rm_list_tx.nr = 0; + msk->pm.rm_list_rx.nr = 0; WRITE_ONCE(msk->pm.work_pending, false); WRITE_ONCE(msk->pm.addr_signal, 0); WRITE_ONCE(msk->pm.accept_addr, false); diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index d7daf7e0d5d2..82a63abf2c7e 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -208,6 +208,7 @@ struct mptcp_pm_data { u8 subflows; u8 status; struct mptcp_rm_list rm_list_tx; + struct mptcp_rm_list rm_list_rx; u8 rm_id; }; -- cgit v1.2.3