From nobody Thu Sep 18 11:16:35 2025 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:cbb9:0:0:0:0:0 with SMTP id v25csp690273jap; Thu, 16 Dec 2021 14:24:26 -0800 (PST) X-Google-Smtp-Source: ABdhPJz2A10+pxGAcY/CeIJEwcoTAQOwp32v37obU0syEnOBcDfonz14Deh87xr6NYFIOjdQ8w71 X-Received: by 2002:a05:622a:44a:: with SMTP id o10mr114198qtx.212.1639693463779; Thu, 16 Dec 2021 14:24:23 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1639693463; cv=none; d=google.com; s=arc-20160816; b=xACPqh5KXcIh4586M9o23schX4hfOav6LE83einOu2l2FVFgn25et4dB1ATMYxYdkR 8jIGs2QdOo81Z5KEib8ft/ct75SuwFMH5xmhRywl1RHGCrviwJs40h5oI7qr/msJ42Nx seShKEdqmeSw5Ssg1dtA4G+u9FEVaR834C73T7zOUcZlAHZAAXU4il4+LZlgdPmQY81b OjSOeAW9fruW23JhaxTWQRtnL3H/dqMgpXB1u5O7HayXLnZW4YVzXxDraBiCWNXWAd2d zsmtzu3S1Ht5x8Dy4ZfVWo8v9fpbHly+33FexdVKitGQTpEVH7VYrqqCIkOea+x1YeuX UdUg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:to:from:dkim-signature; bh=5Pilr6pAU5iI/kE+cwqcW+vTLbQMvjrZFMJbg2OMRyk=; b=Sn1H6uoZsKgXEmzy/x8M+dsvR1esO5sGdTG8UegL7xd7tErZc1J17B5gHPYLXhKgtC Ys2Xx2wK629N2zP0LbBYa8o+M1hpN/qg2W6DQWwJW9cLeVe0PWd/rD6QFZfC+Oex5WAr 3QmRTrK3DG5ayqri/9zsrpW5MF8Wmcd0VTMEgdSM1DRzuUmcHjL6Poy5iHhyN8z/eJy4 Jf9RreB+Q4OANgzKMAmHqOjKZGEbuSyuVpm6TaEgWfzzfNEWp5ZAXlFk/pnCYGG8yiMc Y4wgnY70438RuAjR1jdOlqAG9F1zDnbqPzQnW2COSP0u8ZIKNPtbny7xYVO0Qor5Ep0L fo2w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=eOZW+kOb; spf=pass (google.com: domain of mptcp+bounces-2802-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1:3600::1 as permitted sender) smtp.mailfrom="mptcp+bounces-2802-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from ewr.edge.kernel.org (ewr.edge.kernel.org. [2604:1380:1:3600::1]) by mx.google.com with ESMTPS id k11si27408qvc.334.2021.12.16.14.24.23 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 16 Dec 2021 14:24:23 -0800 (PST) Received-SPF: pass (google.com: domain of mptcp+bounces-2802-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1:3600::1 as permitted sender) client-ip=2604:1380:1:3600::1; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=eOZW+kOb; spf=pass (google.com: domain of mptcp+bounces-2802-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1:3600::1 as permitted sender) smtp.mailfrom="mptcp+bounces-2802-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ewr.edge.kernel.org (Postfix) with ESMTPS id 7A4621C0A8E for ; Thu, 16 Dec 2021 22:24:23 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id A76743FED; Thu, 16 Dec 2021 22:24:18 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9059A2CBF for ; Thu, 16 Dec 2021 22:24:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1639693457; x=1671229457; h=from:to:subject:date:message-id:in-reply-to:references: mime-version:content-transfer-encoding; bh=U42LR8NHdNAF6mxUIwJ8FQ3rN7WLYItwAMPPCPoAaGg=; b=eOZW+kObMnCOLTnCOaRRYkadwIvunujnshYzQepVRU/FaaMteKzUrDrN y2h2636xpq6d2KfPLSWcAlsljsczsgNNC/Oz09PqUCxsQRYWLRfn8YIIQ YsgtXvqE/KyBn/aEf87tbkEMF2y6C5+58vWwMOrjRRKdP4HyWhDjiB6Jl 3SykdKKP1eqsqz2VA5IdE+x8JKeHtCwLmC7qPoIf++aER4nGN80q/BCFz e5AS8ij1TtlIlbo18hH9KmizBB5XupU4EUXocH8Te/vSrI0LYdlhcSrye 6rae+tAmzti5C+hT7Z4lhgducEpudV7Ctez/UwTeIt+wIFb53OCdB8/2t Q==; X-IronPort-AV: E=McAfee;i="6200,9189,10200"; a="300393165" X-IronPort-AV: E=Sophos;i="5.88,212,1635231600"; d="scan'208";a="300393165" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Dec 2021 14:24:10 -0800 X-IronPort-AV: E=Sophos;i="5.88,212,1635231600"; d="scan'208";a="519461250" Received: from otc-tsn-4.jf.intel.com ([10.23.153.135]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Dec 2021 14:24:10 -0800 From: Kishen Maloor To: kishen.maloor@intel.com, mptcp@lists.linux.dev Subject: [PATCH mptcp-next 09/21] mptcp: allow ADD_ADDR reissuance by userspace PMs Date: Thu, 16 Dec 2021 17:23:02 -0500 Message-Id: <20211216222314.1244708-10-kishen.maloor@intel.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211216222314.1244708-1-kishen.maloor@intel.com> References: <20211216222314.1244708-1-kishen.maloor@intel.com> Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" This change allows userspace PM implementations to reissue ADD_ADDR announcements (if necessary) based on their chosen policy. Signed-off-by: Kishen Maloor --- net/mptcp/pm_netlink.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index d57e2f825728..1adaf5d14f87 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -452,8 +452,16 @@ static bool mptcp_pm_alloc_anno_list(struct mptcp_sock= *msk, =20 lockdep_assert_held(&msk->pm.lock); =20 - if (mptcp_lookup_anno_list_by_saddr(msk, &entry->addr)) - return false; + add_entry =3D mptcp_lookup_anno_list_by_saddr(msk, &entry->addr); + + if (add_entry) { + if (READ_ONCE(msk->pm.pm_type) =3D=3D MPTCP_PM_TYPE_KERNEL) + return false; + + sk_reset_timer(sk, &add_entry->add_timer, + jiffies + mptcp_get_add_addr_timeout(net)); + return true; + } =20 add_entry =3D kmalloc(sizeof(*add_entry), GFP_ATOMIC); if (!add_entry) --=20 2.31.1