mptcp: remove multi addresses and subflows in PM
authorGeliang Tang <geliangtang@gmail.com>
Sat, 13 Mar 2021 01:16:17 +0000 (17:16 -0800)
committerDavid S. Miller <davem@davemloft.net>
Sat, 13 Mar 2021 01:47:45 +0000 (17:47 -0800)
commit06faa22710342bca5e9c249634199c650799fce6
tree9c4a5947223ea8c4e5010838eaf2c11d6b983d9d
parentddd14bb85dd8d26e10a2ce4f9606879b94e81888
mptcp: remove multi addresses and subflows in PM

This patch implemented the function to remove a list of addresses and
subflows, named mptcp_nl_remove_addrs_list, which had a input parameter
rm_list as the removing addresses list.

In mptcp_nl_remove_addrs_list, traverse all the existing msk sockets to
invoke mptcp_pm_remove_addrs_and_subflows to remove a list of addresses
for each msk socket.

In mptcp_pm_remove_addrs_and_subflows, traverse all the addresses in the
removing addresses list, to find whether this address is in the conn_list
or anno_list. If it is, put the address ID into the removing address list
or the removing subflow list, and pass the two lists to
mptcp_pm_remove_addr and mptcp_pm_remove_subflow.

Signed-off-by: Geliang Tang <geliangtang@gmail.com>
Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/mptcp/pm_netlink.c