Commit b5c55f33 authored by Geliang Tang's avatar Geliang Tang Committed by David S. Miller

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: default avatarGeliang Tang <geliangtang@gmail.com>
Signed-off-by: default avatarMat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 5c4a824d
...@@ -218,7 +218,7 @@ void mptcp_pm_rm_addr_received(struct mptcp_sock *msk, ...@@ -218,7 +218,7 @@ void mptcp_pm_rm_addr_received(struct mptcp_sock *msk,
spin_lock_bh(&pm->lock); spin_lock_bh(&pm->lock);
mptcp_pm_schedule_work(msk, MPTCP_PM_RM_ADDR_RECEIVED); 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); spin_unlock_bh(&pm->lock);
} }
...@@ -300,6 +300,7 @@ void mptcp_pm_data_init(struct mptcp_sock *msk) ...@@ -300,6 +300,7 @@ void mptcp_pm_data_init(struct mptcp_sock *msk)
msk->pm.local_addr_used = 0; msk->pm.local_addr_used = 0;
msk->pm.subflows = 0; msk->pm.subflows = 0;
msk->pm.rm_list_tx.nr = 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.work_pending, false);
WRITE_ONCE(msk->pm.addr_signal, 0); WRITE_ONCE(msk->pm.addr_signal, 0);
WRITE_ONCE(msk->pm.accept_addr, false); WRITE_ONCE(msk->pm.accept_addr, false);
......
...@@ -208,6 +208,7 @@ struct mptcp_pm_data { ...@@ -208,6 +208,7 @@ struct mptcp_pm_data {
u8 subflows; u8 subflows;
u8 status; u8 status;
struct mptcp_rm_list rm_list_tx; struct mptcp_rm_list rm_list_tx;
struct mptcp_rm_list rm_list_rx;
u8 rm_id; u8 rm_id;
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment