From nobody Sat May 4 08:24:44 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:3b21:0:0:0:0:0 with SMTP id c33csp1947513jaa; Wed, 2 Feb 2022 17:03:53 -0800 (PST) X-Google-Smtp-Source: ABdhPJzy75ZBXJP1L4mgN8QtdcxFNVLmf+kg6I5yo3qHwuRHdeMYtiR1QaTrvMhnjxIGIUsr7J48 X-Received: by 2002:a05:6a00:b85:: with SMTP id g5mr10551115pfj.27.1643850233702; Wed, 02 Feb 2022 17:03:53 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643850233; cv=none; d=google.com; s=arc-20160816; b=bBT4HnU/0WIaxyL075Bpo2TZeuBio7V0BOoc292nydzeqWwizkl636+dtWqx65m9io 6pHZJDFeGrA4l6HDlHcMIg3IQhQ3jKsaD1JZ82qsN1vQJuoFrllnlhNVxea0aJ8wRwq6 JfMV0DKCvoFDTT92cb+yl3NFfg2Sb119QWfym6xthv0oRoy2GOUVTQfrP0tAd4kKu8qa 78RxRYSjSXG127ioGVhjoXzoVftZUiew0BOKCYZC7N1XeGNuJtRh78ieYLA6tWstjbR1 xurGUbtwfpVHae7BbLx4uku2Rl6mK5Fs7xQfPGycm0owjux+GBR9Im34UmFveZ/e1fBo /XiA== 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:dkim-signature; bh=oE9o7UCu/G4twu4KaCGNJmPDXzkesPmvMz8eBXOBQp4=; b=zve2eMB81NZ3B9FqOigzI3oE6ezvW0rhJApmC0so7qEn3CetjmE+0mXEY+mOdiEfo8 4/RKdfqfjcD0E1pbMqC66jiuAUziu5SlgFcWyayzrJ6ftErVyugkhscZeLKRpIiw7ZeD B+9DsMZCwWVLrOQt3soFy8gVbXtoOBV29UDlwB07gf2rcSTqlh3pXV/QT7NyTb16kxSb 8hsSKELyxMnJGrYdyhghtPyV7E26vwRUYotd6b4MAQ3KLQYVA27kBwRVOsoZqstZKm+3 +EoSt/ONNMHefB14Gah8ywOFaA/OBfV27GoRfmu4mmU0KFGlQMzkFyP+N1cc81pcdPfM O2fA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=T2xV8xna; spf=pass (google.com: domain of mptcp+bounces-3410-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) smtp.mailfrom="mptcp+bounces-3410-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 k6si22086656pgs.247.2022.02.02.17.03.53 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 02 Feb 2022 17:03:53 -0800 (PST) Received-SPF: pass (google.com: domain of mptcp+bounces-3410-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=T2xV8xna; spf=pass (google.com: domain of mptcp+bounces-3410-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) smtp.mailfrom="mptcp+bounces-3410-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 469E73E0F6C for ; Thu, 3 Feb 2022 01:03:53 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id D22442F3C; Thu, 3 Feb 2022 01:03:52 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) (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 632472F27 for ; Thu, 3 Feb 2022 01:03:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1643850231; x=1675386231; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=/9eQohXqMEYwESVU7hdbMNneG33BX8HfDAWFeLSdjic=; b=T2xV8xnaAfdoDKGR7ZxYpLXGABHv1SqJgugMcJKoZqzFuxf0SfSpiXBB dY25DL4dYloWpczkhUq2bmGXAbSooEvb5g4o/yMbMb/Bqk6XO/AHTeAnn 8vCaDeuxC5FoHR1AHcA46DZ66NW78JyxJ7MJftpaCgMP2rrgK7KEqC5Hq NdtdyMR5bxvR5b5lMWrmT7zDSXySQ3AVIAS0CZgIBTquYiDbNF1cn6nH3 rRoybnPurcYaCnGA5rsSDghbdkvwH27GtzlVHZtZZ5/7fhtlcDCuvIZdx FQtTQEnGgEcyWvpA8Z8++IAsB1K6Tde33bIqNAiG4Ik83ICAY5T63mx5K A==; X-IronPort-AV: E=McAfee;i="6200,9189,10246"; a="228023382" X-IronPort-AV: E=Sophos;i="5.88,338,1635231600"; d="scan'208";a="228023382" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Feb 2022 17:03:48 -0800 X-IronPort-AV: E=Sophos;i="5.88,338,1635231600"; d="scan'208";a="483070828" Received: from mjmartin-desk2.amr.corp.intel.com (HELO mjmartin-desk2.intel.com) ([10.251.1.6]) by orsmga006-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Feb 2022 17:03:48 -0800 From: Mat Martineau To: netdev@vger.kernel.org Cc: Geliang Tang , davem@davemloft.net, kuba@kernel.org, matthieu.baerts@tessares.net, mptcp@lists.linux.dev, Mat Martineau Subject: [PATCH net-next 1/7] mptcp: move the declarations of ssk and subflow Date: Wed, 2 Feb 2022 17:03:37 -0800 Message-Id: <20220203010343.113421-2-mathew.j.martineau@linux.intel.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220203010343.113421-1-mathew.j.martineau@linux.intel.com> References: <20220203010343.113421-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" From: Geliang Tang Move the declarations of ssk and subflow in MP_FAIL and MP_PRIO to the beginning of the function mptcp_write_options(). Signed-off-by: Geliang Tang Signed-off-by: Mat Martineau --- net/mptcp/options.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/net/mptcp/options.c b/net/mptcp/options.c index 645dd984fef0..5d0b3c3e4655 100644 --- a/net/mptcp/options.c +++ b/net/mptcp/options.c @@ -1264,10 +1264,10 @@ static u16 mptcp_make_csum(const struct mptcp_ext *= mpext) void mptcp_write_options(__be32 *ptr, const struct tcp_sock *tp, struct mptcp_out_options *opts) { - if (unlikely(OPTION_MPTCP_FAIL & opts->suboptions)) { - const struct sock *ssk =3D (const struct sock *)tp; - struct mptcp_subflow_context *subflow; + const struct sock *ssk =3D (const struct sock *)tp; + struct mptcp_subflow_context *subflow; =20 + if (unlikely(OPTION_MPTCP_FAIL & opts->suboptions)) { subflow =3D mptcp_subflow_ctx(ssk); subflow->send_mp_fail =3D 0; =20 @@ -1489,9 +1489,6 @@ void mptcp_write_options(__be32 *ptr, const struct tc= p_sock *tp, } =20 if (OPTION_MPTCP_PRIO & opts->suboptions) { - const struct sock *ssk =3D (const struct sock *)tp; - struct mptcp_subflow_context *subflow; - subflow =3D mptcp_subflow_ctx(ssk); subflow->send_mp_prio =3D 0; =20 --=20 2.35.1 From nobody Sat May 4 08:24:44 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:3b21:0:0:0:0:0 with SMTP id c33csp1947537jaa; Wed, 2 Feb 2022 17:03:55 -0800 (PST) X-Google-Smtp-Source: ABdhPJzjoYpXZebU5WZVxE6Q31LNZfhDm23wTNrwvQ2KuOL2CBaPeeKymETqT/Xk90BP4HuvdPt5 X-Received: by 2002:a17:90b:3850:: with SMTP id nl16mr11134113pjb.131.1643850235417; Wed, 02 Feb 2022 17:03:55 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643850235; cv=none; d=google.com; s=arc-20160816; b=XvjdOo6gTwbC+qitpkPfYW2qStDXCPLblWwkzv1PDJ6yMZG7UNXGncDaxSUxibOb6G 7mt/t7KYIRwtMG/2lSqB0IIEn5Q/34aLLwFXSbdJ0wEKeAABGBpXfHS3geVEIaGkbzme Gz5PMw8ws1gpH6e5PIKd93SWJINKsKe9Rf0OKORXdJQjDUkls4OBMcB2QRSZYPnqWZAR zQiyt9fAw9Qg+941rcQPQTqjfgN4fYSZ1PL+gysHA3MRfDgW1PqwtSJYT32h27NClgLY GQ8YRVTeiIGwzFILX8uJvLg/iRwCeM+o01g+3+ro9QbgQWI/RBIaCiLf3ejaEkoPTCny GbyQ== 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:dkim-signature; bh=3N495HeVESvisOIKJXUuMBROpfuUAZXovFUwMgfHnj8=; b=VAQR1ECfgtVHw9AdwiAYIE2xgqhLf5BQuT6q+6pzUqpMyhs1AJFR4HwDxvPQp8fDUU Lg9RnCHUnjzquAhO5gK3VWiow3qabb3IMDNN7VhkiUDVFf73khESppKPPVeiTJ89oVzA lg5po5oRwYR9XoBvGMGxaEou3Gzn4SaYDzsaeIQhhfHmZIZNfneKnrcr7ajD6VEC9bD+ BMSqDtdElhr0d3ytdgDvCSQbMpnsPesPgCftkhH+tqo+lqGE0JskRDRqMdbKSs2oTGFa No3Df1uHFT6uV2NVsGvPwpsDxwFipiNGhygoSfWfyDOskHhVz9camB2S9/78Gc12fTDy M5bA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=EEkcRTPC; spf=pass (google.com: domain of mptcp+bounces-3411-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) smtp.mailfrom="mptcp+bounces-3411-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 y5si20806515pgh.393.2022.02.02.17.03.55 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 02 Feb 2022 17:03:55 -0800 (PST) Received-SPF: pass (google.com: domain of mptcp+bounces-3411-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=EEkcRTPC; spf=pass (google.com: domain of mptcp+bounces-3411-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) smtp.mailfrom="mptcp+bounces-3411-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 823833E1028 for ; Thu, 3 Feb 2022 01:03:54 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id EB0922F40; Thu, 3 Feb 2022 01:03:52 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) (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 803462F2C for ; Thu, 3 Feb 2022 01:03:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1643850231; x=1675386231; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=Z9FXdFRTATWnPkR8TDxvMrnTWTylwxTAHt4sB0od7FY=; b=EEkcRTPC2m3JyArm/dhIfbmA+tlT4HHxtU6tsxn/z1bNoQlauzKYePB/ mDvpKTPFhda9y8/vuta1i/PnaUoIouBMAunBz54pgCX2nHKMmp1nAKG2Y zrCVKX1EQy/nC98YSfnuEwYQRqMJdzmeAyzMd0uekSDpju7pNNRnuw6cQ CH6lZbbT+lmxoZFqPAAD7d+1TFukhFKTslumDGyeY3o1vlSyTNjJBy8/l d4N4jinmF3ajoBQ4FdLY8UrwsAimBgH+SJH3mPpTY7wcOb9PsIzs9KRlJ h+vEMwkCdMH4t9drgRd6xzTmTwEV0wjNTgaM00LoD4/HH5DG+0COBIr/o A==; X-IronPort-AV: E=McAfee;i="6200,9189,10246"; a="228023383" X-IronPort-AV: E=Sophos;i="5.88,338,1635231600"; d="scan'208";a="228023383" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Feb 2022 17:03:49 -0800 X-IronPort-AV: E=Sophos;i="5.88,338,1635231600"; d="scan'208";a="483070829" Received: from mjmartin-desk2.amr.corp.intel.com (HELO mjmartin-desk2.intel.com) ([10.251.1.6]) by orsmga006-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Feb 2022 17:03:48 -0800 From: Mat Martineau To: netdev@vger.kernel.org Cc: Matthieu Baerts , davem@davemloft.net, kuba@kernel.org, mptcp@lists.linux.dev, Geliang Tang , Mat Martineau Subject: [PATCH net-next 2/7] mptcp: reduce branching when writing MP_FAIL option Date: Wed, 2 Feb 2022 17:03:38 -0800 Message-Id: <20220203010343.113421-3-mathew.j.martineau@linux.intel.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220203010343.113421-1-mathew.j.martineau@linux.intel.com> References: <20220203010343.113421-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" From: Matthieu Baerts MP_FAIL should be use in very rare cases, either when the TCP RST flag is set -- with or without an MP_RST -- or with a DSS, see mptcp_established_options(). Here, we do the same in mptcp_write_options(). Co-developed-by: Geliang Tang Signed-off-by: Geliang Tang Signed-off-by: Matthieu Baerts Signed-off-by: Mat Martineau --- net/mptcp/options.c | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/net/mptcp/options.c b/net/mptcp/options.c index 5d0b3c3e4655..ab054c389a5f 100644 --- a/net/mptcp/options.c +++ b/net/mptcp/options.c @@ -1267,17 +1267,6 @@ void mptcp_write_options(__be32 *ptr, const struct t= cp_sock *tp, const struct sock *ssk =3D (const struct sock *)tp; struct mptcp_subflow_context *subflow; =20 - if (unlikely(OPTION_MPTCP_FAIL & opts->suboptions)) { - subflow =3D mptcp_subflow_ctx(ssk); - subflow->send_mp_fail =3D 0; - - *ptr++ =3D mptcp_option(MPTCPOPT_MP_FAIL, - TCPOLEN_MPTCP_FAIL, - 0, 0); - put_unaligned_be64(opts->fail_seq, ptr); - ptr +=3D 2; - } - /* DSS, MPC, MPJ, ADD_ADDR, FASTCLOSE and RST are mutually exclusive, * see mptcp_established_options*() */ @@ -1336,6 +1325,10 @@ void mptcp_write_options(__be32 *ptr, const struct t= cp_sock *tp, } ptr +=3D 1; } + + /* We might need to add MP_FAIL options in rare cases */ + if (unlikely(OPTION_MPTCP_FAIL & opts->suboptions)) + goto mp_fail; } else if (OPTIONS_MPTCP_MPC & opts->suboptions) { u8 len, flag =3D MPTCP_CAP_HMAC_SHA256; =20 @@ -1476,6 +1469,21 @@ void mptcp_write_options(__be32 *ptr, const struct t= cp_sock *tp, put_unaligned_be64(opts->rcvr_key, ptr); ptr +=3D 2; =20 + if (OPTION_MPTCP_RST & opts->suboptions) + goto mp_rst; + return; + } else if (unlikely(OPTION_MPTCP_FAIL & opts->suboptions)) { +mp_fail: + /* MP_FAIL is mutually exclusive with others except RST */ + subflow =3D mptcp_subflow_ctx(ssk); + subflow->send_mp_fail =3D 0; + + *ptr++ =3D mptcp_option(MPTCPOPT_MP_FAIL, + TCPOLEN_MPTCP_FAIL, + 0, 0); + put_unaligned_be64(opts->fail_seq, ptr); + ptr +=3D 2; + if (OPTION_MPTCP_RST & opts->suboptions) goto mp_rst; return; --=20 2.35.1 From nobody Sat May 4 08:24:44 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:3b21:0:0:0:0:0 with SMTP id c33csp1947591jaa; Wed, 2 Feb 2022 17:03:58 -0800 (PST) X-Google-Smtp-Source: ABdhPJw7vbquIZ369TwtOBX+IQU9lFFur9WNMj15QmHAjjB9j1MeyDxC2C/oB0eGUTD+mkpnTY5P X-Received: by 2002:a05:6214:b6b:: with SMTP id ey11mr10258259qvb.82.1643850238670; Wed, 02 Feb 2022 17:03:58 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643850238; cv=none; d=google.com; s=arc-20160816; b=Ty0niD1h2W/zpR+Tf577Ngew9uGJ2PX8AkJa9zXGiC+ZW+jj6gI01I7nqchWrzpEHW WBU645XrRy5FEdvtyL45o06MrXxtbxKYA1Fo37NCBgQ1Lo33HCxoR8L5YSyoTZH1KrKt KSWcUMsROPkkw/59sP2yORg+r4js0mDnYgooFcl94SWdsPO5MQEfzCKLvILjWlYVVtEp 4Y6YbDDynlWWMm1iKjy93Eilx2pDUvSdcpAOVg0FBUNeqZ27Tnukneduaq9mLKt0wc5c 0018Va8zQPuXDmZ2FHZCgS3tz2PKx3dY8YNF9PpEbVX7XcyscnviaR8ekR5jnFjGMmLI RbkQ== 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:dkim-signature; bh=jG/UCTZnocoz5yVhrMGLMNoUPuRKZFy195WBolNLJFs=; b=Hrl+Gu8sINJJNC3qfINlG/bPcp0FZagWYEUnJStBt1T9OiR3jcVdwig+/sG8MD/Gfw G1bvyRqtIW/NGxx+TxqXFh5N4X3U4wpxv4pRNRpFUS7dIKjo693DKH2430aD6MQsF0Qs OBbmb7Xv7fsdXMl3NnPkZDnR+DplMxsnk75rzFtX8C1/f908abydSjb9EPNteUibk4QU ddYY+X1TtYoz0QUoWM+ZzAnOBuPMd2+vIJUJKKxsictuZvG/mNPpfEuygRjbboFEC9kd 5hF2LNqfMUa55QWtq7/eOCtz0YYWFbO/FeHxvWQLMlx228HPlbwGGEJeRrTizXmHTvOQ 0yJQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=F1hwAjsI; spf=pass (google.com: domain of mptcp+bounces-3414-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1:3600::1 as permitted sender) smtp.mailfrom="mptcp+bounces-3414-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 16si9608454qka.757.2022.02.02.17.03.58 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 02 Feb 2022 17:03:58 -0800 (PST) Received-SPF: pass (google.com: domain of mptcp+bounces-3414-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=F1hwAjsI; spf=pass (google.com: domain of mptcp+bounces-3414-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1:3600::1 as permitted sender) smtp.mailfrom="mptcp+bounces-3414-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 609AC1C0DD5 for ; Thu, 3 Feb 2022 01:03:58 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 319EF2F43; Thu, 3 Feb 2022 01:03:55 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) (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 DA1852F27 for ; Thu, 3 Feb 2022 01:03:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1643850232; x=1675386232; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=Lx38d9fhYiCL1gyKi+5TqLDwjarXqB2FJolRnno2uwY=; b=F1hwAjsIJ8huaKGwpbc8i09QewFL96AXS7nBdt1lWeS1BNHKe7n3F7fx 5vPXs+mYNOTMdPGQS52DnTWrvvmjdcjxZo2bZuFKnj+/SdBHRQfF7iByR a5NIXXWkh+2igh3v+KQBcmcS3ETZyPNyYb6xyjl2pAm0nVPVAAzJEqlr6 BmxUk8twJPKFN78xlq9JtEZVBNFmiOtt8hxfqA5vzJTld8h0XJrTBpR9K IrKtS7vNkrAdBYJs5zm3i/EBRxCYhwRbpAK0S9Opk15is63dQYgHqXUiR F7eCxSDWeudFAQx70DYK0nDdRGVLYyT4gz4UW5r46U4jT362AKlswNn3T w==; X-IronPort-AV: E=McAfee;i="6200,9189,10246"; a="228023384" X-IronPort-AV: E=Sophos;i="5.88,338,1635231600"; d="scan'208";a="228023384" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Feb 2022 17:03:49 -0800 X-IronPort-AV: E=Sophos;i="5.88,338,1635231600"; d="scan'208";a="483070830" Received: from mjmartin-desk2.amr.corp.intel.com (HELO mjmartin-desk2.intel.com) ([10.251.1.6]) by orsmga006-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Feb 2022 17:03:48 -0800 From: Mat Martineau To: netdev@vger.kernel.org Cc: Matthieu Baerts , davem@davemloft.net, kuba@kernel.org, mptcp@lists.linux.dev, Mat Martineau Subject: [PATCH net-next 3/7] mptcp: clarify when options can be used Date: Wed, 2 Feb 2022 17:03:39 -0800 Message-Id: <20220203010343.113421-4-mathew.j.martineau@linux.intel.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220203010343.113421-1-mathew.j.martineau@linux.intel.com> References: <20220203010343.113421-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" From: Matthieu Baerts RFC8684 doesn't seem to clearly specify which MPTCP options can be used together. Some options are mutually exclusive -- e.g. MP_CAPABLE and MP_JOIN --, some can be used together -- e.g. DSS + MP_PRIO --, some can but we prefer not to -- e.g. DSS + ADD_ADDR -- and some have to be used together at some points -- e.g. MP_FAIL and DSS. We need to clarify this as a base before allowing other modifications. For example, does it make sense to send a RM_ADDR with an MPC or MPJ? This remains open for possible future discussions. Signed-off-by: Matthieu Baerts Signed-off-by: Mat Martineau --- net/mptcp/options.c | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/net/mptcp/options.c b/net/mptcp/options.c index ab054c389a5f..7345f28f3de1 100644 --- a/net/mptcp/options.c +++ b/net/mptcp/options.c @@ -1267,8 +1267,27 @@ void mptcp_write_options(__be32 *ptr, const struct t= cp_sock *tp, const struct sock *ssk =3D (const struct sock *)tp; struct mptcp_subflow_context *subflow; =20 - /* DSS, MPC, MPJ, ADD_ADDR, FASTCLOSE and RST are mutually exclusive, - * see mptcp_established_options*() + /* Which options can be used together? + * + * X: mutually exclusive + * O: often used together + * C: can be used together in some cases + * P: could be used together but we prefer not to (optimisations) + * + * Opt: | MPC | MPJ | DSS | ADD | RM | PRIO | FAIL | FC | + * ------|------|------|------|------|------|------|------|------| + * MPC |------|------|------|------|------|------|------|------| + * MPJ | X |------|------|------|------|------|------|------| + * DSS | X | X |------|------|------|------|------|------| + * ADD | X | X | P |------|------|------|------|------| + * RM | C | C | C | P |------|------|------|------| + * PRIO | X | C | C | C | C |------|------|------| + * FAIL | X | X | C | X | X | X |------|------| + * FC | X | X | X | X | X | X | X |------| + * RST | X | X | X | X | X | X | O | O | + * ------|------|------|------|------|------|------|------|------| + * + * The same applies in mptcp_established_options() function. */ if (likely(OPTION_MPTCP_DSS & opts->suboptions)) { struct mptcp_ext *mpext =3D &opts->ext_copy; --=20 2.35.1 From nobody Sat May 4 08:24:44 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:3b21:0:0:0:0:0 with SMTP id c33csp1947556jaa; Wed, 2 Feb 2022 17:03:56 -0800 (PST) X-Google-Smtp-Source: ABdhPJyR1DsMjDwCT9D02aIz9p24Pzi2mdHyi6T/DnCTWgEjd/UCZAF5FLrchBLjd7bkkZ8R/RUA X-Received: by 2002:a17:902:d486:: with SMTP id c6mr32551364plg.133.1643850236019; Wed, 02 Feb 2022 17:03:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643850236; cv=none; d=google.com; s=arc-20160816; b=d43JqWEaOgcPQwoMBrmrF/FMaT5xRqQJA3E7jxIjkPOTlIUld3UWxwtYkkodjBxtn/ 5PSunCBEZ9IP07fTQjy7qHZ7eXMaEsClNoIc7UAr2iPDg0vwJOrGQ7sM0oylCyterRKV 1nh94gxHHxrM/V0NVSt/ObMim5YyXcHAIuKomspSdmCZL9YaRfBGCVgFXBlZC+6jBFhf vWhFuqwP+uPMFEdmzU/rSqubnMD36Ga2TQERaYHKxj7oYCyg/d9SzBCWVjmTrm4udQz9 UcUM52KdCLraO8BTjQJ6C3B1oBEn3ci6FUPxzbZFLtzl8cM9OBFxaJfkrjjaodPemuEa tDsw== 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:dkim-signature; bh=X3gHUnqVR5Umb2e2899Ay4mmwJ5oMiMI1CyF1OkcnGQ=; b=S/o//A/P+63EzYOUe6VbbckHr1afwvFsP/uG7b6qIobJSpwtNPE3dwR3DuF+jY7k/x IkFweplLlpSYZy0E5STn+0v++4ea+qHEFKQMRWV63SxBn4tIRVgKMrYf0wnPWhqjNdXo maRHp1YNfhpNBB7K12s238lX7G0hQ6Re2HioG1S31HY9QdmyNJZfwDxWalt7j0ihawj+ CRDQIFrJjyB53MxSTHioiHDnrG0Ry3UxCx2fNkB1kAI/CMuoY3VU+xdku7SWF3vElBvX MBffTcqM7vwynMdo/c0KZZP0GVbM6mViHDbLBfE3JfMIKFG4J3gWgMmvYHjRndCDNvQ7 k0Sg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=lLFeVcdT; spf=pass (google.com: domain of mptcp+bounces-3412-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.69.165 as permitted sender) smtp.mailfrom="mptcp+bounces-3412-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. [147.75.69.165]) by mx.google.com with ESMTPS id m1si87393pgu.255.2022.02.02.17.03.55 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 02 Feb 2022 17:03:56 -0800 (PST) Received-SPF: pass (google.com: domain of mptcp+bounces-3412-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.69.165 as permitted sender) client-ip=147.75.69.165; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=lLFeVcdT; spf=pass (google.com: domain of mptcp+bounces-3412-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.69.165 as permitted sender) smtp.mailfrom="mptcp+bounces-3412-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 9AC363E1031 for ; Thu, 3 Feb 2022 01:03:55 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 101D72F41; Thu, 3 Feb 2022 01:03:54 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) (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 E78342F3F for ; Thu, 3 Feb 2022 01:03:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1643850232; x=1675386232; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=7X+m5cdLWaZh4tYFJBJ/dkJI7qFZSYhYD4KmzoHQe1g=; b=lLFeVcdTLzJJYtDBbdK+2bV8F9xdE1ze1baVxYsC4JljRDFcuYbib+UN BwKNLFOit5qjB5AcuwuMbJjWAWHiHRWzjqfjT90CJNwuatvwoSYRWf2sB fK0pf9/qPTOwY80MNVA6vI0cGuWOZzbYkM/Kp8WylxqtSFlo7BAn+3Nyw UgBvYqp+q8hBzoLg0iugPJz3Xs+VgMD6W+yyeR2lv7zBHUUo/+0wjcCzz 5n3HLMglEMBHaptF12puK4nlWtwFM3va9T3+DB0I5sgmaOAHUgBn0jpWd 11rYSbIs8l1T8QbtYwyVhgEMX0/Xjej/5+CKMJFm7UCRO/nBZ7vG7A9n/ g==; X-IronPort-AV: E=McAfee;i="6200,9189,10246"; a="228023385" X-IronPort-AV: E=Sophos;i="5.88,338,1635231600"; d="scan'208";a="228023385" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Feb 2022 17:03:49 -0800 X-IronPort-AV: E=Sophos;i="5.88,338,1635231600"; d="scan'208";a="483070831" Received: from mjmartin-desk2.amr.corp.intel.com (HELO mjmartin-desk2.intel.com) ([10.251.1.6]) by orsmga006-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Feb 2022 17:03:48 -0800 From: Mat Martineau To: netdev@vger.kernel.org Cc: Geliang Tang , davem@davemloft.net, kuba@kernel.org, matthieu.baerts@tessares.net, mptcp@lists.linux.dev, Mat Martineau Subject: [PATCH net-next 4/7] mptcp: print out reset infos of MP_RST Date: Wed, 2 Feb 2022 17:03:40 -0800 Message-Id: <20220203010343.113421-5-mathew.j.martineau@linux.intel.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220203010343.113421-1-mathew.j.martineau@linux.intel.com> References: <20220203010343.113421-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" From: Geliang Tang This patch printed out the reset infos, reset_transient and reset_reason, of MP_RST in mptcp_parse_option() to show that MP_RST is received. Signed-off-by: Geliang Tang Signed-off-by: Mat Martineau --- net/mptcp/options.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/net/mptcp/options.c b/net/mptcp/options.c index 7345f28f3de1..3e82ac24d548 100644 --- a/net/mptcp/options.c +++ b/net/mptcp/options.c @@ -336,6 +336,8 @@ static void mptcp_parse_option(const struct sk_buff *sk= b, flags =3D *ptr++; mp_opt->reset_transient =3D flags & MPTCP_RST_TRANSIENT; mp_opt->reset_reason =3D *ptr; + pr_debug("MP_RST: transient=3D%u reason=3D%u", + mp_opt->reset_transient, mp_opt->reset_reason); break; =20 case MPTCPOPT_MP_FAIL: --=20 2.35.1 From nobody Sat May 4 08:24:44 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:3b21:0:0:0:0:0 with SMTP id c33csp1947603jaa; Wed, 2 Feb 2022 17:03:59 -0800 (PST) X-Google-Smtp-Source: ABdhPJzdslAWI8X3WEYvE+KGzuvaiGkumxymxgZ6Yas6lEJLMC5RlowP0YcsiFf+RAlOT32WgL9E X-Received: by 2002:a17:90b:3810:: with SMTP id mq16mr11135326pjb.95.1643850239515; Wed, 02 Feb 2022 17:03:59 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643850239; cv=none; d=google.com; s=arc-20160816; b=ynyePd/9MAQxYeDWExDVl3aoDE477jZ60F9RFApGgPgKIcJg8uE/B0vin0piZU7tGx cg3IrI9PCzBLUYtoOPfDjM9ac+cKZX04dnpRXrCuAq8YSZbuak4Uc0rkC1yTz7gafCNH BXx4BS5om/qHh2F9UHzVd3/wgacv9SS9GffSpsIh0c7psLAHQcOjQvz4c2YR7icjSlXL G8DXbgCo6A91sNwmPlrKjZd3+2X80cCBIK0Vi2yytEqBQPHuhN8p4qFA3heCKKZo9/vx PcokfLsCkVNBcs0FhnCFHT73/14fVtxhhZ2GviKaK8/IJ+dUZxs/WLNVWmMA/LDr5oxy wLMQ== 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:dkim-signature; bh=QU4UvuqYD/sqwxC8KYdU7xD+NGVPjvj1arYEpipeMgQ=; b=iVVUc6dv6uXy35CCa+0gMYc2GSJo/J5psvDYGnMmJXNzTkVMb3bfkaNHXA0FH3P6oo PTsp+cKbUXfDhI+8H8Ku62mSnocNlnnJR9TKu3sL5pQguXwfBHb2piyq+9AMcdPjCK8Z q3n2AYFeT1G4k1DfX8tpgYQGP+IVSwA6e2JRKpBprs859tE+VWiSuNsbnVvR6tNRqQRG THCp5R3PMPNoqj6UBKRe9yoaMAj4+ZhmDk5RjZWe9oflAcqTdsC1mxQ82DyMzSeoR3kf a+voLrkS3zjlnDtf6EW6bAvPdD8dopBdIfd37qQ+wehEwVZ7GpY4kStUZwRwLeXab4jF QWVQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="ZB/g3uOg"; spf=pass (google.com: domain of mptcp+bounces-3415-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) smtp.mailfrom="mptcp+bounces-3415-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 r3si19534627pff.365.2022.02.02.17.03.59 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 02 Feb 2022 17:03:59 -0800 (PST) Received-SPF: pass (google.com: domain of mptcp+bounces-3415-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="ZB/g3uOg"; spf=pass (google.com: domain of mptcp+bounces-3415-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) smtp.mailfrom="mptcp+bounces-3415-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 198CF3E1048 for ; Thu, 3 Feb 2022 01:03:59 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id D98172F27; Thu, 3 Feb 2022 01:03:55 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) (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 16D9C2F2C for ; Thu, 3 Feb 2022 01:03:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1643850233; x=1675386233; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=FC2LolPe1mWrv7RSaMwzaULMsfbrfUJRBuphqssZXwY=; b=ZB/g3uOgi/XtGAdlcqERq8T41BwgJShgJxD0rJKgNNRS8abA9SgEosg5 2m5VmTZOsdlD9t8AXR8D3ZtyKjxtSG0/U/jFSUcKLoJqudchGgewcrXH2 oLFg8Ds/LeX+GSi2UdUpoWxRjj/iVPLJ4GcQ3gKbdLz9/DBZ65BU9luCG sg1ZVMTxvVLskjg0W6wDHrEVODfw3EEocqP9YhbX2IYfv740CgCkWhlgV 9BiICFmlAwNtrK2PIx+DUlUcHkkBuwGXuBtzA4ScUb0vvr2LuYyHVTrDy EXyp+wZTWWrIEIZy16ZduiO/F3B2b3QOi97YOrY1pRXFGsdt0ka5mTTIF Q==; X-IronPort-AV: E=McAfee;i="6200,9189,10246"; a="228023386" X-IronPort-AV: E=Sophos;i="5.88,338,1635231600"; d="scan'208";a="228023386" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Feb 2022 17:03:49 -0800 X-IronPort-AV: E=Sophos;i="5.88,338,1635231600"; d="scan'208";a="483070832" Received: from mjmartin-desk2.amr.corp.intel.com (HELO mjmartin-desk2.intel.com) ([10.251.1.6]) by orsmga006-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Feb 2022 17:03:49 -0800 From: Mat Martineau To: netdev@vger.kernel.org Cc: Geliang Tang , davem@davemloft.net, kuba@kernel.org, matthieu.baerts@tessares.net, mptcp@lists.linux.dev, Paolo Abeni , Mat Martineau Subject: [PATCH net-next 5/7] mptcp: set fullmesh flag in pm_netlink Date: Wed, 2 Feb 2022 17:03:41 -0800 Message-Id: <20220203010343.113421-6-mathew.j.martineau@linux.intel.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220203010343.113421-1-mathew.j.martineau@linux.intel.com> References: <20220203010343.113421-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" From: Geliang Tang This patch added the fullmesh flag setting support in pm_netlink. If the fullmesh flag of the address is changed, remove all the related subflows, update the fullmesh flag and create subflows again. Acked-by: Paolo Abeni Signed-off-by: Geliang Tang Signed-off-by: Mat Martineau --- net/mptcp/pm_netlink.c | 37 ++++++++++++++++++++++++++++--------- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index 782b1d452269..d47795748ad7 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -1728,9 +1728,20 @@ mptcp_nl_cmd_get_limits(struct sk_buff *skb, struct = genl_info *info) return -EMSGSIZE; } =20 -static int mptcp_nl_addr_backup(struct net *net, - struct mptcp_addr_info *addr, - u8 bkup) +static void mptcp_pm_nl_fullmesh(struct mptcp_sock *msk, + struct mptcp_addr_info *addr) +{ + struct mptcp_rm_list list =3D { .nr =3D 0 }; + + list.ids[list.nr++] =3D addr->id; + + mptcp_pm_nl_rm_subflow_received(msk, &list); + mptcp_pm_create_subflow_or_signal_addr(msk); +} + +static int mptcp_nl_set_flags(struct net *net, + struct mptcp_addr_info *addr, + u8 bkup, u8 changed) { long s_slot =3D 0, s_num =3D 0; struct mptcp_sock *msk; @@ -1744,7 +1755,10 @@ static int mptcp_nl_addr_backup(struct net *net, =20 lock_sock(sk); spin_lock_bh(&msk->pm.lock); - ret =3D mptcp_pm_nl_mp_prio_send_ack(msk, addr, bkup); + if (changed & MPTCP_PM_ADDR_FLAG_BACKUP) + ret =3D mptcp_pm_nl_mp_prio_send_ack(msk, addr, bkup); + if (changed & MPTCP_PM_ADDR_FLAG_FULLMESH) + mptcp_pm_nl_fullmesh(msk, addr); spin_unlock_bh(&msk->pm.lock); release_sock(sk); =20 @@ -1761,6 +1775,8 @@ static int mptcp_nl_cmd_set_flags(struct sk_buff *skb= , struct genl_info *info) struct mptcp_pm_addr_entry addr =3D { .addr =3D { .family =3D AF_UNSPEC }= , }, *entry; struct nlattr *attr =3D info->attrs[MPTCP_PM_ATTR_ADDR]; struct pm_nl_pernet *pernet =3D genl_info_pm_nl(info); + u8 changed, mask =3D MPTCP_PM_ADDR_FLAG_BACKUP | + MPTCP_PM_ADDR_FLAG_FULLMESH; struct net *net =3D sock_net(skb->sk); u8 bkup =3D 0, lookup_by_id =3D 0; int ret; @@ -1783,15 +1799,18 @@ static int mptcp_nl_cmd_set_flags(struct sk_buff *s= kb, struct genl_info *info) spin_unlock_bh(&pernet->lock); return -EINVAL; } + if ((addr.flags & MPTCP_PM_ADDR_FLAG_FULLMESH) && + (entry->flags & MPTCP_PM_ADDR_FLAG_SIGNAL)) { + spin_unlock_bh(&pernet->lock); + return -EINVAL; + } =20 - if (bkup) - entry->flags |=3D MPTCP_PM_ADDR_FLAG_BACKUP; - else - entry->flags &=3D ~MPTCP_PM_ADDR_FLAG_BACKUP; + changed =3D (addr.flags ^ entry->flags) & mask; + entry->flags =3D (entry->flags & ~mask) | (addr.flags & mask); addr =3D *entry; spin_unlock_bh(&pernet->lock); =20 - mptcp_nl_addr_backup(net, &addr.addr, bkup); + mptcp_nl_set_flags(net, &addr.addr, bkup, changed); return 0; } =20 --=20 2.35.1 From nobody Sat May 4 08:24:44 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:3b21:0:0:0:0:0 with SMTP id c33csp1947572jaa; Wed, 2 Feb 2022 17:03:57 -0800 (PST) X-Google-Smtp-Source: ABdhPJw2T9QK70lKGMb04ta6RbyfWT1/pfOMmsKNwvPyxDxBA4S742Wsdu3B6dSjazO/0f4dyeS1 X-Received: by 2002:a17:902:c40e:: with SMTP id k14mr32923772plk.103.1643850237291; Wed, 02 Feb 2022 17:03:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643850237; cv=none; d=google.com; s=arc-20160816; b=HPfoGvtlkZYmY5uZTdbtMUOYX2mlR/vX4DhaJx/4XVGZ5nRYkdmGTxVmNVy60XopLn /iboQQ2Z2mTU1ZlL9n3qHRqiWGZlM9LFwihdzyokyvHlZBcXUsk8jL3L7d4yVrQLyYYg d6EpCSAzeuEfs/YPDiWaNVIX6MdcuWP8PNyBcNah28Gn32UwnoYC1V63Qr3EZDBD5/jd nnPrGBMI+EenNd9GEjHbXs7tEIL4T7atJ9kaDs585erJYoMXjbFFdb3kvuTkqHHAozDJ T4FlV6ItVJOiSknbiMnmRlyA6jtt/Aq0ZPz8kB+exIOS4EUyZzHpy9NT5PXDUA6VdeCf F8GQ== 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:dkim-signature; bh=EtFo8n9o3eZ9T9BxJqcYzcxhnKeMYlOcNU2p/8OuYtE=; b=FDNC74X3YWkslfPougfVYPFmv6bDeWulDCv6Mfn9+BubBA8O4WBB4hlZy6KRTiuNeB 0PbWQgaUV3h2yIyk8rnrw3VO31tW/ColXeBR7QXSfd6CfhRWMudkChnKitu6FOSHhdNC 5lNYi/hhtrLhl0QvzTUdV5ZDrq+XNzqsmm2lGcZi8s3KqPRWirWlsvXCBjMdluja41Zb vtqZPv2UT/erKJrugm5C4PsQwHsc40p/5rKa8GHdzZhcxOJLfSjpgbbZoUx42wDvaISw bft45ZfmLGFZvuJFIQr0BvGrSb+8wcesWIuGIAMlUC061ibiR2SS1cSCOlgJwRuov33G qH5g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=Gj5BFEUD; spf=pass (google.com: domain of mptcp+bounces-3413-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) smtp.mailfrom="mptcp+bounces-3413-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 c16si23138543pfl.136.2022.02.02.17.03.57 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 02 Feb 2022 17:03:57 -0800 (PST) Received-SPF: pass (google.com: domain of mptcp+bounces-3413-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=Gj5BFEUD; spf=pass (google.com: domain of mptcp+bounces-3413-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) smtp.mailfrom="mptcp+bounces-3413-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 D630B3E0F48 for ; Thu, 3 Feb 2022 01:03:56 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 1A35C2F3C; Thu, 3 Feb 2022 01:03:55 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) (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 170672F3F for ; Thu, 3 Feb 2022 01:03:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1643850234; x=1675386234; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=fiZ8lVR6tJKIp1bjE+ooOoXrIV+2sSrB3mNK93hMjhE=; b=Gj5BFEUDF5YnTT9gHXsZrCZtI7SaSnjipB7IHrNa4AP4oKqtVRmQ/1nJ 54GBDqcsS80vUFmYUyMVTOkajNzyQh49Gf8M6OCEyysIhW/Ql9sg+kodY sWtrl7VrB3itQRF4V+wXQZ67aaBiCEVzW0FCex4Je2HQuOBMCIVpQlxNI m1rX/5RFKbIYwVXPAYWYHyDrBzKKtFfAJ0ty0T2eMijCfGZYjCz4i2upB 76RLmG3AZM8iie1RReB4P1ee/b56RWGFrbFx3yf4Q9h51TQSTdYYD1bT3 AjekXVQFRwT3Fsrpg2RS0h1hMtow0xqqadHPm89Y4qt/16tyl2alIRpBl g==; X-IronPort-AV: E=McAfee;i="6200,9189,10246"; a="228023387" X-IronPort-AV: E=Sophos;i="5.88,338,1635231600"; d="scan'208";a="228023387" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Feb 2022 17:03:49 -0800 X-IronPort-AV: E=Sophos;i="5.88,338,1635231600"; d="scan'208";a="483070834" Received: from mjmartin-desk2.amr.corp.intel.com (HELO mjmartin-desk2.intel.com) ([10.251.1.6]) by orsmga006-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Feb 2022 17:03:49 -0800 From: Mat Martineau To: netdev@vger.kernel.org Cc: Geliang Tang , davem@davemloft.net, kuba@kernel.org, matthieu.baerts@tessares.net, mptcp@lists.linux.dev, Paolo Abeni , Mat Martineau Subject: [PATCH net-next 6/7] selftests: mptcp: set fullmesh flag in pm_nl_ctl Date: Wed, 2 Feb 2022 17:03:42 -0800 Message-Id: <20220203010343.113421-7-mathew.j.martineau@linux.intel.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220203010343.113421-1-mathew.j.martineau@linux.intel.com> References: <20220203010343.113421-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" From: Geliang Tang This patch added the fullmesh flag setting and clearing support in pm_nl_ctl: # pm_nl_ctl set ip flags fullmesh # pm_nl_ctl set ip flags nofullmesh Acked-by: Paolo Abeni Signed-off-by: Geliang Tang Signed-off-by: Mat Martineau --- tools/testing/selftests/net/mptcp/pm_nl_ctl.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/pm_nl_ctl.c b/tools/testing/= selftests/net/mptcp/pm_nl_ctl.c index 354784512748..152b84e44d69 100644 --- a/tools/testing/selftests/net/mptcp/pm_nl_ctl.c +++ b/tools/testing/selftests/net/mptcp/pm_nl_ctl.c @@ -28,7 +28,7 @@ static void syntax(char *argv[]) fprintf(stderr, "\tadd [flags signal|subflow|backup|fullmesh] [id ] [= dev ] \n"); fprintf(stderr, "\tdel []\n"); fprintf(stderr, "\tget \n"); - fprintf(stderr, "\tset [flags backup|nobackup]\n"); + fprintf(stderr, "\tset [flags backup|nobackup|fullmesh|nofullmesh]\n= "); fprintf(stderr, "\tflush\n"); fprintf(stderr, "\tdump\n"); fprintf(stderr, "\tlimits [ ]\n"); @@ -704,12 +704,14 @@ int set_flags(int fd, int pm_family, int argc, char *= argv[]) if (++arg >=3D argc) error(1, 0, " missing flags value"); =20 - /* do not support flag list yet */ for (str =3D argv[arg]; (tok =3D strtok(str, ",")); str =3D NULL) { if (!strcmp(tok, "backup")) flags |=3D MPTCP_PM_ADDR_FLAG_BACKUP; - else if (strcmp(tok, "nobackup")) + else if (!strcmp(tok, "fullmesh")) + flags |=3D MPTCP_PM_ADDR_FLAG_FULLMESH; + else if (strcmp(tok, "nobackup") && + strcmp(tok, "nofullmesh")) error(1, errno, "unknown flag %s", argv[arg]); } --=20 2.35.1 From nobody Sat May 4 08:24:44 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:3b21:0:0:0:0:0 with SMTP id c33csp1947616jaa; Wed, 2 Feb 2022 17:04:00 -0800 (PST) X-Google-Smtp-Source: ABdhPJxMc/zarfgkVEVNfutaARvLO+gp19Nrhpuh17Cum2P/Juzk9pPzaZ2Oc3eUPlXXAEhg4EIy X-Received: by 2002:a05:622a:1056:: with SMTP id f22mr24598485qte.485.1643850240780; Wed, 02 Feb 2022 17:04:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643850240; cv=none; d=google.com; s=arc-20160816; b=fhzz2HNUlwh5BNmlaG9quRL0MmzGIxjTgIE83oRm0YfzAFotcQ3/t1zKs3yGNu5Lq6 4IFGg/yRyxktAe0eIAEb7TWxjsr76+Vvl1CyAUTSOSO+B+McvnBD5y/DP1sv0cb2rZLw WjOYKJdtAFJq6yHzsYpAKHozvZsxnh90SNROPf5EU529yKXVb2GB2kOOQMWbTQcnKqlp dD31A7HMjekbZg+Jf2rjwx2o2UZSYJTW5g/OpEoNaZNGSD+uh9DG/Lnkv2q2uypyijIx tARFEM7Xzp+SEm8hV2R8vyVK+plfCjyn3+AEweKq1YHcGAGy9tl1+5P9cYL8my/PznAN 5zLQ== 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:dkim-signature; bh=4WrsAAwnBEyFrJa9fZQeu6d+YN6BhJhVmw+KWl4JhEM=; b=jgOsWCG0DIb9JEmyk2wT+Mt9ORS5Nn+Dwj+yCODovGwUrofXytiJk74OR99hEDl+OV 3svsz7gDvc2R6kkr+tzUM/3ScX9aJtl0HeW1uvdm98XWgDpAWJCPwEeIoQWY4VPach3Z k0alXk/j+dkG+7oI6b7l+38/ulDvmC7FdTnqQQvJhgAaHIP49t6X/0LTRluqUDSf6xV7 uC5GSnMGEttjvQyjdXRqDp2UL5LzB5reLRZxQyOYsENK5Gt6T4Fu/b74fYYmN+I18B29 sGjrV87VfaP4+FBwfZADs6CK/5PZ1qY+XNPAb+nNqwj6vE/FWAf+4rAZaARPAZwpYoqz iUqw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=nZhTzKwJ; spf=pass (google.com: domain of mptcp+bounces-3416-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.197.195 as permitted sender) smtp.mailfrom="mptcp+bounces-3416-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. [147.75.197.195]) by mx.google.com with ESMTPS id u4si7349608qvg.96.2022.02.02.17.04.00 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 02 Feb 2022 17:04:00 -0800 (PST) Received-SPF: pass (google.com: domain of mptcp+bounces-3416-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; dkim=pass header.i=@intel.com header.s=Intel header.b=nZhTzKwJ; spf=pass (google.com: domain of mptcp+bounces-3416-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.197.195 as permitted sender) smtp.mailfrom="mptcp+bounces-3416-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 963171C0B8E for ; Thu, 3 Feb 2022 01:04:00 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 1922E2F2C; Thu, 3 Feb 2022 01:03:56 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) (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 1FD2C2F3F for ; Thu, 3 Feb 2022 01:03:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1643850235; x=1675386235; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=dTssO73r57l66jd0hPRkCO1bthWlqOWmAdYmrq+iykY=; b=nZhTzKwJXTDs3rwrVglBgldUD+aanP9BAUPSaqAYZKSDj50tZdDvHhN+ EFi1fsL+pPQpc9O+eKRAon7TGm6NQxl+7Lu28TlWpVmvJqKCAB9DDCPAt DwMAur61C9G07DBz6CkjYwM5UMpeR+s8PX+szE39Q3Gg3+0vAVJWFhbae E/kSLB+VFKYTRUu4n0qjTw73t8x/s4LBiI4/vLiAshqspnefZFPC18WKi UpFLEYKvgdRLv7eyCXtwtYFf+NGoLm/6wEaVLaNiW9EfD3kTCcoxKnnaG RK1hVNvI1sdevtxDiNjME6/OK17sRkQPxzLJGpG6t5olb/2vIFqCUnXUP g==; X-IronPort-AV: E=McAfee;i="6200,9189,10246"; a="228023389" X-IronPort-AV: E=Sophos;i="5.88,338,1635231600"; d="scan'208";a="228023389" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Feb 2022 17:03:49 -0800 X-IronPort-AV: E=Sophos;i="5.88,338,1635231600"; d="scan'208";a="483070835" Received: from mjmartin-desk2.amr.corp.intel.com (HELO mjmartin-desk2.intel.com) ([10.251.1.6]) by orsmga006-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Feb 2022 17:03:49 -0800 From: Mat Martineau To: netdev@vger.kernel.org Cc: Geliang Tang , davem@davemloft.net, kuba@kernel.org, matthieu.baerts@tessares.net, mptcp@lists.linux.dev, Paolo Abeni , Mat Martineau Subject: [PATCH net-next 7/7] selftests: mptcp: add fullmesh setting tests Date: Wed, 2 Feb 2022 17:03:43 -0800 Message-Id: <20220203010343.113421-8-mathew.j.martineau@linux.intel.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220203010343.113421-1-mathew.j.martineau@linux.intel.com> References: <20220203010343.113421-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" From: Geliang Tang This patch added the fullmesh setting and clearing selftests in mptcp_join.sh. Now we can set both backup and fullmesh flags, so avoid using the words 'backup' and 'bkup'. Acked-by: Paolo Abeni Signed-off-by: Geliang Tang Signed-off-by: Mat Martineau --- .../testing/selftests/net/mptcp/mptcp_join.sh | 49 ++++++++++++++++--- 1 file changed, 43 insertions(+), 6 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index b8bdbec0cf69..bd106c7ec232 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -289,7 +289,7 @@ do_transfer() addr_nr_ns1=3D"$7" addr_nr_ns2=3D"$8" speed=3D"$9" - bkup=3D"${10}" + sflags=3D"${10}" =20 port=3D$((10000+$TEST_COUNT)) TEST_COUNT=3D$((TEST_COUNT+1)) @@ -461,14 +461,13 @@ do_transfer() fi fi =20 - if [ ! -z $bkup ]; then + if [ ! -z $sflags ]; then sleep 1 for netns in "$ns1" "$ns2"; do dump=3D(`ip netns exec $netns ./pm_nl_ctl dump`) if [ ${#dump[@]} -gt 0 ]; then addr=3D${dump[${#dump[@]} - 1]} - backup=3D"ip netns exec $netns ./pm_nl_ctl set $addr flags $bkup" - $backup + ip netns exec $netns ./pm_nl_ctl set $addr flags $sflags fi done fi @@ -545,7 +544,7 @@ run_tests() addr_nr_ns1=3D"${5:-0}" addr_nr_ns2=3D"${6:-0}" speed=3D"${7:-fast}" - bkup=3D"${8:-""}" + sflags=3D"${8:-""}" lret=3D0 oldin=3D"" =20 @@ -574,7 +573,7 @@ run_tests() fi =20 do_transfer ${listener_ns} ${connector_ns} MPTCP MPTCP ${connect_addr} \ - ${test_linkfail} ${addr_nr_ns1} ${addr_nr_ns2} ${speed} ${bkup} + ${test_linkfail} ${addr_nr_ns1} ${addr_nr_ns2} ${speed} ${sflags} lret=3D$? } =20 @@ -1888,6 +1887,44 @@ fullmesh_tests() run_tests $ns1 $ns2 10.0.1.1 0 0 fullmesh_2 slow chk_join_nr "fullmesh test 1x2, limited" 4 4 4 chk_add_nr 1 1 + + # set fullmesh flag + reset + ip netns exec $ns1 ./pm_nl_ctl limits 4 4 + ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags subflow + ip netns exec $ns2 ./pm_nl_ctl limits 4 4 + run_tests $ns1 $ns2 10.0.1.1 0 0 1 slow fullmesh + chk_join_nr "set fullmesh flag test" 2 2 2 + chk_rm_nr 0 1 + + # set nofullmesh flag + reset + ip netns exec $ns1 ./pm_nl_ctl limits 4 4 + ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags subflow,fullmesh + ip netns exec $ns2 ./pm_nl_ctl limits 4 4 + run_tests $ns1 $ns2 10.0.1.1 0 0 fullmesh_1 slow nofullmesh + chk_join_nr "set nofullmesh flag test" 2 2 2 + chk_rm_nr 0 1 + + # set backup,fullmesh flags + reset + ip netns exec $ns1 ./pm_nl_ctl limits 4 4 + ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags subflow + ip netns exec $ns2 ./pm_nl_ctl limits 4 4 + run_tests $ns1 $ns2 10.0.1.1 0 0 1 slow backup,fullmesh + chk_join_nr "set backup,fullmesh flags test" 2 2 2 + chk_prio_nr 0 1 + chk_rm_nr 0 1 + + # set nobackup,nofullmesh flags + reset + ip netns exec $ns1 ./pm_nl_ctl limits 4 4 + ip netns exec $ns2 ./pm_nl_ctl limits 4 4 + ip netns exec $ns2 ./pm_nl_ctl add 10.0.2.2 flags subflow,backup,fullmesh + run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow nobackup,nofullmesh + chk_join_nr "set nobackup,nofullmesh flags test" 2 2 2 + chk_prio_nr 0 1 + chk_rm_nr 0 1 } =20 all_tests() --=20 2.35.1