mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 09:36:22 +02:00
mptcp: pm: use for_each_subflow helper
Similar to most places in the MPTCP code. So instead of passing the subflow list and use list_for_each_entry(subflow, list, node), pass the msk and use mptcp_for_each_subflow(msk, subflow). That's clearer and more uniform with the rest. While at it, add 'pm_' prefix for the exported one to easily identify the origin. Plus replace 'lookup' by 'has', because a bool is returned. Reviewed-by: Mat Martineau <martineau@kernel.org> Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org> Link: https://patch.msgid.link/20260605-net-next-mptcp-add-addr6-port-ts-v2-9-758e7ca73f4d@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
5558517b00
commit
f816891724
|
|
@ -115,14 +115,14 @@ static bool mptcp_pm_is_init_remote_addr(struct mptcp_sock *msk,
|
|||
return mptcp_addresses_equal(&mpc_remote, remote, remote->port);
|
||||
}
|
||||
|
||||
bool mptcp_lookup_subflow_by_saddr(const struct list_head *list,
|
||||
const struct mptcp_addr_info *saddr)
|
||||
bool mptcp_pm_has_subflow_saddr(const struct mptcp_sock *msk,
|
||||
const struct mptcp_addr_info *saddr)
|
||||
{
|
||||
struct mptcp_subflow_context *subflow;
|
||||
struct mptcp_addr_info cur;
|
||||
struct sock_common *skc;
|
||||
|
||||
list_for_each_entry(subflow, list, node) {
|
||||
mptcp_for_each_subflow(msk, subflow) {
|
||||
skc = (struct sock_common *)mptcp_subflow_tcp_sock(subflow);
|
||||
|
||||
mptcp_local_address(skc, &cur);
|
||||
|
|
|
|||
|
|
@ -96,13 +96,13 @@ u8 mptcp_pm_get_limit_extra_subflows(const struct mptcp_sock *msk)
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(mptcp_pm_get_limit_extra_subflows);
|
||||
|
||||
static bool lookup_subflow_by_daddr(const struct list_head *list,
|
||||
const struct mptcp_addr_info *daddr)
|
||||
static bool has_subflow_daddr(const struct mptcp_sock *msk,
|
||||
const struct mptcp_addr_info *daddr)
|
||||
{
|
||||
struct mptcp_subflow_context *subflow;
|
||||
struct mptcp_addr_info cur;
|
||||
|
||||
list_for_each_entry(subflow, list, node) {
|
||||
mptcp_for_each_subflow(msk, subflow) {
|
||||
struct sock *ssk = mptcp_subflow_tcp_sock(subflow);
|
||||
|
||||
if (!((1 << inet_sk_state_load(ssk)) &
|
||||
|
|
@ -673,7 +673,7 @@ static void mptcp_pm_nl_add_addr_received(struct mptcp_sock *msk)
|
|||
mptcp_pm_addr_send_ack(msk);
|
||||
mptcp_mpc_endpoint_setup(msk);
|
||||
|
||||
if (lookup_subflow_by_daddr(&msk->conn_list, &remote))
|
||||
if (has_subflow_daddr(msk, &remote))
|
||||
return;
|
||||
|
||||
/* pick id 0 port, if none is provided the remote address */
|
||||
|
|
@ -1098,7 +1098,7 @@ static int mptcp_nl_remove_subflow_and_signal_addr(struct net *net,
|
|||
goto next;
|
||||
|
||||
lock_sock(sk);
|
||||
remove_subflow = mptcp_lookup_subflow_by_saddr(&msk->conn_list, addr);
|
||||
remove_subflow = mptcp_pm_has_subflow_saddr(msk, addr);
|
||||
mptcp_pm_remove_anno_addr(msk, addr, remove_subflow &&
|
||||
!(entry->flags & MPTCP_PM_ADDR_FLAG_IMPLICIT));
|
||||
|
||||
|
|
@ -1236,7 +1236,7 @@ static void mptcp_pm_flush_addrs_and_subflows(struct mptcp_sock *msk,
|
|||
|
||||
entry = list_prepare_entry(entry, rm_list, list);
|
||||
list_for_each_entry_continue(entry, rm_list, list) {
|
||||
if (mptcp_lookup_subflow_by_saddr(&msk->conn_list, &entry->addr))
|
||||
if (mptcp_pm_has_subflow_saddr(msk, &entry->addr))
|
||||
slist.ids[slist.nr++] = mptcp_endp_get_local_id(msk, &entry->addr);
|
||||
|
||||
if (mptcp_remove_anno_list_by_saddr(msk, &entry->addr))
|
||||
|
|
|
|||
|
|
@ -283,7 +283,7 @@ void mptcp_pm_remove_addr_entry(struct mptcp_sock *msk,
|
|||
/* only delete if either announced or matching a subflow */
|
||||
if (mptcp_remove_anno_list_by_saddr(msk, &entry->addr))
|
||||
anno_nr++;
|
||||
else if (!mptcp_lookup_subflow_by_saddr(&msk->conn_list, &entry->addr))
|
||||
else if (!mptcp_pm_has_subflow_saddr(msk, &entry->addr))
|
||||
return;
|
||||
|
||||
alist.ids[alist.nr++] = entry->addr.id;
|
||||
|
|
|
|||
|
|
@ -1136,8 +1136,8 @@ bool mptcp_pm_sport_in_anno_list(struct mptcp_sock *msk, const struct sock *sk);
|
|||
struct mptcp_pm_add_entry *
|
||||
mptcp_pm_del_add_timer(struct mptcp_sock *msk,
|
||||
const struct mptcp_addr_info *addr, bool check_id);
|
||||
bool mptcp_lookup_subflow_by_saddr(const struct list_head *list,
|
||||
const struct mptcp_addr_info *saddr);
|
||||
bool mptcp_pm_has_subflow_saddr(const struct mptcp_sock *msk,
|
||||
const struct mptcp_addr_info *saddr);
|
||||
bool mptcp_remove_anno_list_by_saddr(struct mptcp_sock *msk,
|
||||
const struct mptcp_addr_info *addr);
|
||||
int mptcp_pm_nl_set_flags(struct mptcp_pm_addr_entry *local,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user