From nobody Fri Apr 19 04:36:07 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:b119:0:0:0:0:0 with SMTP id r25csp1107829jah; Wed, 12 Jan 2022 14:16:22 -0800 (PST) X-Google-Smtp-Source: ABdhPJwo7m9uMtoQVzThc3lLc3baZgHR5AUcLIlqukqqacRYz+GKQcK8vjp9aM+/U6nJKvsZvhXu X-Received: by 2002:a17:902:6a8b:b0:149:82bb:560a with SMTP id n11-20020a1709026a8b00b0014982bb560amr1820173plk.158.1642025781964; Wed, 12 Jan 2022 14:16:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1642025781; cv=none; d=google.com; s=arc-20160816; b=hANnvYk009W5f1bPlUu0l6jKV3pcS3qvQaQ1g/aKgDf+cfYYj5phV+svLNWnY9k+F4 z8Wo39OyT/2xbGL7LCh+izzFms/xTMlJKJpD7V0LyE3pfyNWPzcpH17DSnA2XznNZYO1 qkMnPZYsJRTpxlTGQbFjU3n+BYzb+vrX1LF+5v6bY59yochs4n+XxxqY7aVgSzmPjT90 2/5OJjLws12Sq/ip4jQnY8bYVfVK4NGnPUm0SkInbE0VClSfgYOeIGPmHzjPF5X5byov G87v7052vj49PIDzuSuMpDuBTycMtn0FkZDEY2amXImXkBti0Xb3Kmr4HY07N+w4M66m gyLw== 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=o87dJffBdaugA1rfF861UyaCvSHEiF1kBecom9NmXso=; b=JhblhbJsZ09x89f39hLB/MfcIfqOA+gs33G2kfc/QgaDrVGvYdycs7TFu9XBQDMwXi eizoRmSYjRbBuDSyjR7PWl6sqORF45b2ohBGNnHLBM35h8dspArStuUlb8yFO34phRnJ wFazoPFctRWI3e7gMTWQuKcpnz6v54BJ6x7ZcwDd3jTdDCdCdg5Aq7cqsdkp+aq8IbuQ uo1/3rJdDP3OyHCDjuAcfco7n+hwrxovKmsZzcfhOnjJNADmgfKTAp9GeYSObv9kXH5f ZQRWco3gOf+GEEjMhTcZCz5zlIKIHfBqRthkZlBCCd9ARGXFNSeyMaDQ2/RI/RFPVdNL c0MQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="I3Nk/H5a"; spf=pass (google.com: domain of mptcp+bounces-3082-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) smtp.mailfrom="mptcp+bounces-3082-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from sjc.edge.kernel.org (sjc.edge.kernel.org. [2604:1380:1000:8100::1]) by mx.google.com with ESMTPS id s17si981745plq.235.2022.01.12.14.16.21 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 12 Jan 2022 14:16:21 -0800 (PST) Received-SPF: pass (google.com: domain of mptcp+bounces-3082-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) client-ip=2604:1380:1000:8100::1; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="I3Nk/H5a"; spf=pass (google.com: domain of mptcp+bounces-3082-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) smtp.mailfrom="mptcp+bounces-3082-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 sjc.edge.kernel.org (Postfix) with ESMTPS id 8BDF23E0FE8 for ; Wed, 12 Jan 2022 22:16:21 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 33B4D2CA6; Wed, 12 Jan 2022 22:16:15 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) (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 070552CA1 for ; Wed, 12 Jan 2022 22:16:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1642025773; x=1673561773; h=from:to:subject:date:message-id:in-reply-to:references: mime-version:content-transfer-encoding; bh=Z5n23T2UVI+k7SO8+HolS8Wh5rW2dyUaMxqQnnY3ixw=; b=I3Nk/H5akzaKUX8E5ZuM82qBnosTEFEoE9s953JJCo4wuyZFdkJwleiY RhsEXBuP/w7G4c1mBLLwJeF3gHGi8eqhP+UTf8o1Yf2MTNPpqq9uzyE47 9szrGATG56Z+3Bn5TE+EyKpxbmHYpL9mr5Usn7zTYfuD4qhuvNsNG6xmj gbDxG21tRgMfKoAXJ4fbO8IQTCqcNJGWrEJFWGqw5lOnQ0UAhM38GX7sP jA3oRlSlKkeBm3AGdbh0D+WbaXQf05D92FpQPT+DN2/3nPDUVkATN/vIr b1uPiwm8N/wWJMkhXwy0fcrb16h60K1APWFGdkme3JJ/GUnoM3S3zEh9E Q==; X-IronPort-AV: E=McAfee;i="6200,9189,10225"; a="307213937" X-IronPort-AV: E=Sophos;i="5.88,284,1635231600"; d="scan'208";a="307213937" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jan 2022 14:16:07 -0800 X-IronPort-AV: E=Sophos;i="5.88,284,1635231600"; d="scan'208";a="490907355" Received: from otc-tsn-4.jf.intel.com ([10.23.153.135]) by orsmga002-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jan 2022 14:16:07 -0800 From: Kishen Maloor To: kishen.maloor@intel.com, mptcp@lists.linux.dev Subject: [PATCH mptcp-next v2 09/21] mptcp: allow ADD_ADDR reissuance by userspace PMs Date: Wed, 12 Jan 2022 17:15:11 -0500 Message-Id: <20220112221523.1829397-10-kishen.maloor@intel.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20220112221523.1829397-1-kishen.maloor@intel.com> References: <20220112221523.1829397-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 e2211f3b8c8c..a8c9a89ee1c5 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