Commit 304ab97f authored by Kishen Maloor's avatar Kishen Maloor Committed by Jakub Kicinski
Browse files

mptcp: allow ADD_ADDR reissuance by userspace PMs



This change allows userspace PM implementations to reissue ADD_ADDR
announcements (if necessary) based on their chosen policy.

Acked-by: default avatarPaolo Abeni <pabeni@redhat.com>
Signed-off-by: default avatarKishen Maloor <kishen.maloor@intel.com>
Signed-off-by: default avatarMat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 41b3c69b
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -369,9 +369,17 @@ static bool mptcp_pm_alloc_anno_list(struct mptcp_sock *msk,

	lockdep_assert_held(&msk->pm.lock);

	if (mptcp_lookup_anno_list_by_saddr(msk, &entry->addr))
	add_entry = mptcp_lookup_anno_list_by_saddr(msk, &entry->addr);

	if (add_entry) {
		if (mptcp_pm_is_kernel(msk))
			return false;

		sk_reset_timer(sk, &add_entry->add_timer,
			       jiffies + mptcp_get_add_addr_timeout(net));
		return true;
	}

	add_entry = kmalloc(sizeof(*add_entry), GFP_ATOMIC);
	if (!add_entry)
		return false;