From nobody Mon Feb 9 14:14:09 2026 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:cbb9:0:0:0:0:0 with SMTP id v25csp1060465jap; Wed, 17 Nov 2021 17:30:21 -0800 (PST) X-Google-Smtp-Source: ABdhPJxnrBnfEQSZifueffaYP7w2ntXjHdHN5AJOvL4B7vTKzlt7fV1u02qOxIQPao16Oi4dsYx5 X-Received: by 2002:a05:6102:c8a:: with SMTP id f10mr20054122vst.22.1637199021029; Wed, 17 Nov 2021 17:30:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1637199021; cv=none; d=google.com; s=arc-20160816; b=gJTRRqvnH6OLLP0HB1TUufiLo1g5Qj2hBXrWsJzyVQ1cw4Clw6Gu7BKyke36OwbM/2 GIi7Kgcx5oBhg8E4RehX83w3WxaOdpveAH/aTJJdgDUiSPR/UhQfF3khpp2Exmp+xFfW D/xMHAV0NGrpWq+/FhCKA2BdFz7UWgLX7n6oi4r/EK977S8YWAUHF6DWbnntSyjXaKyy OSm8Dxu4lcARSlEImbdZ7I3WE7bu113OFCY4X3baD2TwvIc4qtznqNmbpL33rtg9y2Qq 9GMs+ZzpEptZpVI7WwilTO5/wHShXs8WnngkFhPrioQkuhW64xvI3slOCbgHd/MIzYvy tIcg== 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:cc:to:from; bh=ALbGEzOLPayNMqqQtmuVAMjhWzV4vcC+LXALDbOOfIs=; b=mAVVwd1mLEgOt96pnEXR6mjDDZ/cyIw1EU4SRnF3jT+gExwcJBmxuB62co0Pu5bO+r iTn9lGwGpuf5kTbpIb3vg0O5IMJnSOH2OrFyUyEJIZ00GTvgGGeE+GTJJ+9TUk1W2tCV NSgFzG8OVHQeqYVlYNhzRH5dboLyaJom2RO3isf/AW9oC7VuVx3HeSFTrRpDKDd/sAU3 ieHH35UMddTWgUX05x2ff8ipkxfTl1y20mitrlJ0mR41IVMDHfTQ8W6hhvFV7LT9oi2m 1sc+CSfM5VOff+8wvi9M8ggEwAK7JEQuNqA4oQuPTR18kVUHvT8a7KudyPF48AeDXqmu 9D/w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of mptcp+bounces-2460-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.197.195 as permitted sender) smtp.mailfrom="mptcp+bounces-2460-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from ewr.edge.kernel.org (ewr.edge.kernel.org. [147.75.197.195]) by mx.google.com with ESMTPS id b10si3747386vst.140.2021.11.17.17.30.20 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 17 Nov 2021 17:30:21 -0800 (PST) Received-SPF: pass (google.com: domain of mptcp+bounces-2460-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.197.195 as permitted sender) client-ip=147.75.197.195; Authentication-Results: mx.google.com; spf=pass (google.com: domain of mptcp+bounces-2460-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.197.195 as permitted sender) smtp.mailfrom="mptcp+bounces-2460-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=fail (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 435451C0F14 for ; Thu, 18 Nov 2021 01:30:20 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 874422C89; Thu, 18 Nov 2021 01:30:17 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) (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 AB5692C95 for ; Thu, 18 Nov 2021 01:30:16 +0000 (UTC) X-IronPort-AV: E=McAfee;i="6200,9189,10171"; a="231577913" X-IronPort-AV: E=Sophos;i="5.87,243,1631602800"; d="scan'208";a="231577913" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Nov 2021 17:30:14 -0800 X-IronPort-AV: E=Sophos;i="5.87,243,1631602800"; d="scan'208";a="568294746" Received: from mjmartin-desk2.amr.corp.intel.com (HELO mjmartin-desk2.intel.com) ([10.251.27.251]) by fmsmga004-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Nov 2021 17:30:14 -0800 From: Mat Martineau To: mptcp@lists.linux.dev Cc: Mat Martineau Subject: [PATCH mptcp-next 3/6] mptcp: Bypass kernel PM when userspace PM is enabled Date: Wed, 17 Nov 2021 17:30:02 -0800 Message-Id: <20211118013005.263660-4-mathew.j.martineau@linux.intel.com> X-Mailer: git-send-email 2.34.0 In-Reply-To: <20211118013005.263660-1-mathew.j.martineau@linux.intel.com> References: <20211118013005.263660-1-mathew.j.martineau@linux.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" When a MPTCP connection is managed by a userspace PM, bypass the kernel PM for incoming advertisements and subflow events. Netlink events are still sent to userspace. Signed-off-by: Mat Martineau --- net/mptcp/pm.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/net/mptcp/pm.c b/net/mptcp/pm.c index 3a3800771aca..7f96a888e2d5 100644 --- a/net/mptcp/pm.c +++ b/net/mptcp/pm.c @@ -189,7 +189,8 @@ void mptcp_pm_add_addr_received(struct mptcp_sock *msk, =20 spin_lock_bh(&pm->lock); =20 - if (!READ_ONCE(pm->accept_addr)) { + if (!READ_ONCE(pm->accept_addr) || + READ_ONCE(pm->pm_type) !=3D MPTCP_PM_TYPE_KERNEL) { mptcp_pm_announce_addr(msk, addr, true); mptcp_pm_add_addr_send_ack(msk); } else if (mptcp_pm_schedule_work(msk, MPTCP_PM_ADD_ADDR_RECEIVED)) { @@ -233,6 +234,9 @@ void mptcp_pm_rm_addr_received(struct mptcp_sock *msk, for (i =3D 0; i < rm_list->nr; i++) mptcp_event_addr_removed(msk, rm_list->ids[i]); =20 + if (READ_ONCE(pm->pm_type) !=3D MPTCP_PM_TYPE_KERNEL) + return; + spin_lock_bh(&pm->lock); mptcp_pm_schedule_work(msk, MPTCP_PM_RM_ADDR_RECEIVED); pm->rm_list_rx =3D *rm_list; --=20 2.34.0