Commit 70c575d5 authored by Geliang Tang's avatar Geliang Tang Committed by Jakub Kicinski
Browse files

mptcp: pm: in-kernel: reduce parameters of set_flags



The number of parameters in mptcp_nl_set_flags() can be reduced.
Only need to pass a "local" parameter to it instead of "local->addr"
and "local->flags".

Signed-off-by: default avatarGeliang Tang <tanggeliang@kylinos.cn>
Reviewed-by: default avatarMatthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: default avatarMatthieu Baerts (NGI0) <matttbe@kernel.org>
Link: https://patch.msgid.link/20250228-net-next-mptcp-coverage-small-opti-v1-4-f933c4275676@kernel.org


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent e85d33b3
Loading
Loading
Loading
Loading
+8 −7
Original line number Diff line number Diff line
@@ -1907,11 +1907,12 @@ static void mptcp_pm_nl_fullmesh(struct mptcp_sock *msk,
	spin_unlock_bh(&msk->pm.lock);
}

static void mptcp_nl_set_flags(struct net *net, struct mptcp_addr_info *addr,
			       u8 flags, u8 changed)
static void mptcp_nl_set_flags(struct net *net,
			       struct mptcp_pm_addr_entry *local,
			       u8 changed)
{
	u8 is_subflow = !!(flags & MPTCP_PM_ADDR_FLAG_SUBFLOW);
	u8 bkup = !!(flags & MPTCP_PM_ADDR_FLAG_BACKUP);
	u8 is_subflow = !!(local->flags & MPTCP_PM_ADDR_FLAG_SUBFLOW);
	u8 bkup = !!(local->flags & MPTCP_PM_ADDR_FLAG_BACKUP);
	long s_slot = 0, s_num = 0;
	struct mptcp_sock *msk;

@@ -1926,10 +1927,10 @@ static void mptcp_nl_set_flags(struct net *net, struct mptcp_addr_info *addr,

		lock_sock(sk);
		if (changed & MPTCP_PM_ADDR_FLAG_BACKUP)
			mptcp_pm_nl_mp_prio_send_ack(msk, addr, NULL, bkup);
			mptcp_pm_nl_mp_prio_send_ack(msk, &local->addr, NULL, bkup);
		/* Subflows will only be recreated if the SUBFLOW flag is set */
		if (is_subflow && (changed & MPTCP_PM_ADDR_FLAG_FULLMESH))
			mptcp_pm_nl_fullmesh(msk, addr);
			mptcp_pm_nl_fullmesh(msk, &local->addr);
		release_sock(sk);

next:
@@ -1983,7 +1984,7 @@ int mptcp_pm_nl_set_flags(struct mptcp_pm_addr_entry *local,
	*local = *entry;
	spin_unlock_bh(&pernet->lock);

	mptcp_nl_set_flags(net, &local->addr, local->flags, changed);
	mptcp_nl_set_flags(net, local, changed);
	return 0;
}