From nobody Fri Apr 19 16:41:16 2024 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2045.outbound.protection.outlook.com [40.107.20.45]) (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 0BDFB15D0 for ; Sat, 6 May 2023 05:09:05 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WOszdPK1Zqkx/5X3S+JgPd2YRn/Kd1hqwVf6YUOnjV2Dsr6UyLlVBuLE6nrQul5Q0Ba3MnkDJNrs7dzEbm+XM9fMf6uI+nRl3vfv8qy/jnyeRo0sTXr0dZ2oth3hDfQBDzMyNOKhfZiwnO8eLZVqocGgH2YIHJrGUDyRWFsT6lqaQ/5WOmmwnn6AuseLWcwqk5QJcm9TiOt7crybBT8eR7cXTEZ4e+ZsyKwege24tPUzah81hYDqEENCDZ9uouFy7Fg7Ct9R4QDwzAZ782wZoYWNRRmYCDuJJ8c+PY0RR7JdLycCsSvhnKoK+iyWM0R1n89jUSd4wOY+n4nr2v3c9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=t3bl3W2DePJSR+A5CQupDySYUYnnndOVDynmbOw3Eb0=; b=J29EwfwpvCwh0GHhfQ99M9PyjLW9byjpAW4b9pi6mKEodlHbOnWSIabtnge4H2subYo6gF5rRpSewTE1dL6ShhCM2jBRG1PjoFIj1hSkKFnv1wvVpZJr49qKJDFB6lHkD5ajKdz3CxwY59pybbiii7sjJ9RbLgXnNSiWmDO0BQHNOc3jpJyKyIFFgOxvbFg/a5blD6K1n2EMYaDVz9t/diKpa1btcS/mH0ReJ8cBQGKlFCTcQvvZ/j69iNJSxT33q+ZTEu8jA8dIi9ZtxLgtvVJyWjeCWfZw+6laaOrvltT0ln6D4FxkZ2+BW6gm2o2jmBIEIUGsfbZofFlntvRGIg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=t3bl3W2DePJSR+A5CQupDySYUYnnndOVDynmbOw3Eb0=; b=gJgmN17RXlPjOUOGMKjJf0o15MiuTJGjHspdqiiCK9MoL8nNu0iJpgHLW42L3zax8tVtqSI0s4RG8G5t2LlZ6/1HZkSN//9fshWQCMMqeucQSQbxdGEpnYv6/5pdg7Xszyefrv4BZRYt3jgGEztBfjvIxhJ4YscS07q/kCO86Tzok4Ts4uGH/lLDsjjuIRFwuJHsJG2lXMnZFBX/IhdacKOHoxOWhkZnw9u+ii+NnuMp845OuOzcPHYtv5cZ0nw+XTVVF6UTXAK+Z56yXFvF5c8oMgM7gr0ZDj32PzA9InfF1+sokGlM7WeRegTkTNA+UAkp835/+GsZJHHDmSzjyQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DBBPR04MB7612.eurprd04.prod.outlook.com (2603:10a6:10:202::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.29; Sat, 6 May 2023 05:09:03 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2%6]) with mapi id 15.20.6363.025; Sat, 6 May 2023 05:09:03 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v12 01/12] mptcp: only send RM_ADDR in nl_cmd_remove Date: Sat, 6 May 2023 13:08:49 +0800 Message-Id: <2e7631b717164948db37847ccc7cb40ee80995cc.1683349666.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR01CA0169.apcprd01.prod.exchangelabs.com (2603:1096:4:28::25) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DBBPR04MB7612:EE_ X-MS-Office365-Filtering-Correlation-Id: 760e04b6-ba77-4d00-472c-08db4df002ae X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: K1vULFB7EHD6XCelJa2FsMyS0dIpbifBMK4BoW6sueZDiouZu9JuLDd2WKdMuRtNld1zvJnMpAT1jsjvSgKyxXMTfZ2f+XeKBbtezJJw54NxuI2sIJ1sLPyIY/heyI/0jGIbT58PjY2y1fxuWOySOHqJGsxCE7XW/AeCh1IiS62lGEDE8SOi/F4kzGahOKl8O3BeHiFWN6KYuAjUmBbYTE6VsDKluiqIlCjB9kjCfRvQ/YUyzvVJDpieP0JQI4mbjJdfmeHOfHc4gCVwvY9XLIPHsMZj6Kyo2TGSk99iNUpyfyqK3QxqsqeG0w23KO9LvvmnxIR9D2G1pKQMT7f5r/a3Iz/+Z2eU7/zIefz76sKWk0HnSAaMbyFWIgi3xgH5NSSn+S5VQtIpbAmg3gkedGrVePc7t7WCtGeJTQTIAu38vgWTsmQw1w/Ok6d8x1OgWkpNCx2EAoaPATEfBv4aN7rLeb0IQ6tGtTCMb+L1PvDkgO/RMV1B2nxaS7UTULApr+eopM17GikP8ZLavxirNEa1+/8zQWymjzt9SUHiR/XlokBApjB4oBF+KjozeaJi X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(346002)(366004)(396003)(136003)(376002)(451199021)(5660300002)(41300700001)(44832011)(66556008)(66946007)(66476007)(6916009)(2906002)(4326008)(8676002)(316002)(8936002)(478600001)(6486002)(6666004)(966005)(83380400001)(107886003)(6512007)(6506007)(26005)(36756003)(86362001)(2616005)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?WmZ6OHf/JPoqtmqFBqikAhr3d2M7Qkde2mtF50SNvoBam3YlZAFc/FVeGFfd?= =?us-ascii?Q?BHIuQNktYwpjpVfdWfYGh7AXJFeii9YNFgqDnL1QFsfQ38ha1XKR1INoZh5w?= =?us-ascii?Q?oR20vmFkXY7XstdWw7iL93lkKr1bxOCWiEu9C/rrRsGWWeN+EEiDSyE4nP5u?= =?us-ascii?Q?tfTwK8BMlQXezjNBlmXT37oc7qkuYAlOXiqf6X6PFA49NmtN2r/v6D/pb6iQ?= =?us-ascii?Q?fc5Gt1IAXxK5vOJrcBR+cyvjH/0RGt/aIoxO2ObAxiSfs2mQeOfX8SPA9q+Y?= =?us-ascii?Q?1Itn+q7+++yhcobICfIvmYfId1Ulpz1O7XGsk2AEOQFiy+N4gdhQJx5zQjnk?= =?us-ascii?Q?/YItmcUEC/EwrRElb5Vye7iPhMvUV0HyUBjeilaVVpB0lTz98EzKGryUML1x?= =?us-ascii?Q?VMgr5okiKmMIyEgs48EJMlAB/np7ahMnSNbvE4nXFz0Uo7E+YgFDcEpfqo47?= =?us-ascii?Q?XHIrWH4sUWGAMDX2tP1MInMNb5izzHGTNNfUJW2YEdHMfix7kndGcBf39QOE?= =?us-ascii?Q?FXVn5LDaPzpsTl0T5iBgQsds8OiNhv8eY7MckVi8znVJMldxjsjtmqjwngR3?= =?us-ascii?Q?FP73wMVZtzgMQ/TuDNQyq8P5g4EudVq7wsvAMzIgK+IcBEBFro0FaJy9woBr?= =?us-ascii?Q?6YulYaA+cKrpTWg1G67oc1m7uzid+obgbAxcHWgUbIipcTHfy8LuJZuIf2za?= =?us-ascii?Q?YO61RZ59+FVPTaTu+LpGkB0v3i74Ri91kbYCqtfsAwyYKPTX1NV45O4suj3r?= =?us-ascii?Q?SMYHM6sMdyVhSF3N5AsDTvniGf4iz1TIfwbW7X+OvkIR5yIGK+PTtrwYD7Ey?= =?us-ascii?Q?BddROXBUfR1aN7FK+sOb4pq2KuVCXEuhTwQ3RprBONlChTi36WfEDZbdJUKm?= =?us-ascii?Q?VrcZLbs2bi/iZzqyd/rginjH0aKKWy6NXIUcg5bWJPyVddKmguhytchqa3Pg?= =?us-ascii?Q?QFdjVq+hprOEaSElNnl+wVSaxSzNJMLM+02TpcBgrpd92zuhF5iamzfpp+Gw?= =?us-ascii?Q?xZV0Tt+6MOsaOZFdbtqyPYKwecMxRIjl7mvq90SVhRbR3CHFh8R8b9RGVE94?= =?us-ascii?Q?tnr0aME9mdXpNJVzX4qb3682dRQQ+iQpDdjvrIHKPmPxBDhrwiyiGxunRQBv?= =?us-ascii?Q?VuAVYvtPEJ6XJ65S74jX4K5YLo1W43MDfPftzdnXd0nDUFJP/annONvAox8S?= =?us-ascii?Q?gTBs3+vKrVOLNYJ7nMfxZ9BbNgKW+CsyRzGdDmwG5/IXJGbIuyetTnGortOf?= =?us-ascii?Q?WLjxFpaARb3hsm2pMnKXLI4YGdvBBeuMYqS191SckCoHoMhvCbRCOJ5smR+0?= =?us-ascii?Q?DPZRzOCl4z1BEEiZzHS9pJg3TqqozmjXsTN+uaSnsh6sZALvLgSaFnKB9LoY?= =?us-ascii?Q?zM276cn2u2SCsZBxZhAKSIWDyPu5IzuxLoVB7phe1MD1Xl7F42AS8MnPERmJ?= =?us-ascii?Q?n4x6vcFmiQuybL1f+MKIA7quk6sJJzsYY8jkiP8Nlo9BCKZNKfLhPsIDNDFK?= =?us-ascii?Q?ydeQtVCcwAckb38VHuWagKWzc0hxUNe9yqU7bMR1Mo8SFPZ5D2ZWsUtFRZoA?= =?us-ascii?Q?reme7ugiBvzchMpQ9VQfv7skOAx0hmnAkw9TCFY9?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 760e04b6-ba77-4d00-472c-08db4df002ae X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 May 2023 05:09:03.7268 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 6PITz960IAvYyScmDj8eTZ3mW/sJeY+kZU9Yc5iWyZT/zg0fmDHLFlkq7/ZXtPeogDUKBC6ekoQavQLld0zB4g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7612 Content-Type: text/plain; charset="utf-8" The specifications from [1] about the "REMOVE" command say: Announce that an address has been lost to the peer It was then only supposed to send a RM_ADDR and not trying to delete associated subflows. A new helper mptcp_pm_remove_addrs() is then introduced to do just that, compared to mptcp_pm_remove_addrs_and_subflows() also removing subflows. To delete a subflow, the userspace daemon can use the "SUB_DESTROY" command, see mptcp_nl_cmd_sf_destroy(). Fixes: d9a4594edabf ("mptcp: netlink: Add MPTCP_PM_CMD_REMOVE") Link: https://github.com/multipath-tcp/mptcp/blob/mptcp_v0.96/include/uapi/= linux/mptcp.h [1] Signed-off-by: Geliang Tang --- net/mptcp/pm_netlink.c | 18 ++++++++++++++++++ net/mptcp/pm_userspace.c | 2 +- net/mptcp/protocol.h | 1 + 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index e8336b8bd30e..784145e6a314 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -1555,6 +1555,24 @@ static int mptcp_nl_cmd_del_addr(struct sk_buff *skb= , struct genl_info *info) return ret; } =20 +void mptcp_pm_remove_addrs(struct mptcp_sock *msk, struct list_head *rm_li= st) +{ + struct mptcp_rm_list alist =3D { .nr =3D 0 }; + struct mptcp_pm_addr_entry *entry; + + list_for_each_entry(entry, rm_list, list) { + if (remove_anno_list_by_saddr(msk, &entry->addr) && + alist.nr < MPTCP_RM_IDS_MAX) + alist.ids[alist.nr++] =3D entry->addr.id; + } + + if (alist.nr) { + spin_lock_bh(&msk->pm.lock); + mptcp_pm_remove_addr(msk, &alist); + spin_unlock_bh(&msk->pm.lock); + } +} + void mptcp_pm_remove_addrs_and_subflows(struct mptcp_sock *msk, struct list_head *rm_list) { diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c index 27a275805c06..6beadea8c67d 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -232,7 +232,7 @@ int mptcp_nl_cmd_remove(struct sk_buff *skb, struct gen= l_info *info) =20 list_move(&match->list, &free_list); =20 - mptcp_pm_remove_addrs_and_subflows(msk, &free_list); + mptcp_pm_remove_addrs(msk, &free_list); =20 release_sock((struct sock *)msk); =20 diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index c39e172c95db..1a2772902e9d 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -845,6 +845,7 @@ int mptcp_pm_announce_addr(struct mptcp_sock *msk, bool echo); int mptcp_pm_remove_addr(struct mptcp_sock *msk, const struct mptcp_rm_lis= t *rm_list); int mptcp_pm_remove_subflow(struct mptcp_sock *msk, const struct mptcp_rm_= list *rm_list); +void mptcp_pm_remove_addrs(struct mptcp_sock *msk, struct list_head *rm_li= st); void mptcp_pm_remove_addrs_and_subflows(struct mptcp_sock *msk, struct list_head *rm_list); =20 --=20 2.35.3 From nobody Fri Apr 19 16:41:16 2024 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2072.outbound.protection.outlook.com [40.107.20.72]) (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 E7FDF1105 for ; Sat, 6 May 2023 05:09:12 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UeWzLDcqty8dd2eZPVxRd9UP8mCqWJVEIoTFlbb0RJldz63u9flsRgcUeH8r7gbMSdGHqmF1n5eHCE1+iJqykdaGlOwOpZ7BBDD0M9+K0Xq7L472UEEsZp6JsZcd5xT2THROZ6YCIJu0CEE8QncwNUkQiR7JEsAmdmeHVNLAI0Os2oOrNZrQvIOETAgPJFxb9vYdo2LGYVK5L89/vIK9OnX8HHJ/eaNldw6RS9brBzw/vXPpfpiSND1R1hj41Zb7dz2Uu2Jodt4gRR4w2M1nf6viRJPhhhDUa+/KrskqKM+4ROdf7YT4Q3Te3Rs/PBgIrEzEGljtlkn9oFQdTnpt1g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=kI6ElL2xjN11D5EYTplE7+bIxpKKHH6XehTsvkmzj2k=; b=G9cuZ9dfkbGzT+ZsNXRs+qkFKd5A5/GZj6D4yw5mIbTxicLRSqpnBja6gRw4BSql6lBgxIpfqI8qY3Tb9mIITtmMOfPVuhVuJbivclm8VltUqKPuw+V7oDvZ7/if9Tv8HeEo+N7A8/y6GgfLedgTzXki8uJevqLXGSAD0ZYc0TAg6mxotbsiTs/eucdpRFF+BBvtquHQXbwZHb7hHZ3lZ+8uJaeTGEVF4Ixgxiyrzqmizz8Qbmj2uQNyGE9k3yDJ1uqebF54k857FHKJqvSmDKacjlpyAfV/0ZpbWqMBzw9ACW0dkUqerX1LKlFuHhFEdzzc4qKWBOnJIt00EegErQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kI6ElL2xjN11D5EYTplE7+bIxpKKHH6XehTsvkmzj2k=; b=19xhtux4RVDgJYiS4gWuE3BHrEZ32yYo06Z83cJR6etPLBOHyqE/lkqjVwUxUAZ+WvnLJAupvV+6g/mFIXW+nJvu68u/BHpq5Qi5hMuqxKBZMKh1U8LqPLU6HCr+o58XFbe/Xp6ypFHGjjjdM+OLeqHqgCCIwm6oVaeNk9gZ1i7FB6B2kwHY3AJEYCNLRCJa+k6XO9fPRDFVUc/okVlkhdUMq40UaOtqpNIrPQ5Q8uFLrgad7w4CTV+Ys3AAViKkGaCVHQuJR/BAS5N0A089N2qILP9Y+9lVlZMVNsubcX3m068CFnd1PTZdvRRH0+jfZrhbhWH4aRpylOneMTC12w== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DBBPR04MB7612.eurprd04.prod.outlook.com (2603:10a6:10:202::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.29; Sat, 6 May 2023 05:09:10 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2%6]) with mapi id 15.20.6363.025; Sat, 6 May 2023 05:09:10 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v12 02/12] selftests: mptcp: update userspace pm addr tests Date: Sat, 6 May 2023 13:08:50 +0800 Message-Id: <668b35bc7252b13bfbc675be47f607068143f4cf.1683349666.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR01CA0170.apcprd01.prod.exchangelabs.com (2603:1096:4:28::26) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DBBPR04MB7612:EE_ X-MS-Office365-Filtering-Correlation-Id: e554bd4b-69b2-40ef-c5ab-08db4df006d0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: HqiuEsU7bN7WS3DyLvTCk2N2RMKYHGQYZ9vSPjo7FdtorRu4niG4+ymUyjpi1XnThtWbPfFva1W9CC0c2zExNCjNsEVmIS+8Luf3E8gIllLKocFYjdKSaaQwVUjRWfujt2A/du23T34aS0IjSX1Sg0tzDduaRI6ny5V5EoK6s71vBW0Re+YWcCIv2AOZKX0KI5ANGpRyjFodcG+OWcrop6z1WrUsMgYaJK4wPsaSZHUoeqxgCM0Ue/kWsDzeE0FDRaVTm3T+j0tGtKLXSjlOT7HY2TQwGmw08xz2H6wO5df+xU7Br21ucc2nZvyGKYorFoLsNpDOGQdY40sZNce38/guKV79SvMMfxmHKcIYSlZnRCssZ9ytAWNY6fCw0VZuhDik6BU8HSW7EfHh9KtG+2GyPfoA+d9i3ubkWn/Ke8f7ZcsIVVjXfjWWI8Vb8jUD03MWxKhoQnemsdpNQWmKPVg869hd4F2RoySg5i9r+6f5xEIOpLv0gNRj3SASjwRQUKDsKSVbjPGmrzlOPO2xOn5Wb+DyE5aSmCoTG5n/mmbzhGvvCLI/AcsV64BeTQRz X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(346002)(366004)(396003)(136003)(376002)(451199021)(5660300002)(41300700001)(44832011)(66556008)(66946007)(15650500001)(66476007)(6916009)(2906002)(4326008)(8676002)(316002)(8936002)(478600001)(6486002)(6666004)(83380400001)(107886003)(6512007)(6506007)(26005)(36756003)(86362001)(2616005)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ZBYQNNF7Qk7KLJnKKHhn2ChbMRRsPIVODNpayt3/MlyV7i7BNsBQov/eFWLj?= =?us-ascii?Q?5HR2HqXAM+ZahErDawIE7RVcPp4UrsKK/JBTQBj6zHuB0bq4XYZ03lb5/aFy?= =?us-ascii?Q?S9ZJ5BR4XcGWrATZLCV70QTmEknpeTsJE7DI6Nh0j34Aokbnj8Q7F87lEYst?= =?us-ascii?Q?iZc4UtM7+eYHHP/xvvn6R58lRB+NFiNdWBpIofxB0gPWogcHpdCmFix2guwT?= =?us-ascii?Q?tGaz29oOJxUQgVFieLS8KHjYuB5zhRBSVe7SMm6yrfdlFpmLWFesRRzwsNAE?= =?us-ascii?Q?suqI98BDhd9zi4XZ/DNa5bRTx25WTVzhRQqCpAKgMaOm7hFLBy4WXr4lby2K?= =?us-ascii?Q?boj5PxLoma3Gx/ejKNirTE7k9LgG1dRityCOMdYnaQk9RCKWwxNMeHCUA33m?= =?us-ascii?Q?secJc+dVoHaUfN31TtAXmGDlnPF7Qw5oqmd9UU1rX7z610OPA4riUEPjlQDm?= =?us-ascii?Q?DgNuMkG6OLkhl3vwdgnwIMUnnXO4fEOidJucujyaPUuIMF5R0juc10mzL2rc?= =?us-ascii?Q?vgEcgTSN5YEDneZc4FBbmyVWRChINGS190BPzdLu8T7nvFjUBTIRoivVFbGh?= =?us-ascii?Q?waGfrCmqn2zreh7UTXpk7XckZtR5bdoiKG7gDWFMwzzsBodtflZfeTKVtrLW?= =?us-ascii?Q?jgEL54EQVT2/UR4sRSfGkCeQawdNrwAqe7f3405IEXZOzsVh7hdag81DDT45?= =?us-ascii?Q?ELmblqrhJAx9zie0KtAp7XpyKWMJXCxpFctHN3+6wjfk+1xJq96EDKfV3Ucj?= =?us-ascii?Q?XGm0xDjePBFL7LyBXKgRwXrxVEYaGNalx6D14M3tx+t9qInLtmgPmmgd17uh?= =?us-ascii?Q?zLC8pDLN3dSVHz5lhu3nujjlVdlsxEG+uHs5QKMwv+kBNFgQrHaOMzMbIQWp?= =?us-ascii?Q?Qj7FzDTTeMg4tqe3UxffgFh0qkFQS5HnBjgOSqhJF7pZfict4cHy+ucoNEbz?= =?us-ascii?Q?KaNJVWLgG/OSPxxpsxo8Nn9uUg+krmfK6k1yzYBTpXcKeLMo3+UFXmmMQUMh?= =?us-ascii?Q?4r+SYEtpz/mWeGgP4jHAEbvCt5LGKT+fPzKkcpLGPe3QiMgtIv3QH7p5ngAY?= =?us-ascii?Q?9esRgKQVWY+eD9pA6vv8oubtuaosJqrcXX8pDKlRvCYRvB7hn+Q/FAQVlIaK?= =?us-ascii?Q?24sgoW1BQ02a0oZPZkBlgeOHO2clWWgRHQ07u0FY3XLZL91NjD+w6Ll1fN8g?= =?us-ascii?Q?WtU2/5GPPQ2/Mpx3FC6etReej+DhgnWrHCfa+EEDeaD3OLB9P8ESagp85sm5?= =?us-ascii?Q?TDUq/DVbIFl4RqmDPmvbSBqnBSwDWiXifF9TLPHpnBBz4ImIJRwr8S0zJD23?= =?us-ascii?Q?qRSBBamhLx/wopFja9YmVfGjTOFTfd9hVfkeK4MAJZTaAjdp946NBz8GW+SZ?= =?us-ascii?Q?GQMGcw+xshzWTKeq5bUqdBWy4rG90DJxEwQAaz4Cnpz+nefwndw88XrDk4m7?= =?us-ascii?Q?JW1HtT8DQ/9ZD7aD0r8IWG8HksQ4DMPAB5FluPxA3I9TEMoC/XHIRaQRQLQ1?= =?us-ascii?Q?zSQ3T3ZuFA04NXxQNMtazRUtPJMk87OizTAx7LbdGSMC3xlyxc8jm5eTEGSR?= =?us-ascii?Q?lOpGLQUBu3Ro2vbCs5VI4CCNNVVD/WTkQbyQ7n0M?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: e554bd4b-69b2-40ef-c5ab-08db4df006d0 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 May 2023 05:09:10.6081 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: x1dB7sZpyyO/Td0nuT71+Sc4LzWcaQFV+n9TV6/p+u2Rwc5otb0k2Ydou+SavIB+9wmxJbT+OSk0jGyo9COpMw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7612 Content-Type: text/plain; charset="utf-8" This patch is linked to the previous commit ("mptcp: only send RM_ADDR in nl_cmd_remove"). To align with what is done by the in-kernel PM, update userspace pm addr selftests, by sending a remove_subflows command together after the remove_addrs command. Fixes: d9a4594edabf ("mptcp: netlink: Add MPTCP_PM_CMD_REMOVE") Fixes: 97040cf9806e ("selftests: mptcp: userspace pm address tests") Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/mptcp_join.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 627daeb513a0..cb0ae133f5ed 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -864,6 +864,14 @@ do_transfer() ip netns exec ${listener_ns} ./pm_nl_ctl ann $addr token $tk id $id sleep 1 ip netns exec ${listener_ns} ./pm_nl_ctl rem token $tk id $id + sp=3D$(grep "type:10" "$evts_ns1" | + sed -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q') + da=3D$(grep "type:10" "$evts_ns1" | + sed -n 's/.*\(daddr6:\)\([0-9a-f:.]*\).*$/\2/p;q') + dp=3D$(grep "type:10" "$evts_ns1" | + sed -n 's/.*\(dport:\)\([[:digit:]]*\).*$/\2/p;q') + ip netns exec ${listener_ns} ./pm_nl_ctl dsf lip "::ffff:$addr" \ + lport $sp rip $da rport $dp token $tk fi =20 counter=3D$((counter + 1)) --=20 2.35.3 From nobody Fri Apr 19 16:41:16 2024 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2071.outbound.protection.outlook.com [40.107.20.71]) (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 64F2915D0 for ; Sat, 6 May 2023 05:09:19 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OKE88R7wwHPpXiFqrhT994n3sECaCewj+maQ1UZoITNdIVrHyOZ6c5OdU2mWHro40qtPUEIh2NNL+SBCeteEFCI+/vhRjPx4O4EBFZM7b62M5v4b0pjNSq0eIz7rlhPtXYN+8kBUWdD1tn30jYzSN2p7OT7SnCB5b8nZUFJ1MaMMPWnnHvfSgTWh58FFb/kmC17YOFBEFSJdZaD1ggXWuIVKIB1SGD3YR14ztMWSsf1amV1LxyZO9Cr3aMK6BKpIh68pW71s6mYAd7pknqvu5ynVrxsWgs6CDCNKrfJ1onJpAoCmtLyUUJhh2gTzdKizLBfYtgjB9OiLIfPWD1EjIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=wCV0AEWEtidxTEvBQUI1wBNDYg/Myr+Hzq8yss6HBH4=; b=nUU0eQPPpsBKa3ROdqiOsraMgwxZpslI+YvGA+ErGW0W4zOWi7+GN10rQoT+hE3uKAmgRD5Ml6h9luRbqFjyEazVi7lNDJ2sZ2V1FRYSAFPJrGSdBcc5LCu3dKE6eObrjf/W7ksYNjA37+fxh/GEOrpyIZg4hMAcduO9LHZi+qF+A3eAbYY8IIi3OA36oGMU6ERtbq21gq6jIfWaa244Sgwqmnr6TP4EstFPD4mD/bP52iVxulqM/Z9bxfjVkjQoojqi4hEXrVR491kjXkaEves2i6nfKloV5I4dXaf1LMtCNjSj0BhVpicTDZvZigwYiTbFhL8k+QEIHeNZ+7DqTg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wCV0AEWEtidxTEvBQUI1wBNDYg/Myr+Hzq8yss6HBH4=; b=joyOObhiL32U5VPEKiyC9vmz7zY7og8znM2a4uxA2FVOYywNNaZ6M0gbHmaGlmPAoQMvQjeJXx8TiQ2yTt5f0AfDE1gr4jnmWBmOn6rNwpSQEW5uKAgKP+h7JAic1thGNO7Co3uotrSRT4NXyVjm2hE8yT7GkpKXJFNcaW4wxeuIgc7/AFjV+dLUBc1mh1mFIXc2etPv7w96SunkyUHsZPMFyaM5yU8N2JZJ3HPncmgi1wp/EsF9CaDBX1cfd5LBxru4VNl3cCBQcOKftocVTwEs0uZtautxwsY+LsYanx6BPcAAv0Q5UYTIZfZ1nBWjDh6HBRoCWP8vdTBH3IsA0A== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DBBPR04MB7612.eurprd04.prod.outlook.com (2603:10a6:10:202::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.29; Sat, 6 May 2023 05:09:17 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2%6]) with mapi id 15.20.6363.025; Sat, 6 May 2023 05:09:16 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v12 03/12] mptcp: export remove_anno_list_by_saddr Date: Sat, 6 May 2023 13:08:51 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR01CA0185.apcprd01.prod.exchangelabs.com (2603:1096:4:189::19) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DBBPR04MB7612:EE_ X-MS-Office365-Filtering-Correlation-Id: eef0d19e-276f-4482-d5bc-08db4df00a80 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3ie4qr/3oqqs+jwFRrqHPkQzB1Rw5veYi7Xd0KD7mkOdlisX04v48rJHkr0Un9y4KHIs/rwYzd/pHpPgZz9iX586K1Wr02AEiRskaWr8ezIDs76s9SZxxMPXE408oPyKWB6CvO5WSLMk0BC25zMz1NFMs13mvBG4WPggI/8SK01rPLTiTpfe/vBPhB4YdYzZVGyi0iwmFBmxaK7o/lsOVVpDX9Jk0VPv/kgtGzsHDsueEd7ys9AP6EgSi0/4pMA5Ww7paWK0IuRjUrIH7XN7aFXtY+2ibNCQYnJ9Yg1mKTuZ1AYwPHoyt5L/LDmw9yYIzqrMocrdpi0AZwntJBACqwPiIn2RFK/KPsKIPUAKRfMKQwY3rnGcV0tSbEkiPfXr+njjAyafqWm4+uJZjxdt25kkCMI1oyNf+/1v7I2fsqFYn3o4W8ijEglGVpDB2IGuH9gd0P6bSWwS4w5vQnRYMiFVQfQTspa5VYSgJdWOqJnyIVhFEuCWlPWaEdA1IEvmBNe+gzqGEouguZWI/R9tRpHKA9meToKHxi39mJb+rp/HwG11zstaVs9+uqLfygV7 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(346002)(366004)(396003)(136003)(376002)(451199021)(5660300002)(41300700001)(44832011)(66556008)(66946007)(66476007)(6916009)(2906002)(4326008)(8676002)(316002)(8936002)(478600001)(6486002)(6666004)(83380400001)(107886003)(6512007)(6506007)(26005)(36756003)(86362001)(2616005)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?prc9Nmg98ei6domvGvGz8ZHOxnlOcHK9dwqeCZQgad9qRHHzxs3Rf4l6so4k?= =?us-ascii?Q?Wnya80911acAwcrzByk9ukZOb6PXl6f0SYTGWMdf2CdDwnUFw7fwllBYFptm?= =?us-ascii?Q?JNE9dSQaSOgfBg/6uizDFYMOlq6164lK/MpWFystnDGXNgX3FgOTab0qx1Uh?= =?us-ascii?Q?aZjw7pIobIanoT+KmNiJGj3h9G+rUjXfTHvJl14EuIf/NWf1NWM35AXDugZ/?= =?us-ascii?Q?OJvbIIJh2KXNnBP97BR9GLokz4v1nWWCIcmONm8xWwycuzwecpNg7sVKiUW+?= =?us-ascii?Q?YUI+qAVFLETNXr3mWWNv4Iw+ZipJuGnQty+UY+w2gXFBP+YIpCqG1xNjAAxG?= =?us-ascii?Q?vXnTEzkvzFm0FY/wRYPwucNlpfTWhohLS6DY5tBNrgk39Z74I9wDOsgQPOV+?= =?us-ascii?Q?GVG1/P3V/Jhab0kOPDmBxetrf4Y3tAhB6XmwOJJ7FBRJ06rR2eTvlRM0nA+e?= =?us-ascii?Q?E8RPz+qzzt+VofOE3hfjh1sYgVojeQPiKd7/VCweFaccq7Z+uwrbV4OugrA/?= =?us-ascii?Q?c4PZYJv5USYEBlfbDwf1cJ8ceMtVeJ0I/AcEbemCmcvyJ/FZ9MlI5FnVXQjH?= =?us-ascii?Q?ympaMAcbpAGYxNS3yYN9zx1c0Wo/lsl9PWejR2z8e5XF/iasTzieIo3CLQiF?= =?us-ascii?Q?mkDIyMkxuJC1X4aTZKKY9GYt4Xj8JLrhrxUzO4U2+ws6LRjuDt1uulkJC/4W?= =?us-ascii?Q?/PyBk8CUNwSlOtvmEvrFMoppIW1uF10gyhlvq9dNpCS3YsVKI49Xf1o+44+d?= =?us-ascii?Q?o1vWvO65Y7AaoSzOD35yJCmtIoiErYdujeYmCO04GMM33Dhe0za6fle2g8j5?= =?us-ascii?Q?ioD98VqefgaZiHN7+qxblgfQw4STmfFLOnWRcAHx9A2ldENWbwbg/OTYr7+r?= =?us-ascii?Q?IdY/9ZJnx0mANhQC6HieGVMdNJ3LTQ6uszGPnwQJ99NJKlbfKrPFgfu60BMg?= =?us-ascii?Q?z/3biL5M9AAJBtN0NA1U2LNjBAjDM2sYOJdzfKN+UWyAmuO6sI7YY5OHNj8p?= =?us-ascii?Q?h5Y9ZYBLZnKGMatWZEIY/3LKXQRj5Pdl/qtzTleh1sIuoNfli0CIm7XZZXoA?= =?us-ascii?Q?WEaGWnHqqewr9uWnH3uEbTZlpuIYz51i3uzOYMJf/s0wTa9fr8RRlfULQxp1?= =?us-ascii?Q?4HVd9CAzh5eyFMs4Jo4m9/mnwiaBov+UsBKI5Nr/KzVasp3AiQUjJOOYQFhM?= =?us-ascii?Q?Xd8SP3c0h1FxyEzGjSJZkXkm/pzLais4wc3O9eUFTRlti3i/wu5E0jNxEg2F?= =?us-ascii?Q?VYsrnVqs5Z8MgCsbhazhk0HkK6pE01SMzXxj54jBVBGlK6wLRp00vpjChuej?= =?us-ascii?Q?hCO75XEtUOVkhNN7a/roUxmFIenRu08QiVEAl4vsWHGmdIgYees2XtRcWuE1?= =?us-ascii?Q?y8IZw4oqQ3dFS/6b8rzcqo6GtHqRNX6uMWfUwLwXTTRFFtoa2a6n8ues+kPD?= =?us-ascii?Q?fL3LqdukuZWVQ0imxoDJBDOH813m7cldHjJrHnQpEHU+Yf+FdIMrNHyR5v7E?= =?us-ascii?Q?+nmcVyoPPPIayCvE9R750gvbGmdptW/Bsdsn3kpqlGzUvsxCf9A3cpagW7pb?= =?us-ascii?Q?VK6tHoNOTfenFRqqu8BVBO9uFN9172w+rSMt1czb?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: eef0d19e-276f-4482-d5bc-08db4df00a80 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 May 2023 05:09:16.7976 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: /NEAnvypYqwA9ebRdFKoAmGkk7NlWHYQ4KDrId8++v1BWZmIEZVS4FlSj1avLDgJXXBqLRsYLD8qaF2UqT/elg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7612 Content-Type: text/plain; charset="utf-8" Rename remove_anno_list_by_saddr() with "mptcp_pm_" prefix and export it in protocol.h. This function will be re-used in the userspace PM code in the following commit. Signed-off-by: Geliang Tang --- net/mptcp/pm_netlink.c | 10 +++++----- net/mptcp/protocol.h | 2 ++ 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index 784145e6a314..0b34b57fc8bc 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -1399,8 +1399,8 @@ int mptcp_pm_get_flags_and_ifindex_by_id(struct mptcp= _sock *msk, unsigned int id return 0; } =20 -static bool remove_anno_list_by_saddr(struct mptcp_sock *msk, - const struct mptcp_addr_info *addr) +bool mptcp_pm_remove_anno_list_by_saddr(struct mptcp_sock *msk, + const struct mptcp_addr_info *addr) { struct mptcp_pm_add_entry *entry; =20 @@ -1423,7 +1423,7 @@ static bool mptcp_pm_remove_anno_addr(struct mptcp_so= ck *msk, =20 list.ids[list.nr++] =3D addr->id; =20 - ret =3D remove_anno_list_by_saddr(msk, addr); + ret =3D mptcp_pm_remove_anno_list_by_saddr(msk, addr); if (ret || force) { spin_lock_bh(&msk->pm.lock); mptcp_pm_remove_addr(msk, &list); @@ -1561,7 +1561,7 @@ void mptcp_pm_remove_addrs(struct mptcp_sock *msk, st= ruct list_head *rm_list) struct mptcp_pm_addr_entry *entry; =20 list_for_each_entry(entry, rm_list, list) { - if (remove_anno_list_by_saddr(msk, &entry->addr) && + if (mptcp_pm_remove_anno_list_by_saddr(msk, &entry->addr) && alist.nr < MPTCP_RM_IDS_MAX) alist.ids[alist.nr++] =3D entry->addr.id; } @@ -1584,7 +1584,7 @@ void mptcp_pm_remove_addrs_and_subflows(struct mptcp_= sock *msk, slist.nr < MPTCP_RM_IDS_MAX) slist.ids[slist.nr++] =3D entry->addr.id; =20 - if (remove_anno_list_by_saddr(msk, &entry->addr) && + if (mptcp_pm_remove_anno_list_by_saddr(msk, &entry->addr) && alist.nr < MPTCP_RM_IDS_MAX) alist.ids[alist.nr++] =3D entry->addr.id; } diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index 1a2772902e9d..bfa7d93a1c1a 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -831,6 +831,8 @@ mptcp_pm_del_add_timer(struct mptcp_sock *msk, struct mptcp_pm_add_entry * mptcp_lookup_anno_list_by_saddr(const struct mptcp_sock *msk, const struct mptcp_addr_info *addr); +bool mptcp_pm_remove_anno_list_by_saddr(struct mptcp_sock *msk, + const struct mptcp_addr_info *addr); int mptcp_pm_get_flags_and_ifindex_by_id(struct mptcp_sock *msk, unsigned int id, u8 *flags, int *ifindex); --=20 2.35.3 From nobody Fri Apr 19 16:41:16 2024 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2053.outbound.protection.outlook.com [40.107.20.53]) (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 A5F2C1105 for ; Sat, 6 May 2023 05:09:25 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=acS9y6KoQfw5p8/HykaNpUpIcoTNVKj+V3I/ceDHv3mLS5aNWBdnI4U3Oih0ZAj2ebz5uawuspQWuhnKRHDDE+5iEbQey2h8krysPLYXxqSZJ6u8Ur75OrLH6+PreJK5PdmE7Bn1LjZ2DGTF6Fr82FzWqImR8/c+UjENfxG6jhm5WyoZ57qrUbqOmXuh94kgfaOX/kbSFClcFn/QUpIqwOzM/GcSf9elmTUj8/cvTbTB6+8tv094KZNTBkG34bQkGRVkG0dIoDDudbqqix/F6RZItuj90DlXGYaD+FUezVS2vEWzArkO4ew/rzwVve3LsWyYcHLVwOUsMrjU4PyUjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=0BCQ+Z3iLWrc2bQ3xarhPzmNZq8Lw8NHhg4VSbt72ro=; b=TJHgH5L+LPbIvoNVHdaCEm2T/cdaw7CyRHTM6+79SRS9KW6BXBSO78zLulJqHJis47shNX7ekq1JnOSr89U7rIqAKAq+8IdW373aNgSCSwRGxkLQUwSwRVwqa+HsqOzoRvAr9sAmP9id60euaILD99KOVEgZd8lTxZH+WQTfNENlgTslzOsGP8ouUbA0X9cyKYMlDuUOSQqYNB08j6Acn4QqVnvnBwCXE9stEpD+XXKOYeBg3myKc0JO7ntmzphPpkVhImwply/Fynsz3TFBb7H5F/f3Z0Ddw1l6r3w57bRQ9hR5AO9QpnDjNRPQqZy6o5vmun+hm/Gtc80MoDvWGA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0BCQ+Z3iLWrc2bQ3xarhPzmNZq8Lw8NHhg4VSbt72ro=; b=hyPQYFO1sy3zhYrevyHqEkDppZelI/IqGWkSG210+mKcmA5IWLiiSmUinZsxNutPxWwrTYGMXuL4eDMAYVjmAaoQptWgX9FojMh2ghIuldMGenSlo3AasPHJ/ReoK8ygPGzjK0d9pwfmzxpovRfLZHoKJA011sPagwxdCUgLHXhvaVSLWxjntMzzDgAk/x9THC4mcmQSPqeOFI3gzjr+G7B9m76qztU3EXdwJ0MSaXdxNgHK4uOXje5H4cD9KmPOX5Jlw6lzcKxLlSbFloC9+t823KtHdsOtPV0gPnNGzQ6EMd2aS70MrZ7mS52dgHi9L7MUBnm2qNOhNgatA7E47A== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DBBPR04MB7612.eurprd04.prod.outlook.com (2603:10a6:10:202::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.29; Sat, 6 May 2023 05:09:23 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2%6]) with mapi id 15.20.6363.025; Sat, 6 May 2023 05:09:23 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v12 04/12] mptcp: add addr into userspace pm list Date: Sat, 6 May 2023 13:08:52 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR01CA0181.apcprd01.prod.exchangelabs.com (2603:1096:4:189::13) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DBBPR04MB7612:EE_ X-MS-Office365-Filtering-Correlation-Id: 682bc862-234e-454c-45f1-08db4df00e52 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: j/rlKfiIbuZNuhGTV9Jg+KG9X7z/aiXtOgPJhDqG6FDY/v504LQ0hFipsNRTkNRI1n4SH1V9ijLLfUc49VA9m7V1aClNmitmKdPRIZ0ita9H1zgmv/9rcPIvagNhJkwn50s5g89BHG+k8WARdgffoahqBuGr3CHCazf279ch2Lz/DVi8w7bFE7PB2QRzMS6Bk3TxSHmcnvPyGWH5yXr05f203WMpcIAQzasnhMDk+iYfql/5wWSRQ+XHD5wYxx4AUfzpnvkiGnFFc8+BCjZAHzWxYh1YkYN9ej5sxWFaDdQ2gfLRxYV8GHp+W1DfGaoc7eljL4byDdEjdz1Jqb7qFxIlPzQvJEk8JkLMOrUd5d1sBwGPCU+p/5PigGQdHxueJtEr7thX/KO9LnsgwTq1uwR0QJY/fartgcs4nGvg5lZ1HtYoFu9IIe6q6I3S3/3c2sCpa8MDgAaZAhN/ZBvC1KIsqC/i7MlFyPJfBhcSRPkv1taZB0AHxMR23rAm8h9+mSk1dYWrXfSkgfmOC59Oah36F9T1geMEFBylnEVph+M= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(346002)(366004)(396003)(136003)(376002)(451199021)(5660300002)(41300700001)(44832011)(66556008)(66946007)(66476007)(6916009)(2906002)(4326008)(8676002)(316002)(8936002)(478600001)(6486002)(6666004)(966005)(83380400001)(107886003)(6512007)(6506007)(26005)(36756003)(86362001)(2616005)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?dp31PVqU2S9AOL8IO7+czhcXpHj6nsPXtX+LGRrcVfzCOXzsBvGPxIw/9kq7?= =?us-ascii?Q?WD1JPqd4Yp/DmfqNSS4rBsfvyhKyEDfx1k42pXM56L6GPqplQlMvsfPHmPVo?= =?us-ascii?Q?rjZhzKqImuzma5OJ0DPgrzLwFQH6j2HpVDI2QcNUTIvha1k69x7hgO0CwaPm?= =?us-ascii?Q?6jgnams2K9DaXSq/XXSZ//7YoCZyf6dG98KRe+RKDOSUSZU0NaHRHhFVoGzX?= =?us-ascii?Q?L81Bf2plqTVA5P/guQZwsHszVXoZeGaLVc1cCyIg+5mbsqZJFHw5go/88kll?= =?us-ascii?Q?TYzpqdFatWeEKmX2g440EfmS9JZE4K6Q2ALHR7dOGkRArTwFfGXWeDzWDJOC?= =?us-ascii?Q?sHW31+L+C80vv5mpf6MeGLHFxcC6rYX1WiI5CC3IG0TI3lyOCc1+702i/XwI?= =?us-ascii?Q?wL+BwH4Q+5KieTOt37BA+HHCpeVzhI69nLw/QKSDv8p2/yZxtm6111sZCksW?= =?us-ascii?Q?7CtUSg1z6ddosxmokEFkJTGOSEEKqHfj3Dmfm6rb/6z17xsfxwp4yPhzQwuh?= =?us-ascii?Q?to9BzynpHWwFaVP7rBr82a7ExOX5TexsrGx8silCl0FLKyEqXx5s0/15rXs3?= =?us-ascii?Q?gu1gOt/Ko4RUWyTOJeRr5lmtDbAnYHh7z2U1oQgQDTbk/BPCtXDLLgwCoVu3?= =?us-ascii?Q?wYHXjs4cNQPailKcCeTmO5rQWXOL7b6Jebtdvax6i55BToPt8d5aCTtWULrS?= =?us-ascii?Q?rNVZYOOX+xv4eJLnjVGoitRcnYucwf0P2ku0kMSZXTFiJBYMJZR8wqOu2ev1?= =?us-ascii?Q?cZCAZgYmcq+SyU1aldVHL3u5No4stImwkXwUZybtBgghdUQDO4d8w6B6TATp?= =?us-ascii?Q?Vg+s8Gt7RvoFbxDqkv2E7TZ5uAKoatIAHKNRrusjz2P3RLFTaEIwIPu/X1Dn?= =?us-ascii?Q?u3kyPK0wfc9357Zi4ruTWJjDL/AsqIgzNEyipMfAoF2AIPiaJwSG6d94cwOz?= =?us-ascii?Q?WUX7MxYLkDXUcQ8uX3/pcwiKYI3iyi0ngxyTuikniOe+jrXM2lwus4fCae/s?= =?us-ascii?Q?z7/rndMnB9Fg2M4HWvM/RivBOr+tkhR3TWScS/1dmjvQblZAuJtfEfwvYU5s?= =?us-ascii?Q?sxyXg5BHyy9/+YdM4t9VaY8gVEslKrrw/ohrPrtB2AjT8XoPR3or06e5v68p?= =?us-ascii?Q?EAyV7bHfVj+bctajn9pGg7D0n4rzPhFUFF/2l5F1DD5/dtMtjdTB4onkucc7?= =?us-ascii?Q?R7Q28AxPxtWgm3jjMB/JdT+fY78wNO2JvK19srKzKzp3k6jhexwRDb9NzihU?= =?us-ascii?Q?KXn0hk4/viKa/MB3Jbw0GZMZCOrqdDqKaNfdVCWpYAb0WjawhPG6GAR2IOXm?= =?us-ascii?Q?vSeJPZdwyuHzalBuhZpjDLH6rl5u2XaqqJ4X3ZrLYK6J3D9O+VsrncU2gjT1?= =?us-ascii?Q?O0jWYFh+tAbgaCgTWfad2YxmehbK8BfCrl7IdAvsFE1tP1sLRaoQZJpA3VtD?= =?us-ascii?Q?sjNrsnvy5NdG1b3fNtlEThoVIjMxus+pzHAop1w3beUGZ9MG83lcQGQwv48B?= =?us-ascii?Q?k0I1fRxKCwx2Mu3/4Yjr6vXI6s8zHbCrFQzDJh2nkQUj5VYjRSU4rSbzGQ+y?= =?us-ascii?Q?AIWElxbepAioFUecm0PyBPJUPHk05UhkA3VvdduO?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 682bc862-234e-454c-45f1-08db4df00e52 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 May 2023 05:09:23.3642 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: InrOzE/tdCz1uEQ4geTC+/3vGlDhBw7HK3XcYI6VXsOyz1tMV5lEc3ByDDEdstAgulIrnKncTqY/lGtevdK2aA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7612 Content-Type: text/plain; charset="utf-8" Add the address into userspace_pm_local_addr_list when the subflow is created. Make sure it can be found in mptcp_nl_cmd_remove(). And delete it in the new helper mptcp_userspace_pm_delete_local_addr(). Add address into pm anno_list in mptcp_nl_cmd_sf_create(). Remove it when connecting fails. By doing this, the "REMOVE" command also works with subflows that have been created via the "SUB_CREATE" command instead of restricting to the addresses that have been announced via the "ANNOUNCE" command. Fixes: d9a4594edabf ("mptcp: netlink: Add MPTCP_PM_CMD_REMOVE") Link: https://github.com/multipath-tcp/mptcp_net-next/issues/379 Signed-off-by: Geliang Tang --- net/mptcp/pm_userspace.c | 52 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c index 6beadea8c67d..ec26a3f0bc64 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -79,6 +79,25 @@ static int mptcp_userspace_pm_append_new_local_addr(stru= ct mptcp_sock *msk, return ret; } =20 +static int mptcp_userspace_pm_delete_local_addr(struct mptcp_sock *msk, + struct mptcp_pm_addr_entry *addr) +{ + struct mptcp_pm_addr_entry *entry, *tmp; + + list_for_each_entry_safe(entry, tmp, &msk->pm.userspace_pm_local_addr_lis= t, list) { + if (mptcp_addresses_equal(&entry->addr, &addr->addr, false)) { + /* TODO: a refcount is needed because the entry can + * be used multiple times (e.g. fullmesh mode). + */ + list_del_rcu(&entry->list); + kfree(entry); + return 0; + } + } + + return -EINVAL; +} + int mptcp_userspace_pm_get_flags_and_ifindex_by_id(struct mptcp_sock *msk, unsigned int id, u8 *flags, int *ifindex) @@ -246,11 +265,17 @@ int mptcp_nl_cmd_remove(struct sk_buff *skb, struct g= enl_info *info) return err; } =20 +/* If the subflow is closed from the other peer (not via a + * subflow destroy command then), we want to keep the entry + * not to assign the same ID to another address and to be + * able to send RM_ADDR after the removal of the subflow. + */ int mptcp_nl_cmd_sf_create(struct sk_buff *skb, struct genl_info *info) { struct nlattr *raddr =3D info->attrs[MPTCP_PM_ATTR_ADDR_REMOTE]; struct nlattr *token =3D info->attrs[MPTCP_PM_ATTR_TOKEN]; struct nlattr *laddr =3D info->attrs[MPTCP_PM_ATTR_ADDR]; + struct mptcp_pm_addr_entry local =3D { 0 }; struct mptcp_addr_info addr_r; struct mptcp_addr_info addr_l; struct mptcp_sock *msk; @@ -302,12 +327,35 @@ int mptcp_nl_cmd_sf_create(struct sk_buff *skb, struc= t genl_info *info) goto create_err; } =20 + local.addr =3D addr_l; + err =3D mptcp_userspace_pm_append_new_local_addr(msk, &local); + if (err < 0) { + GENL_SET_ERR_MSG(info, "did not match address and id"); + goto create_err; + } + + spin_lock_bh(&msk->pm.lock); + if (!mptcp_pm_alloc_anno_list(msk, &local)) { + GENL_SET_ERR_MSG(info, "cannot alloc address list"); + err =3D -EINVAL; + goto anno_list_err; + } + spin_unlock_bh(&msk->pm.lock); + lock_sock(sk); =20 err =3D __mptcp_subflow_connect(sk, &addr_l, &addr_r); =20 release_sock(sk); =20 + if (err) { + spin_lock_bh(&msk->pm.lock); + mptcp_pm_remove_anno_list_by_saddr(msk, &addr_l); +anno_list_err: + mptcp_userspace_pm_delete_local_addr(msk, &local); + spin_unlock_bh(&msk->pm.lock); + } + create_err: sock_put((struct sock *)msk); return err; @@ -420,7 +468,11 @@ int mptcp_nl_cmd_sf_destroy(struct sk_buff *skb, struc= t genl_info *info) ssk =3D mptcp_nl_find_ssk(msk, &addr_l, &addr_r); if (ssk) { struct mptcp_subflow_context *subflow =3D mptcp_subflow_ctx(ssk); + struct mptcp_pm_addr_entry entry =3D { .addr =3D addr_l }; =20 + spin_lock_bh(&msk->pm.lock); + mptcp_userspace_pm_delete_local_addr(msk, &entry); + spin_unlock_bh(&msk->pm.lock); mptcp_subflow_shutdown(sk, ssk, RCV_SHUTDOWN | SEND_SHUTDOWN); mptcp_close_ssk(sk, ssk, subflow); MPTCP_INC_STATS(sock_net(sk), MPTCP_MIB_RMSUBFLOW); --=20 2.35.3 From nobody Fri Apr 19 16:41:16 2024 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2056.outbound.protection.outlook.com [40.107.20.56]) (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 477A515D0 for ; Sat, 6 May 2023 05:09:33 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UlR85fxZozqzmTI8Lp+HuOFDPMz+YwjntQLd4bfWhu8tNU6wZqQDMHABZm0kl1JAgQQJB74WelluCyhhNuUNAELNCRvbQ8T/QtRL1TyxPF1bFzPoWhGLMz0jCViZXo9pFccEV/9L2zwXQhc0DpktUIwP9pFipMasqT4sU7qWLXAf+ZtqKjb8bF8yoRuIlqDnnzc32xC//a94vM+waQEdwbVaal5xXBslu1wNvCMfDjodb7ugs4SDh8P2bW6d2m9NgSJTsfxO3N7EXg+9QR/HOJrb2ivgkaN5zkWnjAx6aOFFBMYVVTAy3SuotlBlEVEEgG+y2i5ZIkmAArrd0IP2fA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=DLL3g45CTOF0rqU6goiJ0Dt8IxnCpoMUiDN7YZ4Jm0o=; b=QO8Kd41zs3Xh3RFU95kUNULAV1C4LV7pxFPs5hKAA1kaBhO8+ejN3H4/lLKfGfQFjSX5KPUJWRgk8khRFwwy0+SQSRG2Emvy+FmacxzGX/pvePtldidVhB4kNc3/y27Do4mWk3IDi96aLtgKy/2yJ4ODxzumaA8TgudzHQAmJWERRgjY1FS0TbgniEzoe58H7mj6EcN3dJuA6R83SUd10jwjo/w6I7d2wmg5u1wiIVO7T4Z4/ts7umAKg9WTT0irCv4IzKcB0Z6BF8lfzA2IkIlTr5PA+3TqIGgRoVdBJ/JzfV/aQwP+NW2u0KJ4C3EvC4Uz5q8SBEc3MjbOv/N9Gg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DLL3g45CTOF0rqU6goiJ0Dt8IxnCpoMUiDN7YZ4Jm0o=; b=rBgM7PrL40wfx+c7XC6i0FnpYLLYon4qFrrQMh6PUj8lTLms1qHYu9iS8zJDl9ewvnyGmOyIrtA+4OB4EvPtEq3WFLCj8NScG9Y3OgaQvCcn3YkywzAYT6eRdeZoHOGl9ra4WEtwOm+/TD8yOMmfwAJu+16ZV0oa7Po6lZW1NJYg2tME1R094TbNqR8r3KDncWoCuLO7WK3PBcCDwkcrY4n6rlkbdH9nfZHbGG4bcvu0mslPgvyQqtZwq8whVA/okJrkkCFdqCBIso0M7n/WKeWUPvNZJcbdwOVZi1Tg9yxdwbcNXuwdnd0YMJEQGyoCK8o4iE/TSbEBGwwvzfhEug== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DBBPR04MB7612.eurprd04.prod.outlook.com (2603:10a6:10:202::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.29; Sat, 6 May 2023 05:09:31 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2%6]) with mapi id 15.20.6363.025; Sat, 6 May 2023 05:09:31 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v12 05/12] selftests: mptcp: update userspace pm subflow tests Date: Sat, 6 May 2023 13:08:53 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2P153CA0045.APCP153.PROD.OUTLOOK.COM (2603:1096:4:c6::14) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DBBPR04MB7612:EE_ X-MS-Office365-Filtering-Correlation-Id: 27cf5ecb-f2da-47ff-59f0-08db4df012ee X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: cEZFw4w+X2HKFFkN2rCKBvJQncgCP1rbEMz9qPoodyYyOKypVQnFqG8+xKWEeB1a6bYl6VV6xETntsEBOpaC4OCM4WrYeDgWMBJFbEBOxa69pMVQH9RlFYtRQ6pwRVxOLMiQSc/RKf8r0abmCk4bm3YJN+nHth0SWnXcfIYHrq3bC2VdF7bFZo7FARYytWgxcRMRPGezzuiZ3GtFf/CB2S1MMizGYqjiBq/6CaZlNLi7mAaREPEe3yNwqAt5C2zQrqV9sJ3QXch0Hqv7qJWu8d3ofU682GvV8UgD1buGh7+Vdpl/InTwOovhpWpl2I26hxwaQb35/lkHAcYxlrofQsrTFnNIrn5ZbckbIomMdp6gyYQOkvNHNtNZDFFqeMyrMQQ4vX5kGI68+xzj4NWaMoD29jVeXIZlHE4kxGjrMvnIOUooaDyiuojWZ8B+qG+IuAAz85OJXpimpqKlcaSN7rcUk0xSsgWhRAAuMNpyk2Lo4QpT5JTH7YPj21P6V+Mye9fw9v+jdtqKyrViYhx5aB1RydfAnw7rfmdqj6dsiko= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(346002)(366004)(396003)(136003)(376002)(451199021)(5660300002)(41300700001)(44832011)(66556008)(66946007)(15650500001)(66476007)(6916009)(2906002)(4326008)(8676002)(316002)(8936002)(478600001)(6486002)(6666004)(966005)(83380400001)(107886003)(6512007)(6506007)(26005)(36756003)(86362001)(2616005)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?E0ruDic+2P0xxLps3XMECjojnW4V7npJqMKa0xSYQ00VF+vJPfYkhob1+JRR?= =?us-ascii?Q?OCfPd8bp5vzQLF8iz8Eli/q1Ast2exF8XC04EepcwE59VncL3iOK79MBJHHc?= =?us-ascii?Q?jGlv6MZyBcFHEp/mJ8JzwMZsuo70ViFvqAs+msX2Vy8DohHhW+8ZgcvF4RMI?= =?us-ascii?Q?iBK8bSnWwkmUnRr14BHHPdZNdOx5sayXRcSIIoz7Yv0B+s3iI98SWmMQ8+WR?= =?us-ascii?Q?pyTKMAFM45y2f13vCzcCO+U2fQfknzZ1cOfIsw5V4L6SVuuv8Po7LQwr992W?= =?us-ascii?Q?044jy9rSXMxDzP/KeJe5T6luD73j8ms5jAVNuhQRii9XBhW8ltHqv4wX6QlP?= =?us-ascii?Q?LqkkZdDeYY/1dZIMaygiKtpZv33Xtake7K+gdMK24D7szp0NhgYDOLzSTCtu?= =?us-ascii?Q?MalLUPz0uu3s6/RE9zYijjC7LPls0ndl7sDjr0EqnIvQAFS1IMcxZxS0bTND?= =?us-ascii?Q?FVIEWxbPf5b3ouw1reDxqkRc94dpjoQzHmRsbEosLvm7sH5ylHUlrF4yli3K?= =?us-ascii?Q?lgmeOpT54Wri3tYSO2EWSY0kDpGi0FHw+eh7pbcaTj+fWjmS3vcgFZsTej/a?= =?us-ascii?Q?ZsWq2qOTBLyQm4gxor2P0qXk+NLwhdFaT5Z466oqlVZhNQlhDfdEQOZI3PX+?= =?us-ascii?Q?/aQPtnmhYLl9uCkxx+YGr17ne/SE5YA/bf4y45TMBlto/P1KNmCa1+SSR1EJ?= =?us-ascii?Q?UM0rSpq18UZbGCiu8Nxl3HIyFvEjGhhrHofz7mh8/DWudkZQycVw7c4olby0?= =?us-ascii?Q?ah3AcdpVoXpxih1w/BAkNpJ08yHSCAtGuHOXLti0/WTjcKxDJvxHuLoawkzB?= =?us-ascii?Q?rwIHJ0IfP2NgeSFqLc+WPk7UXqx3+lL+zuk3y2v6cAujrH9tKuukXufyTIQ5?= =?us-ascii?Q?yBJw4EluT8NAEprmCby5nbH+9HOHlTsbvTUPsUqudE0u2oLsVWthnJjVKmm+?= =?us-ascii?Q?+vMEQvhZ6rPcgZaqYdTLgwjdqv3wncO9FiITaOHKgWahVvXiEwcpv3i1bdGz?= =?us-ascii?Q?QnvFytWpX8kCh8eTkS9RFgDak8X+w+Ak4L2Mgw651TQC2b1FjPUK7DT1Cf1v?= =?us-ascii?Q?CYn9EZcwDM00DySM/+BPGyO8j2ungCzv5KRcr6QLEyasD9xooiemQo4WxaqW?= =?us-ascii?Q?cJgp71fozML6Ok/imPPzS+FYBHQvPuZLDnWuGRx4U10cELjSjHVOlujPv65O?= =?us-ascii?Q?SbQaQnCm1rVEvGo4J/MjBtmVqjfFRk+/DvTc7fMixhHQ6yY+pG52VBpzdZx5?= =?us-ascii?Q?OYRNXUXQaDzyhNZklDDEb0JuiSBt8kC7wSdmD+FpjMj9SVqehFVhei5wFxez?= =?us-ascii?Q?CuY+zDBt86Og0hzKPgxjNvXX9QlJD1A5ID6BStQZHugbsSh8r/MJ7gzfXFMd?= =?us-ascii?Q?ACb/w+9cOjKeffVZvnI1o96M5kDNKdO72M+HcM3FvUeyxSdrCy+UVd0m9UuH?= =?us-ascii?Q?mYj4ihMxKIlN/wJEm6ZRWMTfmFqf/f0wMAmbpxTe613DGyUjiTxg9mmUYmQO?= =?us-ascii?Q?xKosQNClpvmcxVSXA9Kgl9XycK4cqEDHWdr/HSiOrBdcZrIZGmRpIaJ/chiK?= =?us-ascii?Q?XQYJkaYUzx69dPmeCD/W/YkUF/t4prtIC3m5C3/9?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 27cf5ecb-f2da-47ff-59f0-08db4df012ee X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 May 2023 05:09:30.9527 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: IOlRKTwbH/1WOWWc/NdtNbZW8V6I2VMPVte3E+w2sR3UvSu7ydVyaW2L3KC3cK0F7JnupdTuXRTnavBnnrrxqw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7612 Content-Type: text/plain; charset="utf-8" To align with what is done by the in-kernel PM, update userspace pm subflow selftests, by sending the a remove_addrs command together before the remove_subflows command. This will get a RM_ADDR in chk_rm_nr(). Fixes: d9a4594edabf ("mptcp: netlink: Add MPTCP_PM_CMD_REMOVE") Fixes: 5e986ec46874 ("selftests: mptcp: userspace pm subflow tests") Link: https://github.com/multipath-tcp/mptcp_net-next/issues/379 Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/mptcp_join.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index cb0ae133f5ed..2dee1c6ea932 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -937,6 +937,7 @@ do_transfer() sleep 1 sp=3D$(grep "type:10" "$evts_ns2" | sed -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q') + ip netns exec ${connector_ns} ./pm_nl_ctl rem token $tk id $id ip netns exec ${connector_ns} ./pm_nl_ctl dsf lip $addr lport $sp \ rip $da rport $dp token $tk fi @@ -3152,7 +3153,7 @@ userspace_tests() pm_nl_set_limits $ns1 0 1 run_tests $ns1 $ns2 10.0.1.1 0 0 userspace_1 slow chk_join_nr 1 1 1 - chk_rm_nr 0 1 + chk_rm_nr 1 1 kill_events_pids fi } --=20 2.35.3 From nobody Fri Apr 19 16:41:16 2024 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2068.outbound.protection.outlook.com [40.107.20.68]) (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 700D61105 for ; Sat, 6 May 2023 05:09:41 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FoVkjffAtMVcpAvYCEyUp7snVsry6eciviZYWl6cQ3ZH/BKzuUdXCEHNV2d3gGBcGpJ7T3ubTbEKjnxoORLSiMj0wu0GJDED6OshkXa2KCpP0CFQapT5+pXn9dSrhZwOXRpqox62VDsSSVyH4BZXd+lwS8QpZdwVmn8dT7OS063byYlSkVzD/0pboupPMsr5c9nWK+kG8o9xQHQtP39jlLILM24ft1+hm9F6wsFtjctAocQ7hmngaoXrTKoIl94RsYnSm2H0yO4dHiXvQpHBNFqVQbB3Vx5oxmOjku0KNvrZKV3hGWABIg8JQXhPBn/HWvMKNjoPMQTCQTSTtUnZSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=DgE4i/oT63e4MN7NM03/m7FvYKG1xRhKX2fYpQCuV3Q=; b=iTBSCFclPrrD+j+lZjGhjqY2E3OUmVqRtifl9K13ZcqJNcX15HKgzKP0Aa+q/C1qsu4VNR+0PEhO2C9tcFHbgIhB+JG8qd1sUNbE9XhR+7km9SbuB45G2EB8BI966/SMCZ/DvStL8XlaDvdlIJFOEKP2e4Lh/Zvp2usD7hr/NwX1gdVB6SMfx7GtKgP18FQscmL7i0prb/v4ufdDTcDGNxPumFf60hNgtLCuL9xjWV/I7DwEpsxRz4XePRfgmIM9ye2/BiHqp1EnHwCe+kkDB2FgCn2Rai9Q6Z7wjG/5ySrilwSve9I4202z949Or6WoealyMmdKohOYzNqcu6egtg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DgE4i/oT63e4MN7NM03/m7FvYKG1xRhKX2fYpQCuV3Q=; b=ujAmKfzAs0Izn5kzFJxf/taWeochE7DkOy91Ef+BuF2w23QIqSKeQDgYCemYHzTcQ1KzQ7Io/RmUw74MIzhvJawkvLa88zckicTCNp0ahqto6IwNE+9lX7/jspo3XkVCOVsk5oxjba/i2eyacR9E97ffakM5YZfbxM4NmxL2CgIdLl/Pe4pcKRvtVYrD26ZzKIMpYzRUS6BdfFSCVA24E6y/r8yX5okkFFTtvkV94hQ8kJluEbPgdo06qOOjwrV7B7h+1cNAdz/LA8eMRPoWvzUWjnMRbn7S0mHeWbE0JEzTVDFaCS2OnGMcfB1JMsrkIDZfsNGS2VRzh6USbcBeMA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DBBPR04MB7612.eurprd04.prod.outlook.com (2603:10a6:10:202::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.29; Sat, 6 May 2023 05:09:39 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2%6]) with mapi id 15.20.6363.025; Sat, 6 May 2023 05:09:39 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v12 06/12] mptcp: update userspace pm infos Date: Sat, 6 May 2023 13:08:54 +0800 Message-Id: <06dc3c592157dac567c8a115d60faaae261a8ebb.1683349666.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2P153CA0039.APCP153.PROD.OUTLOOK.COM (2603:1096:4:c6::8) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DBBPR04MB7612:EE_ X-MS-Office365-Filtering-Correlation-Id: ba5409ae-cf6b-4711-46f5-08db4df01783 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 4UDPc3cHp0hA+bu0/x8K8C9i88Gy7dEPQXBlwf7J26pwojgecY9JxxTjoqK14NifwIS9Y0TS5OlZ768mdc7bgA+euJ5RjdfTuN/t8unNaMEPzmWVGNgxWHUNTKm1nk1vbq2/0HBZwRp6dXE1CRQxh0cSWNBND/l+niwY3mA0oMiJqPyMX+fibnZZJxLhfoHRR13kFOIjw4Uke2VFVbWNvXXVvYX4DYWMxd+K416IA1yUYho4wnCRXWGyFMFC8MnMbtAE5X3srzsthai7BQAiWrHblo/KBlpPd7so7mG8p5+Oa51b4+VGfagMZCRCWNHNEGHyvb8MMVL730p0f/9qUZqgWwELz4VpvQw0U4KGoE7Zc9gOQQveWfV/oMKwH6E/w8xjxKyNExBtaeDeEc+KcA56CE6KdFIMQyAUodKQczdCYaviUBngQvM/SqhDLzc0tU2AeKc5r6fKIIVB9vEb01tm3bstAKJVomdzF2rV34QMkGROod72Xoif9Ako0Bvl7W/2kSEa4jOmYqeEm1xGvB5wXWw7h72wCtwNsZPlup8= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(346002)(366004)(396003)(136003)(376002)(451199021)(5660300002)(41300700001)(44832011)(66556008)(66946007)(15650500001)(66476007)(6916009)(2906002)(4326008)(8676002)(316002)(8936002)(478600001)(6486002)(6666004)(966005)(83380400001)(107886003)(6512007)(6506007)(26005)(36756003)(86362001)(2616005)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?f5E3BeUYEEYvHZx6A3koNSd1NwbQ+OnVT6H2ippaGK2ddDzMSxFoYG55Dses?= =?us-ascii?Q?tOgBtkM/Nn73VT73eCoqCl3VPvTu6/mmdCFDaL0p9+KRoVW0DuNpdPEXMx4V?= =?us-ascii?Q?C8FzFAqNbDMN32/25PC5y6ni5mQjmheOvLXz0z+HMY/ij49ckiQAF3EGCFYh?= =?us-ascii?Q?8bq4dVkbvs3/9vaH5ijkWVEVfvHoTyBDbE6uY7NvJaI45ezfjhoAOy3+kT1G?= =?us-ascii?Q?b+jO9ybiXXVCd9f8AP5xNMHksIXWDUCaFkS7dVIAT2iFhj1+bcy57mIKzih6?= =?us-ascii?Q?yjBuInGnnMitxh/GYuUYvonTbImPZVpiuOooYYQLx1B1ccugFyE3xfWuirvV?= =?us-ascii?Q?lBLICbG6WH0JevGtAyE+OsuE+suv6udHOY+MSC1e2bLLdNm9LFGnE+8ylmgN?= =?us-ascii?Q?X823fLTsbNyIXQ5GlNF9khhnUbJzyGH06ppIeU9i5/+0Qq4rjo6S/q5ZtE5e?= =?us-ascii?Q?PzjHosYwQydNZO9mHEONEbIGJHYjRSBrfZEEYf0pP4v8jrNDuW2NgCSXzFyL?= =?us-ascii?Q?A8lXuEaJHTZyn2IDZ6uLo1s+jjQ6412CngP8AcBmREaNPT5PwKhvXBwRvLNa?= =?us-ascii?Q?yts9gwsiHk8uqibNMG5yfMgLiHOAOu0SoUjmf8BwfWBX5aeG1yec9xZT2vp/?= =?us-ascii?Q?hMKgcdxjEsUGUU87HQ/uHFZJimgN8Ujl3SaM6k+N+Ag1Kpp/JwW7k2mepDyR?= =?us-ascii?Q?w78f/hFK9uZS/BRT0DGxZRBDN5oNjHLD1PQHYHYuE7+AemenKYToWsTYNx6w?= =?us-ascii?Q?T+qMITiqUV3AGa43aB0uqukJt/9T6BJgO23V4E3rW62j5lZtSW42lLIpX6mJ?= =?us-ascii?Q?843ZqwZPz0UzS1UWQBgVJCEpP0+8UiLLoY+lC8A9ilOsg3N/CNbwQresoFC9?= =?us-ascii?Q?iCU0jsGMApj3utZYdaUtevuCutXN08kUSh9CddIUi5exC3xE0MunIWAqWi4I?= =?us-ascii?Q?dZVRIzYyjgnr5G/Dmge139ZdZ/uGKDh1dx6AnTImAqm4SK1LpjnjUyWgk72n?= =?us-ascii?Q?ISSZ4md9dmS0qw97E9gl+xqP100FntDLpDzH7uE8ZaxKl4oBBTjXA4nM2+MB?= =?us-ascii?Q?9OWAhNKizWg7IKmnxXwxSCX+uekt6fb6X+XEMlYMH94S0qp0RnLdvnWLuK4v?= =?us-ascii?Q?eSldJ89jpXXywbQOkHyL13UvQgDhyMUM/qh2eiL+0I1a+XPN1U1KMEin+mzK?= =?us-ascii?Q?QqpxckJkw2p7CvEGPy+VZnda18PNOMovT2FO/9Y5ubAHY6II2wO6uBH1M6UR?= =?us-ascii?Q?F+ERYuOH0EBdVdZ7xsoDbFXWtyKY18s8YiX4XOpoEirpHNCk59wNgzSNT30t?= =?us-ascii?Q?ksXZ3A17RpB76H22BnjhSKM79W2IGzyVqBMFe2e6Rft8pYzWaXqCjTXjup6T?= =?us-ascii?Q?Yifoy2G3sskz7jQQ7HtIxNAfWJPxlIng1IFndXvMIrUa4LvCuKBJ6EGFX3Bo?= =?us-ascii?Q?6ux69VZIJnq9ukBjpEOkxX+aGcHCSjGihGcuflwisGOa0TRmcC/h+j/JM+2L?= =?us-ascii?Q?NmqaIHsEUASaWrUlDBov2Qycu8GgUM05o+wm3x4rXKJExNtHaswg05nkrcOg?= =?us-ascii?Q?onQnU32j2PvkMR2as/yFtM/as718RBmpPSzhntYL?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: ba5409ae-cf6b-4711-46f5-08db4df01783 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 May 2023 05:09:39.1972 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: PCwERi5U+Vv41EHBA461Uljv7heQ5Vih6MFiisFxXQSZscynxT/ZFiIsmmgJmBPpL5jouhF4WeTvtk1AoQG3+g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7612 Content-Type: text/plain; charset="utf-8" Increase pm subflows counter on both server side and client side when userspace pm creates a new subflow, and decrease the counter when it closes a subflow. Increase add_addr_signaled counter in mptcp_nl_cmd_announce() when the address is announced by userspace PM. This modification is similar to how the in-kernel PM is updating the counter: when additional subflows are created/removed. Fixes: 9ab4807c84a4 ("mptcp: netlink: Add MPTCP_PM_CMD_ANNOUNCE") Fixes: 702c2f646d42 ("mptcp: netlink: allow userspace-driven subflow establ= ishment") Link: https://github.com/multipath-tcp/mptcp_net-next/issues/329 Signed-off-by: Geliang Tang --- net/mptcp/pm.c | 23 +++++++++++++++++++---- net/mptcp/pm_userspace.c | 9 ++++++++- 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/net/mptcp/pm.c b/net/mptcp/pm.c index 7539137719ef..e7f944d09fcd 100644 --- a/net/mptcp/pm.c +++ b/net/mptcp/pm.c @@ -89,8 +89,15 @@ bool mptcp_pm_allow_new_subflow(struct mptcp_sock *msk) unsigned int subflows_max; int ret =3D 0; =20 - if (mptcp_pm_is_userspace(msk)) - return mptcp_userspace_pm_active(msk); + if (mptcp_pm_is_userspace(msk)) { + if (mptcp_userspace_pm_active(msk)) { + spin_lock_bh(&pm->lock); + pm->subflows++; + spin_unlock_bh(&pm->lock); + return true; + } + return false; + } =20 subflows_max =3D mptcp_pm_get_subflows_max(msk); =20 @@ -183,8 +190,16 @@ void mptcp_pm_subflow_check_next(struct mptcp_sock *ms= k, const struct sock *ssk, struct mptcp_pm_data *pm =3D &msk->pm; bool update_subflows; =20 - update_subflows =3D (subflow->request_join || subflow->mp_join) && - mptcp_pm_is_kernel(msk); + update_subflows =3D subflow->request_join || subflow->mp_join; + if (mptcp_pm_is_userspace(msk)) { + if (update_subflows) { + spin_lock_bh(&pm->lock); + pm->subflows--; + spin_unlock_bh(&pm->lock); + } + return; + } + if (!READ_ONCE(pm->work_pending) && !update_subflows) return; =20 diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c index ec26a3f0bc64..df09ebcc7a35 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -69,6 +69,7 @@ static int mptcp_userspace_pm_append_new_local_addr(struc= t mptcp_sock *msk, MPTCP_PM_MAX_ADDR_ID + 1, 1); list_add_tail_rcu(&e->list, &msk->pm.userspace_pm_local_addr_list); + msk->pm.local_addr_used++; ret =3D e->addr.id; } else if (match) { ret =3D entry->addr.id; @@ -89,6 +90,7 @@ static int mptcp_userspace_pm_delete_local_addr(struct mp= tcp_sock *msk, /* TODO: a refcount is needed because the entry can * be used multiple times (e.g. fullmesh mode). */ + msk->pm.local_addr_used--; list_del_rcu(&entry->list); kfree(entry); return 0; @@ -190,6 +192,7 @@ int mptcp_nl_cmd_announce(struct sk_buff *skb, struct g= enl_info *info) spin_lock_bh(&msk->pm.lock); =20 if (mptcp_pm_alloc_anno_list(msk, &addr_val)) { + msk->pm.add_addr_signaled++; mptcp_pm_announce_addr(msk, &addr_val.addr, false); mptcp_pm_nl_addr_send_ack(msk); } @@ -348,7 +351,11 @@ int mptcp_nl_cmd_sf_create(struct sk_buff *skb, struct= genl_info *info) =20 release_sock(sk); =20 - if (err) { + if (!err) { + spin_lock_bh(&msk->pm.lock); + msk->pm.subflows++; + spin_unlock_bh(&msk->pm.lock); + } else { spin_lock_bh(&msk->pm.lock); mptcp_pm_remove_anno_list_by_saddr(msk, &addr_l); anno_list_err: --=20 2.35.3 From nobody Fri Apr 19 16:41:16 2024 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2078.outbound.protection.outlook.com [40.107.20.78]) (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 0AD0815D0 for ; Sat, 6 May 2023 05:09:47 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aEdT8xoZuirGz3a6AvyPAQUL1PI3/ypeb4z87YRHsraQ8oojSvzJaAuskTDFuxPecBSs/229Xi7DXqJ8doa4bcuNPpxde5GBZxdkyxWEZIJBonduaigWWLuzDUzVO9mTWAmithHgcV2hk0FRAOZ7j2FUsvNAY6D28sxoQR6vVTqIqMafUGlKC1tPw8tqHMbz+BAB3doSPX4S4uFjRv/sk1+vWDsIEl5gqAoH4r3Jjfj3wESqGcdq4H8qZW0T99f2zvJo1XKin+K/LGsBwMjrLIdmcot0Qn4b7FWFE6QM0ptmfrUh/mtpjQYsyLHYUcaN+p987ZnPeWXTtw5nA8yPeA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=bL42IA+kQ8MvGUMaWIkT+UOg37YOROAWI43kLS/Xe7I=; b=W4D/PZZwFdtHca3nlsD1fsiHol3whwfAmRQ5vSR3Fdg+DGPJqp2DB/lR26mQ/xjO5YLeI6yZJP4FktR7JOwLMCWcY4REC97Y2aOXQ7R8w9TNYR1nBZYlE6WvG5ybGJkd0kwoDWAkcCKngIhITcTntJZEvneRilAK+3puK8erOAVUvAjpRH4VS2ljz5Uf29K4cOKORaoMONmKKuPsvTnawvBlseFvWVMqXX3aS3eipzjn9/Xbut4KykZpos2z/I4VBiDe5Fc0TXjU4Nm1DJd+EKhxnq67KUhB81CEO6qXffu3YXzfosQKIPfxO9ExxT5NIcZSEPFW5weMVy8ZtboOCQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bL42IA+kQ8MvGUMaWIkT+UOg37YOROAWI43kLS/Xe7I=; b=n6JTd4c6OOxGxfhvMjx7Gvj0ZBWfLPID3ieVx5Ulyuhay/DtHpqO8tSrAl09qyaXLOJ0ehu8r4e4MJAlF2Gf/NksTpugSkNdo8tyaXZhjtTcVxcGlx0fRHuO3x22Kr69YooLrgmPB+eVnm9szMp3Mjjcbk46xrZLVz4GZ+ZOQEZkiA96N7bYqAXNYtQ689XBM3f+AhyG2zQw7skioh6uRuoMrTPHsCwyaHO8nF/2jqcAcoTfTwNLpekHcsVsU5iDMXK+0BgEiZGZvGZFQ8As9o0nuhw+tfNbi3u8hbesbc2K0R2GkY622rvo2FKpHiW0LrD5/wMA3DeNepeWFMxlAg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DBBPR04MB7612.eurprd04.prod.outlook.com (2603:10a6:10:202::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.29; Sat, 6 May 2023 05:09:45 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2%6]) with mapi id 15.20.6363.025; Sat, 6 May 2023 05:09:45 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v12 07/12] selftests: mptcp: test userspace pm out of transfer Date: Sat, 6 May 2023 13:08:55 +0800 Message-Id: <57db5552ddcb29cbcfa55d882a60db7ed7bfc9c8.1683349666.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2P153CA0020.APCP153.PROD.OUTLOOK.COM (2603:1096:4:c7::7) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DBBPR04MB7612:EE_ X-MS-Office365-Filtering-Correlation-Id: f71e62f8-7782-49f3-27d5-08db4df01ba8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: eSUFZueyxp93vDgaxuLd+3F0we8Kmmg6IOECO0y1RddvgZPdZpj2FmwxazMyYOPao0pCxQod7pvUBfVEeEFbLlStY3hZFTAlJxsld/7OgsApKtjRV05zLjkS8koKjZJTEWorNAdQu32Xjhyn+pvL5FQaqBpKb7RTQqYrAFuwG2wMy1vqfrE7XMqxPwcCogG7+vQHp5Wot4Zv42+7LWqYP/9JrX9I24vHWC64HngwzUBeN0ouMyP9gT+60ociqijDrdaC6xGPx4xhO25MWzswjVpPkYxhpar3Jq6CDhtkDhtXOfS0xLuHcK0w3QdE4rUGYyD81A9OH+nAfI+GgkP1sRQl7U8cJ1JKxjr1Ajow7A1juY5GyCv42kYXJ2EHM4GBTOFWVIGJAeSOiMM0Bif1kV6mMAbS1TKbakw6IcIKMtRIpX9M9IRE4MrOMT1I9TQaQO4WoWmXehn/kz495m4jKh2G3BEIRJzzeHwboF0K8YGiNWHINgMNryzk9Vx1plztd0HbN9Gb2iPVIszkgMXtDVn/tjDJptdcvkS5E9Q/HG6GDdZlFKxaTfKhn9KNBp36 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(346002)(366004)(396003)(136003)(376002)(451199021)(5660300002)(41300700001)(44832011)(66556008)(66946007)(66476007)(6916009)(2906002)(4326008)(8676002)(316002)(8936002)(478600001)(6486002)(6666004)(83380400001)(107886003)(6512007)(6506007)(26005)(36756003)(86362001)(2616005)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?qdR0JL3xnmkSaKF69GccMS57IuBgQTN5Gx3yCJBCozdpfhk98KZpxbKz/Twv?= =?us-ascii?Q?QB6FiK+qunP77u/fzrN0wB32YAsnEZ/tTZikLN1+OnIBlhShGPmlqfYDxvSb?= =?us-ascii?Q?MzpSXaoohR9CoUYIiLntKkQtxo5rUB76e7DKDnAC2vcN1KQ6AktrG4rd9dQP?= =?us-ascii?Q?gUCqnSbsnhLdL/9qOXRzapMiavSTBe9U05giA5g/yO8xMiiSNbtHwgoa+P7D?= =?us-ascii?Q?xXM5AWotxKRO3wO6ZP1uQ3RH/acirtLfYy5vQ+HbKsmopADJdgnvq7HvPsAu?= =?us-ascii?Q?TqCq9bJixz8zVcgYQAYtHfp6S4FIIfAHp4hkdzDUrzus+F3jU1ezzOVL/Chv?= =?us-ascii?Q?F1QgBi0RlTa0SKzUvx63qulHqqFFMMNbrMvPsDctWTrOolNPr4/qZXDJIBJR?= =?us-ascii?Q?z9yGrkAtuRTRbX//XegkntAlgry30/hFS2cWXi7wt9nztn72iSQh3v55T03u?= =?us-ascii?Q?mMaRtGeM6i3+3tNbyDdTPMesaKmGAV8LSwKledWMuHpwpsNVDMZd8/qhQmxp?= =?us-ascii?Q?u+qzJHykOWeEwus7b276EdXFrWKm97YkqwcUO88UC+VS6PVLGuHL2iH4DrQA?= =?us-ascii?Q?H1xL/EPwqlWtlQ87fW4WVxjr/pkQImT5kAq+sUg9gKkJ5+jFpyZNkrxo2X20?= =?us-ascii?Q?c3rn4ZqhP17K+2e7WKVsfLZZ6Hc4D6XVzQHP3OLM2iRwh3ASLexuk2+jogeQ?= =?us-ascii?Q?feB9n9yDxGzo/7QXOpVY8mHlUfif8oqAzQ9CtzFKDfM9QXv4DhQNbYVI90DE?= =?us-ascii?Q?//Upg0nLn/1GWO53P6oWIMDYztlCqLG3zMcuS49a3VA2H6dU8jtKnPM8neBG?= =?us-ascii?Q?T+hl9ehyffNmn6N9iNnf/L6la4JACOxw5oOxVW2NC+mkHXqKsaslnEC+jcq0?= =?us-ascii?Q?KRwZVXGOpFeY5kongW4zesu5ThlEhFgKyu3RtqTxqWY6vbd/28qV90u1Zk/P?= =?us-ascii?Q?ID7r/zgueOdGmpZ3JSIGeVE9u9jnWMxBctwfXdr2bGYNdL8XaWg9ByCV2alA?= =?us-ascii?Q?hWG5JAHA2KTWlDXGxusw0NPaxOCt9CFJ/TvixnPGCegNQaFqEeO0DMVyCTKM?= =?us-ascii?Q?awH6S2waYgIZBKmQWVnhTCKnVpBLD9bTnN0RCKDPD4/dGcjOxBQ/YWVkowmB?= =?us-ascii?Q?DEEygKr2Wd3ni5qg+r7kZw0hbxiJ2mb+RWWT7ROWAJo+FMtNzAk0wiVEf520?= =?us-ascii?Q?ggk0PCIyWs8h/RRPD8rdEFyOeHEisO5Q2+torXz1Hq9Lm/Jc/Rml1a+TzdI5?= =?us-ascii?Q?60foPfO8bPLRnovSsbnxYHVWHNERIlDVFs4svkInMmfYAmQ8APHgibwxXLBU?= =?us-ascii?Q?58jILJ0qH63DOfIFzV+s1qAlKc1LA4r8AJVCOFeCg5bDbYIIvEx5Z8OKTptU?= =?us-ascii?Q?k9UnVYKR+Zl6Fem4WRgnMuausnzI3Ig9w7XKa9Dj1W9tXJm7huDvKDpyBObs?= =?us-ascii?Q?lYxIGfPavUyhYVDN1mCyxLC/7Jz8Zogh4palrAApJmd9VZxfYYL5EmZJQcLC?= =?us-ascii?Q?dzSc3pFDZBYRoCKL1B+JqSu63VC1RLaODrFJtvHAnE1ImzCvVoBCevRJ6GtO?= =?us-ascii?Q?MlOWwnh8OlWfJ3aPvWSHapyRRrm4IYP2uYocjUBX?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: f71e62f8-7782-49f3-27d5-08db4df01ba8 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 May 2023 05:09:45.7519 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 3Ecwp1Iv1A600EVMrXRishvEpsOKrp1gsYNgHhYyq4majb4GqTMXkD65u9Nktwhx89w3hfymzdOOA9VIeEPgMQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7612 Content-Type: text/plain; charset="utf-8" This patch moves userspace pm tests out of do_transfer(). Move add addrese test into a new function userspace_pm_add_addr(), and remove address test into userspace_pm_rm_addr(). Move add subflow test into userspace_pm_add_sf() and remove subflow into userspace_pm_rm_sf(). Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_join.sh | 123 +++++++++++------- 1 file changed, 77 insertions(+), 46 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 2dee1c6ea932..92b226260ed9 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -723,7 +723,6 @@ do_transfer() =20 local port=3D$((10000 + TEST_COUNT - 1)) local cappid - local userspace_pm=3D0 =20 :> "$cout" :> "$sout" @@ -760,11 +759,6 @@ do_transfer() extra_args=3D"-r ${speed:6}" fi =20 - if [[ "${addr_nr_ns1}" =3D "userspace_"* ]]; then - userspace_pm=3D1 - addr_nr_ns1=3D${addr_nr_ns1:10} - fi - local flags=3D"subflow" local extra_cl_args=3D"" local extra_srv_args=3D"" @@ -792,9 +786,6 @@ do_transfer() return 1 fi addr_nr_ns2=3D0 - elif [[ "${addr_nr_ns2}" =3D "userspace_"* ]]; then - userspace_pm=3D1 - addr_nr_ns2=3D${addr_nr_ns2:10} elif [[ "${addr_nr_ns2}" =3D "fullmesh_"* ]]; then flags=3D"${flags},fullmesh" addr_nr_ns2=3D${addr_nr_ns2:9} @@ -848,7 +839,6 @@ do_transfer() local counter=3D2 local add_nr_ns1=3D${addr_nr_ns1} local id=3D10 - local tk while [ $add_nr_ns1 -gt 0 ]; do local addr if is_v6 "${connect_addr}"; then @@ -856,24 +846,7 @@ do_transfer() else addr=3D"10.0.$counter.1" fi - if [ $userspace_pm -eq 0 ]; then - pm_nl_add_endpoint $ns1 $addr flags signal - else - tk=3D$(grep "type:1," "$evts_ns1" | - sed -n 's/.*\(token:\)\([[:digit:]]*\).*$/\2/p;q') - ip netns exec ${listener_ns} ./pm_nl_ctl ann $addr token $tk id $id - sleep 1 - ip netns exec ${listener_ns} ./pm_nl_ctl rem token $tk id $id - sp=3D$(grep "type:10" "$evts_ns1" | - sed -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q') - da=3D$(grep "type:10" "$evts_ns1" | - sed -n 's/.*\(daddr6:\)\([0-9a-f:.]*\).*$/\2/p;q') - dp=3D$(grep "type:10" "$evts_ns1" | - sed -n 's/.*\(dport:\)\([[:digit:]]*\).*$/\2/p;q') - ip netns exec ${listener_ns} ./pm_nl_ctl dsf lip "::ffff:$addr" \ - lport $sp rip $da rport $dp token $tk - fi - + pm_nl_add_endpoint $ns1 $addr flags signal counter=3D$((counter + 1)) add_nr_ns1=3D$((add_nr_ns1 - 1)) id=3D$((id + 1)) @@ -918,7 +891,6 @@ do_transfer() local add_nr_ns2=3D${addr_nr_ns2} local counter=3D3 local id=3D20 - local tk da dp sp while [ $add_nr_ns2 -gt 0 ]; do local addr if is_v6 "${connect_addr}"; then @@ -926,21 +898,7 @@ do_transfer() else addr=3D"10.0.$counter.2" fi - if [ $userspace_pm -eq 0 ]; then - pm_nl_add_endpoint $ns2 $addr flags $flags - else - tk=3D$(sed -n 's/.*\(token:\)\([[:digit:]]*\).*$/\2/p;q' "$evts_ns2") - da=3D$(sed -n 's/.*\(daddr4:\)\([0-9.]*\).*$/\2/p;q' "$evts_ns2") - dp=3D$(sed -n 's/.*\(dport:\)\([[:digit:]]*\).*$/\2/p;q' "$evts_ns2") - ip netns exec ${connector_ns} ./pm_nl_ctl csf lip $addr lid $id \ - rip $da rport $dp token $tk - sleep 1 - sp=3D$(grep "type:10" "$evts_ns2" | - sed -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q') - ip netns exec ${connector_ns} ./pm_nl_ctl rem token $tk id $id - ip netns exec ${connector_ns} ./pm_nl_ctl dsf lip $addr lport $sp \ - rip $da rport $dp token $tk - fi + pm_nl_add_endpoint $ns2 $addr flags $flags counter=3D$((counter + 1)) add_nr_ns2=3D$((add_nr_ns2 - 1)) id=3D$((id + 1)) @@ -3069,6 +3027,65 @@ fail_tests() fi } =20 +userspace_pm_add_addr() +{ + local addr=3D$1 + local id=3D$2 + local tk + + tk=3D$(grep "type:1," "$evts_ns1" | + sed -n 's/.*\(token:\)\([[:digit:]]*\).*$/\2/p;q') + ip netns exec $ns1 ./pm_nl_ctl ann $addr token $tk id $id +} + +userspace_pm_rm_addr() +{ + local addr=3D$1 + local id=3D$2 + local tk sp da dp + + tk=3D$(grep "type:1," "$evts_ns1" | + sed -n 's/.*\(token:\)\([[:digit:]]*\).*$/\2/p;q') + ip netns exec $ns1 ./pm_nl_ctl rem token $tk id $id + sp=3D$(grep "type:10" "$evts_ns1" | + sed -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q') + da=3D$(grep "type:10" "$evts_ns1" | + sed -n 's/.*\(daddr6:\)\([0-9a-f:.]*\).*$/\2/p;q') + dp=3D$(grep "type:10" "$evts_ns1" | + sed -n 's/.*\(dport:\)\([[:digit:]]*\).*$/\2/p;q') + ip netns exec $ns1 ./pm_nl_ctl dsf lip "::ffff:$addr" \ + lport $sp rip $da rport $dp token $tk +} + +userspace_pm_add_sf() +{ + local addr=3D$1 + local id=3D$2 + local tk da dp + + tk=3D$(sed -n 's/.*\(token:\)\([[:digit:]]*\).*$/\2/p;q' "$evts_ns2") + da=3D$(sed -n 's/.*\(daddr4:\)\([0-9.]*\).*$/\2/p;q' "$evts_ns2") + dp=3D$(sed -n 's/.*\(dport:\)\([[:digit:]]*\).*$/\2/p;q' "$evts_ns2") + ip netns exec $ns2 ./pm_nl_ctl csf lip $addr lid $id \ + rip $da rport $dp token $tk +} + +userspace_pm_rm_sf() +{ + local addr=3D$1 + local id=3D$2 + local tk da dp sp + + tk=3D$(sed -n 's/.*\(token:\)\([[:digit:]]*\).*$/\2/p;q' "$evts_ns2") + da=3D$(sed -n 's/.*\(daddr4:\)\([0-9.]*\).*$/\2/p;q' "$evts_ns2") + dp=3D$(sed -n 's/.*\(dport:\)\([[:digit:]]*\).*$/\2/p;q' "$evts_ns2") + sp=3D$(grep "type:10" "$evts_ns2" | + sed -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q') + ip netns exec $ns2 ./pm_nl_ctl rem token $tk id $id + ip netns exec $ns2 ./pm_nl_ctl dsf lip $addr lport $sp \ + rip $da rport $dp token $tk +} + userspace_tests() { # userspace pm type prevents add_addr @@ -3140,21 +3157,35 @@ userspace_tests() if reset_with_events "userspace pm add & remove address"; then set_userspace_pm $ns1 pm_nl_set_limits $ns2 1 1 - run_tests $ns1 $ns2 10.0.1.1 0 userspace_1 0 slow + run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow 2>/dev/null & + wait_mpj $ns1 + userspace_pm_add_addr 10.0.2.1 10 + sleep 1 chk_join_nr 1 1 1 chk_add_nr 1 1 + sleep 0.5 + userspace_pm_rm_addr 10.0.2.1 10 + wait_rm_addr $ns1 1 chk_rm_nr 1 1 invert kill_events_pids + kill_tests_wait fi =20 # userspace pm create destroy subflow if reset_with_events "userspace pm create destroy subflow"; then set_userspace_pm $ns2 pm_nl_set_limits $ns1 0 1 - run_tests $ns1 $ns2 10.0.1.1 0 0 userspace_1 slow + run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow 2>/dev/null & + wait_mpj $ns2 + userspace_pm_add_sf 10.0.3.2 20 + sleep 1 chk_join_nr 1 1 1 + sleep 0.5 + userspace_pm_rm_sf 10.0.3.2 20 + wait_rm_addr $ns2 1 chk_rm_nr 1 1 kill_events_pids + kill_tests_wait fi } =20 --=20 2.35.3 From nobody Fri Apr 19 16:41:16 2024 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2078.outbound.protection.outlook.com [40.107.20.78]) (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 8943A1105 for ; Sat, 6 May 2023 05:09:54 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=B+1KL2ueDAx4S8Prt9idBLxdy2zjkGGIiseax9aa/oxgpGr39NtmdF+Eg4itji36ppWvdc4UYAx7ftC6az84pxvs2Bq05RfTBD9vla/66j6cgvPUd/2LxXcVaBvR2/sfD9F5+kWCUpiq0K1FvKiCgNONlkRfiSsN0DDqMrVBgAihrlUjMMsj9YB+RhjFMduyaZeAhvWYiTe01RBIWgEiT59U5EihjvSz3iJiOWrc+bj8zKOLSvvE9fpOzDo9JpxHiF7WFlaxSNyr33VYnxDGw72IrVGQdzXf1o6MO+QDBhPqHoaHYCOgV+10HmqjpJdLyiO/urDjvWINFD//UmpLOQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=99v+QSvORPwZbVigoNZcsUkc469ArmlwolxENm0pjqQ=; b=luW29qqVReLqETD+xHwRURIdHwCbGZdNvLnKYqiPCQgWrL0km0JfkWmqS3nYCZI23lBke9D4BEvozjYFxISnC5xdKX+hrjNiRjZ3l3skeNtIpRoLR7w110K9VDyoObZGHB7ig8jfP2ECgFHl0PVGS85QDTOkHTsbUHVdG+F0g5UBq48n47M4MDeJB6i2AqR2I6Y1Vq7V54jvFEDIycjdiuq8oxgBtf4DU0uJK9koLuiRB1QQbL66Gb4CV1EvIW7AsH8hwrkVVpaS5oqAALpzFWuN7OnyNBD+VGYz8mT5wrGfmq3VLouVSYET2C80t48gTo+l3mEnp47N0Q+95jBV5w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=99v+QSvORPwZbVigoNZcsUkc469ArmlwolxENm0pjqQ=; b=yq+MGYvNV7Xl1GbA+HeaXEkWOPZd9KhgEMUs/4nIpLlxOlrBX0Juaji9uDxTOhw1GYH38WvJ4n0dyLaPWGaqors+3MOkLb/afjxKRMGb3fogOtiK01hzt0jU30hSvb2wso0m5ifmdmoVUH28kwUQ1Y0sL/CblAx9GlO3p2kgkf5Z2raJqB5cobVIlio6bziZ2QvUe+6EoQdlzEXh7RwF4mWoe1S18v6WYH53Zk7prtKA8V7bj3Foy98NqRN2c1eGDuI0reNDb0kSsFyncVuhmRgDhZVhrruTG3m+FjGPjPR11wChbzWkdbXqd+yRCayfsobyAC/ushHVmlcygpf8pA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DBBPR04MB7612.eurprd04.prod.outlook.com (2603:10a6:10:202::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.29; Sat, 6 May 2023 05:09:52 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2%6]) with mapi id 15.20.6363.025; Sat, 6 May 2023 05:09:52 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v12 08/12] selftests: mptcp: check subflows infos Date: Sat, 6 May 2023 13:08:56 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2P153CA0034.APCP153.PROD.OUTLOOK.COM (2603:1096:4:c7::21) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DBBPR04MB7612:EE_ X-MS-Office365-Filtering-Correlation-Id: 1b732e38-50c0-469b-5cb1-08db4df01f7e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: QjGRw5mvDohn8p0leng3VGUx7CGRd6Xf7s4s3khG5cx2NlHM6N4O3bQkOLKPPjHFfpzZSmW+Fshvp6Ab21jRxvdLju1VrUy4KL17L0tyG52T8gxvHnQY+xo0cF5aDVOipza0Pwefa07D5yYsPMKdGhRe0WwuATVyM7TOjVguq0E5CixYwTSW6rm4jZ0x9RYRPvFwBPbnf0aFpdSNTCJh0WuCpBc9k1vfRGYQ0oYloRuG30EqmvAGZzOo7KbJ1GamvBz6grTOy2CPtUEuV5uHMfEKN9Ol3Crz+Ai2YMuaBeem16vW6EepkFd9GNCtstN/OkAkXLbzL+99NXmph5zJ6eqPJOv1v1DcUvZIG4XYdnwRQwuKxo98Vaqbs+wOo+siUVuXCvlvNWa+U7kZc8W7gkE8AEZ3MxLW3xe0wqwF2Gz0CQ1wLx+pU8YVZhHvR7cGO89/JVSKBbGpoShpYqMiMhja8/3afUzApfuHLfZ9YxwNrHmEs05x0zAcZUXlDpzHLD+k9V/412q8M7TbllTLE+wpem+3WoH6dwqme+z59puoPmIGJNhVgHwJ0K2ukrFL X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(346002)(366004)(396003)(136003)(376002)(451199021)(5660300002)(41300700001)(44832011)(66556008)(66946007)(66476007)(6916009)(2906002)(4326008)(8676002)(316002)(8936002)(478600001)(6486002)(107886003)(6512007)(6506007)(26005)(36756003)(86362001)(2616005)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Ud5zlvIz4cKE5r8k12h3KdV/I23pjtpOFMD5v64WrUJP2X7KZG3p7cCHSd7E?= =?us-ascii?Q?ORMC8d50SVSbHzp8dh7pHVLTCCjSnMmvumzW8tsiFJzDfQCAZvA2IAqZmobI?= =?us-ascii?Q?BBxsjLJQZKUDyPvJXdZ/P6f2Mm8/0Xg8O+MaEKv9E296tYmWj5rQ4HAPXvOa?= =?us-ascii?Q?lKm8J3cQKZDiajNtHhJ2M3OSiNjXwHMFHGbN9zgcTlO0EWtjFk6yUXX0fpEX?= =?us-ascii?Q?5S9Uqmz5/kWWtt+XipaPcittaF0mSG2VMypO2Egs6qqresQfYGwsRhyvenVt?= =?us-ascii?Q?/8iOtwTH7zpTC/J2cIGe+l/CdF5tV3zdku4nI4vCUpKkc2EWozt1BCtbXdgw?= =?us-ascii?Q?BQ4GnPqNtuY4fuh3477WowHrdQaCFLjLjLmzGQtiYwvz0X389LeujUyZzJHf?= =?us-ascii?Q?zeTm2d34lx26UGON/z6tmPttYTb5MtV+ahQB/OPjD/rOLTTIk+N+XfPDGpdC?= =?us-ascii?Q?BqzE8ikhKJp3zJu/0LIblXobhrDIbaG3GR4nkatpJM5afkyLZMz6RRWktlYO?= =?us-ascii?Q?HW34/sBM3yDUzdhJf9cO9NMBi7W6hTPCeyGyUhOiINcKvieO6n+P+R5y28Kq?= =?us-ascii?Q?Oj1TYejqNArF8T6Ooqp1Z0xiOQhuFbrBLOKeMXygwmTpTzSncgFtYAXOVjHY?= =?us-ascii?Q?y6i5UrLqMbLpzgT7/pvgwXq2tlqRK2aiZDu87imMfdkAojYg835PopqCvcZ6?= =?us-ascii?Q?1C9eBP46HJx7eqXrXO24qZL1NZ2HS+a+yUvnj+tqZRRcNyOumAfhap/vgskx?= =?us-ascii?Q?8Q0D+ragqlNb+0DfzGx7Oj4W3CDQtiuTGIHiYLSStSTVejCFKKdqxJgomqYy?= =?us-ascii?Q?gq5D0Q0jJlfqoPVtVfBZHoFIX/RzjTC5uSvvwnckre2QzeooPVU/KDviBkBJ?= =?us-ascii?Q?zrZgFRX1/0iNSBGIdHQnZbaYEu6t0Q8u4RVe6UcYYFCqgWNhBLsdgoJJVjiW?= =?us-ascii?Q?ugAjxjGiCIoSLKaiqyHm3BUgaXrCQjqYTw5Xz8KL4HEzWrQ8l2Hr3OJ7+Suo?= =?us-ascii?Q?igvrSb4SsTo0cDhDyfiif1ojY4CR105WXgNK760Ics1gn+sjQopAQ8wBaPUn?= =?us-ascii?Q?omEnfjXWe3k6h4guwgP0Jxc9uUALUbuOFd9nwoHQlgfWlrSF8WYsGj3AH/RB?= =?us-ascii?Q?DzsYYpLJYc8n++2R1lrppSh+ANd14eR1nsmKf9JVuhbSb5wrb839oRacMDrk?= =?us-ascii?Q?Qy/PVuFd8ePpZv3l1ICW1isWULFpDWUKTPTjJU6Bz0v3gsXNoNxkhwfkUlw/?= =?us-ascii?Q?bFbTIvG7XvkBc+Hh1Vl1VmxGElNG8FrPpLX298PFAGA751KJYIPaTWZTHu2X?= =?us-ascii?Q?xJfmxorr1aQ0BGeLoag6PiQ2jmCb3gttIoLrWpigLhFc9z6RdQZQAeIb0UEi?= =?us-ascii?Q?LKKLLQXcQqGi2e1Bw+xojIOga2GvIg6MFc3tQn+Yrqo78MI8JF4GfBYWWb8U?= =?us-ascii?Q?iS6izqIa8z75ZXFldPUiRKQfa5sCYPVwQIxAnWGG+LmHGQofKYJZ0oOL5L3M?= =?us-ascii?Q?1hQ3JUR4M3mOr5bvcYwRYU1o17xVvhZKy/x0zP2TcJ0FoTFhzLNKSMU/Bmj/?= =?us-ascii?Q?jjAyoT/dCGFCp7FkvTmPhbTq/mHbZjFghlNSxs+k?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1b732e38-50c0-469b-5cb1-08db4df01f7e X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 May 2023 05:09:52.1886 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: MaoMV8zR0pkht27ZiBuDF2uCT/kxI66xB26l0oJiwGTVwnWDL9zrm1mNfaIzopEPdB7PjVjgwR5m+UhvyG+cpg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7612 Content-Type: text/plain; charset="utf-8" This patch invokes chk_mptcp_info() to check subflows infos of userspace PM tests and endpoint tests. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/mptcp_join.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 92b226260ed9..e0ae26670809 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -3164,9 +3164,11 @@ userspace_tests() chk_join_nr 1 1 1 chk_add_nr 1 1 sleep 0.5 + chk_mptcp_info subflows_1 userspace_pm_rm_addr 10.0.2.1 10 wait_rm_addr $ns1 1 chk_rm_nr 1 1 invert + chk_mptcp_info subflows_0 kill_events_pids kill_tests_wait fi @@ -3181,9 +3183,11 @@ userspace_tests() sleep 1 chk_join_nr 1 1 1 sleep 0.5 + chk_mptcp_info subflows_1 userspace_pm_rm_sf 10.0.3.2 20 wait_rm_addr $ns2 1 chk_rm_nr 1 1 + chk_mptcp_info subflows_0 kill_events_pids kill_tests_wait fi @@ -3201,14 +3205,21 @@ endpoint_tests() wait_mpj $ns1 pm_nl_check_endpoint 1 "creation" \ $ns2 10.0.2.2 id 1 flags implicit + chk_mptcp_info subflows_1 =20 pm_nl_add_endpoint $ns2 10.0.2.2 id 33 pm_nl_check_endpoint 0 "ID change is prevented" \ $ns2 10.0.2.2 id 1 flags implicit + chk_mptcp_info subflows_1 =20 pm_nl_add_endpoint $ns2 10.0.2.2 flags signal pm_nl_check_endpoint 0 "modif is allowed" \ $ns2 10.0.2.2 id 1 flags signal + chk_mptcp_info subflows_1 + + pm_nl_del_endpoint $ns2 1 10.0.2.2 + wait_rm_addr ${ns2} 1 + chk_mptcp_info subflows_0 kill_tests_wait fi =20 --=20 2.35.3 From nobody Fri Apr 19 16:41:16 2024 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2082.outbound.protection.outlook.com [40.107.20.82]) (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 AE7EF15D0 for ; Sat, 6 May 2023 05:10:00 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PPWpVVTMSD1FaY3UVGuHQEvQgL9YO/vi4Rg7NyknavTNSlr+AidlQCJMyAqCl23b8iQ/228XZZyS6C4JQsqHa3Dvat63CTJ7zPoqzkzgjzTHIPn+9oeI0hcRd2+lg/JzmhDuHy6LSNFcgj0GuTaPTNJjpMFHLa07fyo2riIbFVOlfzR+ahystIb8tkN3HsVCWtWLifqruC7gYwVZe5IfrOOCjYCZ2FHjnEtctr2SgkxxruR3eOQ9BqHGXRLpMQxqP8zX/a7ECTKNmDxFkO1bO6+UrTbMx8S8SpN/mLm4X7xzUGZiIhL0Css2VHtmCBPprHLkJ4qPFEPlCBzl90WBuA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=PHxRVx4G6/sP2bQN0oZhNUblBloHIh51YlqYgH8YN6U=; b=WjyYpXFOZwiFec8TKtyB4JoZ2hsffnJexZgWVmgCXsp2nkm49f6vlIBgtlTSWM5u7wHrTz6XUxVF/aHYj1AUdz4HzUuXU5iNEVyV7fXfbTkK5DPIm2wIDKOO1K7pFkm07BSTj482RQyYInrY8LvOzbZrXIRRcsVO+paU1YwoYFicKwtBingxqp9pQdkVK3drHew00+HKiBvw7d8/bOWKnODyPUkDUPnE+ep1XujQIH6WtdJmKgcgaS89rZfez/vmNM78fMNeHLtJ34gosKNJKRHHf4zHumpXHsYdva1qEkBvABuuNRqPtAS+Igxxz7O1lZmjV1DMwTsqdNDAfW/K2A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PHxRVx4G6/sP2bQN0oZhNUblBloHIh51YlqYgH8YN6U=; b=hWplFrd1/1dJsM5XcXF0aJymxXBWnqjO7wahVcBnRNZvbHQWngXf5wnnwKCnThSbesXGm2XtHSvijNrGxxv0XnjAYVsYxjW1ifqONW3gxLqF2SXiVDCuNpOeouLpla62R02VCUJt6x0VpBj06USA40Ef/0NsVjeuugCHyqEHneNNEw/zsVxEvrhZ7P0ZIftcfLXiF2MliFJVUf/KcfiGMkhx3NtAtJoW77gjLznWVXjKprt1qakdcVNKjsxZmq8w1q18WxUDSdwYXTh7DPQoFQB1Hb93lvo2s+az73VSVzmEUoa6k6bYCm6DlcjZUWK3q6W2mh9sA1q3uUc9rCACCg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DBBPR04MB7612.eurprd04.prod.outlook.com (2603:10a6:10:202::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.29; Sat, 6 May 2023 05:09:58 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2%6]) with mapi id 15.20.6363.025; Sat, 6 May 2023 05:09:58 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v12 09/12] selftests: mptcp: check add_addr infos Date: Sat, 6 May 2023 13:08:57 +0800 Message-Id: <44a82b30ef051654208ff852923b37bd6b9e4c54.1683349666.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2P153CA0024.APCP153.PROD.OUTLOOK.COM (2603:1096:4:c7::11) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DBBPR04MB7612:EE_ X-MS-Office365-Filtering-Correlation-Id: 92e3232b-d3c5-4d6a-f5e5-08db4df02337 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: GmMi86rhcYyT6b0UtBeZbqORHGQyrtkl2867q6v/wg0OOWybHbcy/nkrTAYubWgvcjlykTVfqbUKtHlJDu17jzxjgkLO4PJ0n/+WjTA42lFKkwR/UUmDLZfh9GjfHEgwUCqcejvCjwxDEX0cILHDBMUDz6BnLpCEEQ3wRtgHmFDDLLhOHvAmprBJk7JmFiPCYIaGTrhIuO/KMIhFYAiOvKl5q5rAR7bqRlVSzai9Jz77N6DBBgQiMSIe58jWIPowSUPo8SZajaZ2AkI+9Qs7WjQxzw83+t+/JE9we6CiZbWkYN4SHGHeagdRxL4NU1TcpnB0ofeNk4O25IUDjyoLOFYJ8/Rrawy8xv4R8JObxqDaxetI2WCq4Lk4EGJJjTNcu71j88inJv37fdcAjpXPjiK705iOcyENga7k02lPAylimvW6WRrdCVGAil9LXwGrDtmNPDT8+07g8CZcSMetuyJTyZwqYMLjgANGigQQdtk9Hvh67zBYoUYYCdluepSrtwfAN8ZD/RVnTgB8g4+cv2aznI5zARJR+Pr4hy/VACRDkdNCFLKKz70ewkR2B1eM X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(346002)(366004)(396003)(136003)(376002)(451199021)(5660300002)(41300700001)(44832011)(66556008)(66946007)(66476007)(6916009)(2906002)(4326008)(8676002)(316002)(8936002)(478600001)(6486002)(83380400001)(107886003)(6512007)(6506007)(26005)(36756003)(86362001)(2616005)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?XS2YRu6cQf9PYqgYxXQjtpy2GFAdCpzuFY/89M9JcTCkFRX+BdBldxFxMOzZ?= =?us-ascii?Q?hXpGYtEFA0tdyshd+Vj4Ri6qW84T+eEzX0uYCl5lVSh2JqcEmySZYfETuyPf?= =?us-ascii?Q?qDgNibPSa77N5QNYq/T8IKoYMgsTah85B+hHv+142QsIyz4H5CA2kbfGgeYr?= =?us-ascii?Q?u14/6sTksSGDfNPeUpgzqT74gncD8zUk9J2YEeA+1Fv637OVAJmkfSBw311v?= =?us-ascii?Q?802SUHUKpvvyc38ug0fZPwAA8uNnqVw79YH9r2Ol8B+zTg9UA7PLcaL+3cU4?= =?us-ascii?Q?3jtg1cG/+gtbns0gwnB6VYrnHPhphqaYV0z04RFhj0yrzS7jo6/ArCCvC7vB?= =?us-ascii?Q?O9BGVVAKC4/EATR0L1ZosLrGJxp4O78i1MJqLLPun5Wjef1RBD7/kCj+jKAI?= =?us-ascii?Q?3l8+gIyIK0Uy43Dy0JTIyCpFV/ufhhlYLc12Hdk3wcqA5JV1WILDw1+3EESx?= =?us-ascii?Q?Kwa+ptcN72Nx7pQof9lKrxkXll63f4QhjfJ6mDAjV3PBc9t2hw2NZGibkavB?= =?us-ascii?Q?TEdh1mjaqeTEBnEJdeCvPt3rY6xu3Q84gLMvRjF6TZVPKbcCAmhPlyTBlzFG?= =?us-ascii?Q?xAFTpbIVOtuDidSch3psLiB6a6V3qWn5YaHbYOPzdzo5//8bT0iT8hrvr4M3?= =?us-ascii?Q?5BHlQ0WvsqAwAUqp+s6/6pm54FPYunQyJOcQSPl/SJyZuUbb74D3B9CBXasZ?= =?us-ascii?Q?TQllCg8MOo7PWJPe5GA1rVBs3jgJMlUZNzXZj4FpceC1qP/wbRc084EmcSFt?= =?us-ascii?Q?kAC3UlSWRftLUopTiwu8/OSd5iSM0waZwNCG9ISMolVoPZh80yfrqT8fa7UL?= =?us-ascii?Q?mh3zkv1EmiTYMV05USTxruSoF4bENR1C/f9Ybi75jdZjAwIp1Qg7O5PDcxn7?= =?us-ascii?Q?e2j8Y2mNla+t/R4zqSD1TLdiYlmu8n92gg6h+5hobvk+lvTd/z2ok/jNxf/W?= =?us-ascii?Q?GL524LkxP80JqPrzAEMvrtifVDNQegNKrsLbv7x48r1+nmfIgFv/miago5Uc?= =?us-ascii?Q?hIiDafKeX0pLRRYVl4WUl1iPEPDv0QEVsm6j1CXko2d40x+ha9sHwal0xnin?= =?us-ascii?Q?bIt/gW8+DiuGS7YLcwmrAwwbncmSvNxp7+d03t8P+6uX22g6W4j3LN1bJ7Cy?= =?us-ascii?Q?oo+0URYSm844nsHS1IBEea2CAhV8n+xIl895dQ5oYPMqLtEvLujRq22uh+8Y?= =?us-ascii?Q?P70gYY4EXkOF+07a8Lf8DFur6La336fVMMdVhnm0W+I7DdSWuXNw5m7yTQmy?= =?us-ascii?Q?yHOBttRgSdUwwYkHgbWH7TvOAtBmMTAhW42VIoRyi5nab3M+oIVRbXr9mwad?= =?us-ascii?Q?yN2qW+W/E5IO+Q8gUjkXSf+65KYSD6kZ+YvHf9P6YwphtpuTPS9/mR+QIXhn?= =?us-ascii?Q?itwBTc8DV5jgma7866yOwyQkGLuoq08h73zUw9I/2yX4kzn0eY9Ewgur1Ve0?= =?us-ascii?Q?0vADn1qSJ/2V795yj1ehuRaj4aRy/SKmOGp4pNKb99cN9sV63NRxwl8yh1T/?= =?us-ascii?Q?EDY9qsoKvzs1THN4JfB1rdVTX0pMjq36rfKQx/IfdjslVkzxfTmeIiiMd1BE?= =?us-ascii?Q?wg9y6/tSsfwoyrqGxX6DbMuiglE3M4tlMng4d57j?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 92e3232b-d3c5-4d6a-f5e5-08db4df02337 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 May 2023 05:09:58.4351 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: FQ7Nq1ajXwt9B+rgM3kA0FTspYLyzNQ4FwBFXguQZY8iiVoyiOujLS0h424u9MHnb3ODJVEJsqbF2GYRkJP83Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7612 Content-Type: text/plain; charset="utf-8" This patch checks add_addr_signal and add_addr_accepted in chk_mptcp_info(), and do this checks in userspace_tests() and endpoint_tests(). Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_join.sh | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index e0ae26670809..2973a4ca0833 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -1707,13 +1707,17 @@ chk_subflow_nr() chk_mptcp_info() { local nr_info=3D$1 - local info - local cnt1 - local cnt2 + local info1 info2 + local cnt1 cnt2 local dump_stats =20 if [[ $nr_info =3D "subflows_"* ]]; then - info=3D"subflows" + info1=3D"subflows" + info2=3D"subflows" + nr_info=3D${nr_info:9} + elif [[ $nr_info =3D "add_addr_"* ]]; then + info1=3D"add_addr_signal" + info2=3D"add_addr_accepted" nr_info=3D${nr_info:9} else echo "[fail] unsupported argument: $nr_info" @@ -1721,16 +1725,16 @@ chk_mptcp_info() return 1 fi =20 - printf "%-${nr_blank}s %-30s" " " "mptcp_info $info=3D$nr_info" + printf "%-${nr_blank}s %-30s" " " "mptcp_info $info1:$info2=3D$nr_info" =20 - cnt1=3D$(ss -N $ns1 -inmHM | grep "$info:" | - sed -n 's/.*\('"$info"':\)\([[:digit:]]*\).*$/\2/p;q') + cnt1=3D$(ss -N $ns1 -inmHM | grep "$info1:" | + sed -n 's/.*\('"$info1"':\)\([[:digit:]]*\).*$/\2/p;q') [ -z "$cnt1" ] && cnt1=3D0 - cnt2=3D$(ss -N $ns2 -inmHM | grep "$info:" | - sed -n 's/.*\('"$info"':\)\([[:digit:]]*\).*$/\2/p;q') + cnt2=3D$(ss -N $ns2 -inmHM | grep "$info2:" | + sed -n 's/.*\('"$info2"':\)\([[:digit:]]*\).*$/\2/p;q') [ -z "$cnt2" ] && cnt2=3D0 if [ "$cnt1" !=3D "$nr_info" ] || [ "$cnt2" !=3D "$nr_info" ]; then - echo "[fail] got $cnt1:$cnt2 $info expected $nr_info" + echo "[fail] got $cnt1:$cnt2 $info1:$info2 expected $nr_info" fail_test dump_stats=3D1 else @@ -3165,6 +3169,7 @@ userspace_tests() chk_add_nr 1 1 sleep 0.5 chk_mptcp_info subflows_1 + chk_mptcp_info add_addr_1 userspace_pm_rm_addr 10.0.2.1 10 wait_rm_addr $ns1 1 chk_rm_nr 1 1 invert @@ -3206,6 +3211,7 @@ endpoint_tests() pm_nl_check_endpoint 1 "creation" \ $ns2 10.0.2.2 id 1 flags implicit chk_mptcp_info subflows_1 + chk_mptcp_info add_addr_1 =20 pm_nl_add_endpoint $ns2 10.0.2.2 id 33 pm_nl_check_endpoint 0 "ID change is prevented" \ --=20 2.35.3 From nobody Fri Apr 19 16:41:16 2024 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2058.outbound.protection.outlook.com [40.107.20.58]) (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 37ED51105 for ; Sat, 6 May 2023 05:10:07 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=e1cvSMjT+Y1qV++rZlsPhsemD3SBFV1JplAUY3Ut58EwN9bnUkvMQBHIhVVFb65BzTsmINKzdOEGmUax55QbseJdQj38EW4nDRUcKyqkMmDVCiI4gq8CGf5jq6zlbsSwDc7Ak+gDCQAba6WjEWXI+Mui5ox22HyO/erdTqPndB/P4uQ/IWIEyqVSIOQcds0DYmcSEL7r+uS6meDVhu4o17hgLVjisEcVsFYacd9K8rUo0XztGW2kur7bt8+g6NE/DeytJAlTZnts5HB4UfnSDfR7y4/Igx4evNm0ZIcNPJBygaJZuPTlpvQYqExzy7R6zI+DAs4l51HZbDp56PzXKw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=nMilMt0cbCCV12gfgN8zJCdI5eDc0AjXhIzM2HWCaHg=; b=AsNNoxqjvspydsYcann3sYm9AbrWf2d2Gyt2KcBf7K0qge20134Lza1XW6pSmbDLJlWwX7z08akkDLaAoJ1pfx+yiFJ57swvy6DmmSSd2eAq0yXotIwZ2/BBW+fH5kHrhVE2v14TVx2dEU5srmCqN1h6K/wDnuJR5gJvuSVgdUQn6/vVlmCTwxqw5DoeEFoV1H3NZwEMb+5XCYxz1iaULQhKjC8UhMPq0NddlVsEOARltaKwiXWiKL/0I/dvuj6D3kEgU8ZmkaX/8+UI+5fqOfksMhvN0cq1oIjJdshdIwgWn/nPJI5q+hGkyFT6OOs86P2gYqjw5U4iZfJEyf8ovA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nMilMt0cbCCV12gfgN8zJCdI5eDc0AjXhIzM2HWCaHg=; b=EgrMWVoZWnsfhOqiC6YC6H0o0H98toUoalPJAyRkg2cHfQhF6CqSRLiAq61ByEmii2hFaL5NiSO0qZS3kLWuoueOguZz1c2YJJzq36o2+7ZCsjmfEpLwdknxrPFB0QCTh0Zm1G2t+WYByXbYzsvCHogQeVZuWILAwbtzD+NTeoK7C0Ak7QTfpBMuHbLrain9gj667J2G45fh2v6FzqwIoqzj1873zkEemntNmo8tm3Nt+6g3SaQZoqAx+gzm96MUSbXndBmjE6+M/i311kUJStol9MUD/Aq4TdA2ZZG7Brl+9CQk9/vk9yYxPdL90GRycCabtXWJZpTzrHTmA5sVZw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DBBPR04MB7612.eurprd04.prod.outlook.com (2603:10a6:10:202::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.29; Sat, 6 May 2023 05:10:05 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2%6]) with mapi id 15.20.6363.025; Sat, 6 May 2023 05:10:05 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v12 10/12] mptcp: pass addr to mptcp_pm_alloc_anno_list Date: Sat, 6 May 2023 13:08:58 +0800 Message-Id: <07016f2e87c5b611d87ca1761420187f87cdd803.1683349666.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2P153CA0021.APCP153.PROD.OUTLOOK.COM (2603:1096:4:c7::8) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DBBPR04MB7612:EE_ X-MS-Office365-Filtering-Correlation-Id: 30324a58-4bc0-4808-dad6-08db4df0271e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: lGOFftB9Q93vUr3kSIOWA5wjy1UHMJsi/ktF/lPNtLqM5qEsZhuW2xoOuzcEkQczVwhgES1OnuG49+qoEw6fAfp6PEOFhgo0GeO1nNOdlvn78OAi//VkA1WlowzYxBp5R/vP4KxL9+hwx2nAgRA1E/9G7diyDYp0UMO9Dfbe2Ys2JUxDdWcHeOLOvKrctn5zNnNVaud4LjtJGOu+xCaiqA03fpKfNcJoDBocko9SfnNJeKs+At3EUSQziMGKCWG65KJN2Uact94zdG/FibX8a+SMt+Y7DpWc36IPFF8BdJx2E14dSz2dlDiS4nsx0SP0wc/NlTcIkxMKcS6yiuIJvPA3DJ9t6SF0dXcihyb0vrQgNu1L9WhrnEEW+HckzFdAOj5PpTt75NPWcHgaXi0p61ElqK/XUxWLAU+5/bS0qnRy7mDo3lKfVr6No5BSWcku6Ue6YoymActhKiN0fanWr1naAVfhj03DxDYYGbanOrfWtoe/BZ/Mp2ExvCBEpSJm4OobV85tkFtW/Cuq6DHBcb2l8dHouqJgfloa3OKdKxIBHc0wTP+OsVodKTE1Uo35 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(346002)(366004)(396003)(136003)(376002)(451199021)(5660300002)(41300700001)(44832011)(66556008)(66946007)(66476007)(6916009)(2906002)(4326008)(8676002)(316002)(8936002)(478600001)(6486002)(6666004)(83380400001)(107886003)(6512007)(6506007)(26005)(36756003)(86362001)(2616005)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?IGf9G+7g2A9yUD3iz6yfvlfiBcP383EkZjln6sprmmenSM16EhH6Rge/Og+N?= =?us-ascii?Q?Ix5v6a+kV2QosqDI8RehiFIV+nfdu+QVY9nFF+dRQVN9SZGo4zZ3z8znWNt/?= =?us-ascii?Q?pelhjz9RW2KwDaFfKVLwV7/xNyzkmJuy+DNgcPWEgozlo1G9rMsqmzZZRKz8?= =?us-ascii?Q?yK7HTCor1LJqzdE29X432nk0wysLBUwQqZv5B5X1J1Bwcz+lwj2GCoxbzpBn?= =?us-ascii?Q?f/lP2gFdjXAVZxv5DDKLOft/7GCF8lrwiU4+ijtNl2jyTxrrgkO+uXOwfvYS?= =?us-ascii?Q?V+qku/pXEH2gl4YzbTtT54Pygyyp6e+uqJWxZygHwx8gORrnaZKvC96xjL5n?= =?us-ascii?Q?eGN2UN4OLArRS4GA47M85AQikC3fjpnRIYNSwmrOQMRDrF7ncTaQ8gLnWJpe?= =?us-ascii?Q?2aEM7q7xfsWXIQehHYr6znjS0ajiJWNhWVal9oMqNei4nZfbBckYrAuIsaAJ?= =?us-ascii?Q?je03VTUaUgsOeDShbf9eF45GtOhDI5DXPKMFHSoij6mZ3HTB+reIX32KOC1z?= =?us-ascii?Q?n71IZ0meJCvEn6ZEyA1YxH8wge7Cp/ZnXO2Cf/+SPyqAFMRZLLVdaxe5FA1I?= =?us-ascii?Q?wBTD3I45wqgpKff6WCVGCGpbDwzeME0usFTr+BfZ9S2aqvSenEG4x5tYrTkK?= =?us-ascii?Q?IPOULfUFC0oqQ0rqDRtynUAf6aMOGUxLbH2XSjgyvIMwzTeL11fC03rbngZ9?= =?us-ascii?Q?lZIWOnPv+Ok2JTJI3Hry/r8VoDDaknKbVC9jdr2LxyaTGgeIveXaO9NSPQOn?= =?us-ascii?Q?tYxriqqjfBd8uR/NxPYn5VxO1DDnPajkAYS70D4AwohohxIIrknZHaa3zbE2?= =?us-ascii?Q?FcwtsGVGmMsKhxIq92y+QFid4gsol7s/J+3WpBLizp3CzGoWjuR1jPATP0Fa?= =?us-ascii?Q?X+1RPe6Hzuqh3CIMEhdJLZVa6AELNaifRCqlKIFUpVdLCOdDmkAUw4rDdXD+?= =?us-ascii?Q?lZlx6E47qahWsCV4pcovqppMsXZSoUJ+b0c4z5AjtqOI0kXMXSLrwRWbCp8U?= =?us-ascii?Q?HV9tbEwkm1JopVNQ8+td6pjAbSX1aDNU+qVyLcg51zd8Rfur5fm6ylHxDiH5?= =?us-ascii?Q?yY16gz5pk9550zyfxca4yXUoQhfdbFy9A5/g1zQSkyavqLkUHfZye3EW8gCz?= =?us-ascii?Q?aRnzywkAIQaM4Xp6hErxLGA1zQZQ9rb3NaVRKa2V8IaWkfHQMJLnj9kSLJFI?= =?us-ascii?Q?zidqI36gnqQfC2EPOtjgah0aRUOCLFdBcoa9+1j0FYeKbwVBuLZemXU/TMBF?= =?us-ascii?Q?x27/VYKu3e5WseKC82vNaBdV9Lk5qXobeVWGFQX5cyCgW0ib7Lvt7tgSEkJc?= =?us-ascii?Q?1g7SS7pYNVAGeU+qhfAP0sCLpLjrdXfUWJLcEctxgLraAJKw0hCBtOG6ZBnq?= =?us-ascii?Q?MYYZ3GiC+QjTmL//2dgTP7Uq6xRIwbT3C9AbNsCKQXsfinyzRItM54BnE94o?= =?us-ascii?Q?bw5HGkuKVseXU4HaqErlGFfNMkSNWqA5j1VZf4fDTSc4qtRAjkus0HxisKrU?= =?us-ascii?Q?o7Xwoq3peBiZqe9/typnXAXwyk+vq1P70Ct4ZmLvlEAmIHiyOH5rKHJhjuU2?= =?us-ascii?Q?AE/tghqrKW8tiEJwGlAVih21RAIArLOPBHf4OBOp?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 30324a58-4bc0-4808-dad6-08db4df0271e X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 May 2023 05:10:05.0047 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: XPY77acDLLNGXAzIRaNFN2uabhYZklfOI/J3Ltvcerb0+LTdPu+qRNE4zGbsIE+9mZuir8W1iH0yYqorWERvqA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7612 Content-Type: text/plain; charset="utf-8" Pass addr parameter to mptcp_pm_alloc_anno_list() instead of entry. We can reduce the scope, e.g. in mptcp_pm_alloc_anno_list(), we only access "entry->addr", we can then restrict to the pointer to "addr" then. Signed-off-by: Geliang Tang --- net/mptcp/pm_netlink.c | 8 ++++---- net/mptcp/pm_userspace.c | 4 ++-- net/mptcp/protocol.h | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index 0b34b57fc8bc..ac68c8a5b8ae 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -342,7 +342,7 @@ mptcp_pm_del_add_timer(struct mptcp_sock *msk, } =20 bool mptcp_pm_alloc_anno_list(struct mptcp_sock *msk, - const struct mptcp_pm_addr_entry *entry) + const struct mptcp_addr_info *addr) { struct mptcp_pm_add_entry *add_entry =3D NULL; struct sock *sk =3D (struct sock *)msk; @@ -350,7 +350,7 @@ bool mptcp_pm_alloc_anno_list(struct mptcp_sock *msk, =20 lockdep_assert_held(&msk->pm.lock); =20 - add_entry =3D mptcp_lookup_anno_list_by_saddr(msk, &entry->addr); + add_entry =3D mptcp_lookup_anno_list_by_saddr(msk, addr); =20 if (add_entry) { if (mptcp_pm_is_kernel(msk)) @@ -367,7 +367,7 @@ bool mptcp_pm_alloc_anno_list(struct mptcp_sock *msk, =20 list_add(&add_entry->list, &msk->pm.anno_list); =20 - add_entry->addr =3D entry->addr; + add_entry->addr =3D *addr; add_entry->sock =3D msk; add_entry->retrans_times =3D 0; =20 @@ -574,7 +574,7 @@ static void mptcp_pm_create_subflow_or_signal_addr(stru= ct mptcp_sock *msk) return; =20 if (local) { - if (mptcp_pm_alloc_anno_list(msk, local)) { + if (mptcp_pm_alloc_anno_list(msk, &local->addr)) { __clear_bit(local->addr.id, msk->pm.id_avail_bitmap); msk->pm.add_addr_signaled++; mptcp_pm_announce_addr(msk, &local->addr, false); diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c index df09ebcc7a35..c15cb751e25e 100644 --- a/net/mptcp/pm_userspace.c +++ b/net/mptcp/pm_userspace.c @@ -191,7 +191,7 @@ int mptcp_nl_cmd_announce(struct sk_buff *skb, struct g= enl_info *info) lock_sock((struct sock *)msk); spin_lock_bh(&msk->pm.lock); =20 - if (mptcp_pm_alloc_anno_list(msk, &addr_val)) { + if (mptcp_pm_alloc_anno_list(msk, &addr_val.addr)) { msk->pm.add_addr_signaled++; mptcp_pm_announce_addr(msk, &addr_val.addr, false); mptcp_pm_nl_addr_send_ack(msk); @@ -338,7 +338,7 @@ int mptcp_nl_cmd_sf_create(struct sk_buff *skb, struct = genl_info *info) } =20 spin_lock_bh(&msk->pm.lock); - if (!mptcp_pm_alloc_anno_list(msk, &local)) { + if (!mptcp_pm_alloc_anno_list(msk, &local.addr)) { GENL_SET_ERR_MSG(info, "cannot alloc address list"); err =3D -EINVAL; goto anno_list_err; diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index bfa7d93a1c1a..c08d05f48372 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -822,7 +822,7 @@ int mptcp_pm_nl_mp_prio_send_ack(struct mptcp_sock *msk, struct mptcp_addr_info *rem, u8 bkup); bool mptcp_pm_alloc_anno_list(struct mptcp_sock *msk, - const struct mptcp_pm_addr_entry *entry); + const struct mptcp_addr_info *addr); void mptcp_pm_free_anno_list(struct mptcp_sock *msk); bool mptcp_pm_sport_in_anno_list(struct mptcp_sock *msk, const struct sock= *sk); struct mptcp_pm_add_entry * --=20 2.35.3 From nobody Fri Apr 19 16:41:16 2024 Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04on2089.outbound.protection.outlook.com [40.107.6.89]) (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 AFDB915D0 for ; Sat, 6 May 2023 05:10:13 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Vfdca/bzEm4b/raMgx+ZXqN3ZtxLcFVfxzesH6fhKFqYwapalnsBL8H4hkcOpl0/R8VFOkZCA6VofHtmlEUIORzTPKl5DIWQZvO5cHI5yef+PrH6W1TJMY8BfAj77HWiS4WkAyPPl0/Ms54vVVA0zhzPmXJqC9bkZmoXQu0A05FRX93LYHTUQtX/zQv4oKEqo8AiSDu4VBCDjh8gi+sElmFbykKc6PRH+WpYlVO5GnS+EZAZC+G8szlUMtOagmIz0yL/ztlutl73gzMGe3mA6z0uIVQNgazQAcb2yT4GyU9csDMBf22F+kDjdcWI7qcb1ic7lVefTSYCbAw+eaETzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=kJs0ashKyKbAlbgVTEKWukn8YXWq3FqI2KW2vap1HA4=; b=jtdkCps7JNgoossjuPiFWBFnH0DtGUJioE+2ftzcVNOAFxh0ikO7ahpdEt2nR6Tr4ncELRUrouyWbpJ4gSRz+0C3oDO8l4izsft9bVlxqFabn8J1ntE38+AyYV6YweudE1eTj1qtW+e11QY0J4DIQN2Vq/C+JXs9xqYY1TeKO+1M8nYiBI15gOTckkUu750enwrQirC0PW2l1fcnKkNYJpXnt5KIgKP2zpNfdQNiME1gyCEmqWzFiElV63jrfzMgZbuAs5TVuSZfEbs+KiQ40cSjli3c3XFa7EwNiiDctW+iOoxNfzF/xqTfbLAwYCmhwYF7PnIWlu5sBlMyL1ioYQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kJs0ashKyKbAlbgVTEKWukn8YXWq3FqI2KW2vap1HA4=; b=sFg+17eJbASkMfG3fbQ4e7frBasoOh4/7ri4EHzJopXYQWe/qL10rb+0cxE1T9rzk+f35Us94IniH5lbwt05P9fD+q+MN8nxRRIK2MTTGrC882A6IunXOV1upvaPoOTuhb2ZUr5exxRuXKh3+/VON+9D5t2geQJKjhmG+w89wX/upxhxBbNa4aYULVU6QiPzkyITPXFsThjNv6HI3S1l59hrCDqfbrlqxa7QWujJd7bsWnPmbxVXk7LaZ4biIj+hZWYF76bDPAb6K2LItemW7lLmbGcmZkpUTyQzURRv50YI3/ohKgmXx+NadllOgjEFxH03AV/nEiFHFbwe1aVcGQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DBBPR04MB7612.eurprd04.prod.outlook.com (2603:10a6:10:202::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.29; Sat, 6 May 2023 05:10:11 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2%6]) with mapi id 15.20.6363.025; Sat, 6 May 2023 05:10:11 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v12 11/12] selftests: mptcp: pass fastclose to sflags Date: Sat, 6 May 2023 13:08:59 +0800 Message-Id: <2d9e265f230b4af2731136ef375c46d1c4501c04.1683349666.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2P153CA0033.APCP153.PROD.OUTLOOK.COM (2603:1096:4:c7::20) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DBBPR04MB7612:EE_ X-MS-Office365-Filtering-Correlation-Id: 4eee206a-be13-4da2-d657-08db4df02ada X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: byX4CiNXP0LgoxKt3t44sjwAG/d6ytGBAmtK152u2cmDca6AzeZLH6kKbH+FHEA7C5Rm0YvZWvKsze/Lfb7ZAPIBtxi9VcM/IEQXEPy8bN3nmZAS31wk80bWesD0wSIHCzSHmemtoCsS1KPfkn5OvQ7eMQqrFjwFx1hDGXqZ79wuH1yJZRGQbDetHSZQ999sTj5fBtHyo2roPCNI/f6NvobjkMUTxCUrrCjgEZtAkr67SXPctuNCOssYsLNDec9Fez2hHN4Xj7eK4DVgaLOQvJP2vdCVoByJjdgNeF+qmy4SsHNe0n9DHu481mBGDmEIjx9nUibvYWxf289v4t38s40hK7AVhV7OsG4lJXQNXTtBR1N96WqN6SOmo3SbzX9+2o0QY91+J4o4dqu6M58qCfkuiEKrJR7t8EFNjG04sH0Q+7gVFDaFMK8bc2+xAz+QVermLOVZP6j5C9JWnuuCEWjF2+YeHzHGmlJ3ht6tMLMSBK69I3EPaf7N/MLqLJj6O6Rim4BmPRWzrot+IUDkp4wubiisMoyJspALxC5qmZLaap9wRhWV/lJ3cvEL1qLn X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(346002)(366004)(396003)(136003)(376002)(451199021)(5660300002)(41300700001)(44832011)(66556008)(66946007)(66476007)(6916009)(2906002)(4326008)(8676002)(316002)(8936002)(478600001)(6486002)(6666004)(83380400001)(107886003)(6512007)(6506007)(26005)(36756003)(86362001)(2616005)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?XqrJ8bw4B/THv22RPwI3P/CcPW03S/pedaXTafl2x8ug99tSZFJVDTsK3f6d?= =?us-ascii?Q?LGAVPogArLHOEHSiTYzze7GKzAe6o3J6RdBqhP/AIC+QaEyv8ROz3e99LIdr?= =?us-ascii?Q?uR0dSejX6BoW4X1+AWIXS26XSnYGnfY0FKSOnkF4w0uHoTrrCO1Mn+pLnpD7?= =?us-ascii?Q?fCyv4Eh4vFxXuqga+UivBniGuhDct/rWg48TskrOd85Nt+oYPIk8qM+i+lr/?= =?us-ascii?Q?UXnePHK+5rytULlS2LhZ6m+bUB3973A90ndQuiuRdq4nmSuNv15Qf2yrupp3?= =?us-ascii?Q?zzLJEVSoq55Aziz4HkLrG8ovbxC0biLAuOAjI4ZxK2zaSyGbRzsAc5uzekAn?= =?us-ascii?Q?GgR5Fxbunl2lF57eRhX6wkSjQNV+8nidoPL4hl0GZ1dHGIQl9KSZiOv+Zpex?= =?us-ascii?Q?Djc5kAkG6yNRDpHjy3OTAJaO+VD9SywBCraI/9zzsbOe0gXwYz9CkxWOO48e?= =?us-ascii?Q?j7BiifxEwxXHN/I17tHi73xbmwsWaL6glCEWgCx8eFe0cSIH1InxwE1v23g8?= =?us-ascii?Q?thJrcIRiSQ6Yl+vLx2VWbDKjemsUhkYGcsqPZK/Prvy0YYtSY2Nw8uRmGq88?= =?us-ascii?Q?jttPTXQLDkCSiP4gnFJYauXnV1ySFwrppbqvRg7vpaNx4WwQ61K7hll5b4RA?= =?us-ascii?Q?j4WbV1zofzWJIEpXuE7dqfaS2u10nPQ8AWaMPfQB5e2slQZw11DU4gYWPCBv?= =?us-ascii?Q?3NF/EDHtFjXRPKrD0IsgShXaIro8RFyHp+Y1OQHz3OClPSvMJkkHjIMr8icp?= =?us-ascii?Q?trU2ybZ4Go8zVKBXZV8McwfJSBVVuTl+bqGIecFI74cjCYXHIGxw/3gwKf5x?= =?us-ascii?Q?fSaFGfSQv6/hf5VF9aTnBiISSQoHL0ekjlwMLf+HSkBINnuong75/wvda8xd?= =?us-ascii?Q?44EYXBsFS1mzg0pr2qWITMWQdIDMJNIQKs+Nf0EMmK5hqxyfKnZ7bPXApUNf?= =?us-ascii?Q?/odAk2sBcL28wVSIp8LiYKJSicDmovt4VCQjlEyvmR71ZiDDeewnLRKbD20s?= =?us-ascii?Q?JbdnJb4Z41zKgM/xMIKmIonUoLf0ZAqKb19Hs57Rfy99irOrPTDPsrEk9vbP?= =?us-ascii?Q?+agQwiQojny1/qe/FvhiUvOn0Gib5jpF7aBSiv/R4n2/tr8J6suCdj2Sp2Yi?= =?us-ascii?Q?2GFqC1pTV8qA7e7Yv206A55nz2chhkelgjQyEdYBwe2BivxYvljOoysWepB5?= =?us-ascii?Q?46GGgK7XvnPMItchQScOCDTokWiLQxTMEVXi4loIgHkrU8iN0YLTL+m3tG/J?= =?us-ascii?Q?pbrJBMuexujeOyDVRL+1tB05Pj9qjySLKZ5xXY/wGRsEUSivw4WDx83hZZXM?= =?us-ascii?Q?RG3+gDDpjMDbGmarM2v2aLlc5MdiO2vtL5r9mB2Zl+l4oRGFHKrNB+wa2t6E?= =?us-ascii?Q?DGxdX7nb2aBGtuFR1rIdU8eYRu9BmzCXROxSaC5ndgMmuRhBJJ6MY7PoTgBK?= =?us-ascii?Q?3SnSuB5Y6reJIlQty1zSpOYuoZ8fCyJO8Jw94S88EQ4yvvbmaE2hOLP4NQyD?= =?us-ascii?Q?BBhFsL0rIs7N7tqXXSBRyTZ0wjbmukiIJ6SxYUkHF2NxBt6SbvNHqBlFzkfX?= =?us-ascii?Q?5KMqtbi6Sjwy48IItsXnfA/Hqm5v9VPcGbpquRnz?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4eee206a-be13-4da2-d657-08db4df02ada X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 May 2023 05:10:11.0644 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: d0pWneu7FHFaycg4JDr8tglO/GEeysiFbohjmyvEL3kPQW9oxl9mUR8jiSdukFfYPepxknr+n08Wx7ycMdWGQw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7612 Content-Type: text/plain; charset="utf-8" Pass fastclose flag to the sflags argument instead of addr_nr_ns2. Then addr_nr_ns1 and addr_nr_ns2 can be removed in the next commit. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/mptcp_join.sh | 13 +++++++------ 1 file changed, 7 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 2973a4ca0833..6c4c1dc817f5 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -763,7 +763,7 @@ do_transfer() local extra_cl_args=3D"" local extra_srv_args=3D"" local trunc_size=3D"" - if [[ "${addr_nr_ns2}" =3D "fastclose_"* ]]; then + if [[ "${sflags}" =3D "fastclose_"* ]]; then if [ ${test_link_fail} -le 1 ]; then echo "fastclose tests need test_link_fail argument" fail_test @@ -772,7 +772,7 @@ do_transfer() =20 # disconnect trunc_size=3D${test_link_fail} - local side=3D${addr_nr_ns2:10} + local side=3D${sflags:10} =20 if [ ${side} =3D "client" ]; then extra_cl_args=3D"-f ${test_link_fail}" @@ -785,8 +785,9 @@ do_transfer() fail_test return 1 fi - addr_nr_ns2=3D0 - elif [[ "${addr_nr_ns2}" =3D "fullmesh_"* ]]; then + sflags=3D0 + fi + if [[ "${addr_nr_ns2}" =3D "fullmesh_"* ]]; then flags=3D"${flags},fullmesh" addr_nr_ns2=3D${addr_nr_ns2:9} fi @@ -2990,14 +2991,14 @@ fullmesh_tests() fastclose_tests() { if reset "fastclose test"; then - run_tests $ns1 $ns2 10.0.1.1 1024 0 fastclose_client + run_tests $ns1 $ns2 10.0.1.1 1024 0 0 fast fastclose_client chk_join_nr 0 0 0 chk_fclose_nr 1 1 chk_rst_nr 1 1 invert fi =20 if reset "fastclose server test"; then - run_tests $ns1 $ns2 10.0.1.1 1024 0 fastclose_server + run_tests $ns1 $ns2 10.0.1.1 1024 0 0 fast fastclose_server chk_join_nr 0 0 0 chk_fclose_nr 1 1 invert chk_rst_nr 1 1 --=20 2.35.3 From nobody Fri Apr 19 16:41:16 2024 Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04on2068.outbound.protection.outlook.com [40.107.6.68]) (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 49F361105 for ; Sat, 6 May 2023 05:10:23 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MFVbmb9rt+S3ylcQUgO6+CTOBIP0IwfZs7zx4iOnq6I5m1jSwhazFbqglX+jvTjheh+6t6wEjyhh8v/Ncu3lZao+DVRW8qtXOxTyt3jvLxtYpfB8RBB1mY9wwExDeMccQ32fNihbUd0dBDOXoVAE+Q8B335MkUgVumTmsiIoW7ZEx+tLShRfW07AdQ3NCzC/FYlS/t/DnwLrDcRJyUVa6xwljmPtKoxEnSx/I/g2Hq6afdTBNFOtuDEfp0E/jgn/5sLkpscnWL5vujixezXzbqYhjrsY9q/T9iZ2hxPfaHpEjAmfNrjGapCL6ONmByt+61TygHt7s2EmUe/i2WW+Kg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=lPpfqvDwANNW5jAO2c/cYbsHsHiCbI3cd2jZwC2CSLE=; b=EtScF6a7UFJeV1UWd9ROAaJEjur4hn0zPL89poiK3q7qeubrLWeVmqApQ5sC6kBz+E518CD2TRkW//Bm93Ib4xGbLPt2k7CWrxGMBDNrabwt3Y3AB2wCWXTvnH8rPxCp5SciQcnghTi2FKg8BMWyZ/KORpZiho30ZaJv2aS+SPKdZzULgYUwl0lkKLrC7kjg2uZQTMBkqLPHj7eGq6cLXQGpg5T9GUZgIsJyRznXE6jDceU9Jn/htC+eQWnJcslu/uRN/S200h6Kruh5vZhSokU/2F2H9gE1UmBQiq7RD9uRyD9IFXYWx0Odz1Iu3vyafQLrn+inESoyvLwrKOXF0A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lPpfqvDwANNW5jAO2c/cYbsHsHiCbI3cd2jZwC2CSLE=; b=vHJBxIKXjdJrKLdqZILfAPK34wMqUYbUE4hv28feucm+soWSLMFf6G4YNbpt45bHdxepD2pIMGuKKtuboqWBoR6cK7YXPCi+H/o5DtC/NINstnB3C3zTX/DJF9b1TLsDm6aMwHYr5HehE5IskExS5mm47S/jKUXYHyBSpLoFGIRXXXPh6SHn5qv5XXy4KjD5/SdXwqaYquMDsvvl0pf2eHAsu376nr6VLXYGgaIgJ5Q0w4UYaj+rVC0m5/azyu/sQu3awIvDhJ0aD7cS+R/BnMVIan8alC1djN4To4nVVTN0jShnR+60h5YYyUWJJOkMWWd3eLcnTcCvK+T113YYMA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DBBPR04MB7612.eurprd04.prod.outlook.com (2603:10a6:10:202::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.29; Sat, 6 May 2023 05:10:18 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::ab8:3754:66a1:2ef2%6]) with mapi id 15.20.6363.025; Sat, 6 May 2023 05:10:18 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v12 12/12] selftests: mptcp: do endpoint manipulation out of transfer Date: Sat, 6 May 2023 13:09:00 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR02CA0041.apcprd02.prod.outlook.com (2603:1096:4:196::20) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DBBPR04MB7612:EE_ X-MS-Office365-Filtering-Correlation-Id: 4c1beb89-5206-460b-9e9b-08db4df02f49 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: yTJCDZZHIHd9bkwGcOVlB/+ntOlGPaMFwJ4LY/SKdqHXILb9cw5PJAh81zhYhtTOZnpUMZaiTwmHA2lVTAlrmRTJtlY7cgCWpTX+BjKLMMsRZj51hnuJyTpHKsV69P8gPa/GkDq0rzO/NfAxT+80g/NgtPulxxPGNm+HR8T7uV9PldHwzkT8/fPnidMwvqbI6uV9YujEmSfDNrtC9C6Kg3X3NAypLW+SeMB18E1kVIS3hIXaCEucgqPAiylUy9FLIjDGaAaSevI0w/Il1Vh2grAvkm6XE6/f9P8yS9j3Q+/gqbF3ApIhxQpd1n+iknphbh5a3k1Sfk3/hDMnFjWvoTnLffnyTLoyMhDzZJSkHBqtgd7vium4LTg6kRktqXGiJcsRPHWitq+cL25Fg3v8evz6Keduv+yjdRk0qDfl65/4n7mjcpXjS/upoehFB2XxvpJuLhSC1J6pdicS+TUp0Wqax/o8NLa2Aid5ledAJAOQZ1fa9u0qe28nRFw9rkjW2NJpT08rIva5dTVEIJKVe1w+qOKyjWLS3a1AkknDmf5CMyqTKtP6/WbC3K4DG+CQ X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(346002)(366004)(396003)(136003)(376002)(451199021)(5660300002)(41300700001)(44832011)(66556008)(66946007)(66476007)(30864003)(6916009)(2906002)(4326008)(8676002)(316002)(8936002)(478600001)(6486002)(6666004)(83380400001)(107886003)(6512007)(6506007)(26005)(36756003)(86362001)(2616005)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?MovTQv+jkpc5gPhPW2n7bLDpa6koaUpHwFzlCOAPkp/yUp19uI9D0pEaas6l?= =?us-ascii?Q?x1omBm5pgtya3Ga9DtDtfuNxUz2fhKi41Gdh0NKICLOUmZewIaLDSylOKYKy?= =?us-ascii?Q?Yuuzh4WPB+WaQhsIPOyKItTCeST415PstSdY1AxDEVFJPH6RZM9SYYvI31rn?= =?us-ascii?Q?OAFCL2MIKoQCAdxfQc/SL8iWGTCopOp/OpSOwcB5HV1iAEi0ecHDq5M/IH9S?= =?us-ascii?Q?cDJKb3oFIvhqqXtfvKtNYxI9go9MbkqEMHmqST4RTU5hkuY/THgHzVGQdRrY?= =?us-ascii?Q?H2UfNdhrd8H6uk/UBSzqMXVk/eBVGV3aZBBRI0/QCSDWLJLyy/lgZFl2f9dY?= =?us-ascii?Q?rL8UEENVua8JN+UVTDnpDDI43iAKH3ai11WoTJYBLuxPo6nn/5yVHloQUtsS?= =?us-ascii?Q?+7MkZeu9kvJ1EuXms70LUZe1xVWPp2eXb5Wur/JPotLDRYYoj7JewDyJsvvK?= =?us-ascii?Q?vRl303Qat8geqPeLXXTCrskhxlzOOUHZkC6DzedEBPVTwtfwY+/Hi9JeBM0V?= =?us-ascii?Q?ODhKM/rAteMUeflPbz7GJ9E/39uuCrunGqXB9RAqY4jxFiU/1nS0hyqg81cz?= =?us-ascii?Q?qRnxSy0UyfjLnzAfb3B/NTbGwZuw22ZdZJsDmQ2eXKTXdSTOCP8k7Lt6Y5h9?= =?us-ascii?Q?QQ0OsjiHigjgOEm4g59yVw68CNdDrP/GwPZOWFliUFmIHJwJkz5VI373LnQy?= =?us-ascii?Q?zNdX+ZnaxYFD0g0fGcT7Myus/vmTbkUGt0UcCpXyF8btuGcHcciFSR3AsMPv?= =?us-ascii?Q?tTFDXc5r+0tj/YcS4NKi6NV8Ii5P6Tnj2EAIqcOb/wpCZ1kM3nc2jGBgik0f?= =?us-ascii?Q?kkI0/0PsB45/u3l5VHyu/ohgJ9HRykuFaw+Ny5oEHo8+uTo5wq/NIN/wc+vp?= =?us-ascii?Q?3cMo6IWqdNum+886CK5XaMUpNUfJUTdTtClhtL+MoiFMU393c0lygoxXP1AB?= =?us-ascii?Q?7RPeTDjYbAJbq/cEtJNRsxTH1COhZCnN2ZHeNogpFrROFnXu90iI6oc9tsZP?= =?us-ascii?Q?F1sv5SiTzMNPdsGRhrp5lgxA5RVgVGwh+YmNTW1/oynjPPYAvrp7Z7AuMpsB?= =?us-ascii?Q?JhfYlgu3Q1SO835SadbyglFQT7nPpcSrTnF5Z4f+CGffY6xfUz+KQVABquj3?= =?us-ascii?Q?qcTPt4FtGqXJVhFLLImSs/umrae+olHQet44z/XPm5J7CRAEcky21u8mDsZO?= =?us-ascii?Q?zda0GUt7vl/gs18/okach1FJzLa2bO6b6cW0HOZOI7AFykYlIiGqxSCw7T0k?= =?us-ascii?Q?iTxDWa/1rGA0MvxyOQj7mu2piFI0aDbJQxxg2XmRzTKwDkCi0P4UBJkQF5/x?= =?us-ascii?Q?X6urr0Ph7SEXps/o0KLwVV+UzFRP2cToB9GXrQAy4Tf1CYqJYQ5VnRuOI5aQ?= =?us-ascii?Q?lvbXArBd+aofL+n3FSlIfcaqsDvTjP4S864CoDtXg2i11ZQb7sGauLjRKoTz?= =?us-ascii?Q?XJF3JjVKUsq6+c1VSuRsB2NXhHAETdai5PjRlBzHfGREJ/iytp5VE1itf7dX?= =?us-ascii?Q?YCzcCg0D313kW1TZUuYV3MApfjup39/qXmyBqip+fuVODlQK/dj5yWfSgC+G?= =?us-ascii?Q?dXWi2gZDv08zx3dlmYzN5Fc+X5p1xV8k9cZjvYBU?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4c1beb89-5206-460b-9e9b-08db4df02f49 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 May 2023 05:10:18.7801 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 6PAKMPDipGW0OWQp/2OWl838LuaB3nGk8minvR1DH5x1n3zoT+IiVKumU5zunA+bMW2SyMeYz7wBY1VkeIlKHQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7612 Content-Type: text/plain; charset="utf-8" This patch moves endpoint manipulation out of do_transfer() into a new function endpoint_manipulation(), then addr_nr_ns1 and addr_nr_ns2 arguments can be removed for do_transfer() and run_tests(). Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_join.sh | 525 +++++++++++------- 1 file changed, 309 insertions(+), 216 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 6c4c1dc817f5..1f04a9627ece 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -716,10 +716,8 @@ do_transfer() local srv_proto=3D"$4" local connect_addr=3D"$5" local test_link_fail=3D"$6" - local addr_nr_ns1=3D"$7" - local addr_nr_ns2=3D"$8" - local speed=3D"$9" - local sflags=3D"${10}" + local speed=3D"$7" + local sflags=3D"${8}" =20 local port=3D$((10000 + TEST_COUNT - 1)) local cappid @@ -759,7 +757,6 @@ do_transfer() extra_args=3D"-r ${speed:6}" fi =20 - local flags=3D"subflow" local extra_cl_args=3D"" local extra_srv_args=3D"" local trunc_size=3D"" @@ -785,11 +782,6 @@ do_transfer() fail_test return 1 fi - sflags=3D0 - fi - if [[ "${addr_nr_ns2}" =3D "fullmesh_"* ]]; then - flags=3D"${flags},fullmesh" - addr_nr_ns2=3D${addr_nr_ns2:9} fi =20 extra_srv_args=3D"$extra_args $extra_srv_args" @@ -830,145 +822,6 @@ do_transfer() fi local cpid=3D$! =20 - # let the mptcp subflow be established in background before - # do endpoint manipulation - if [ $addr_nr_ns1 !=3D "0" ] || [ $addr_nr_ns2 !=3D "0" ]; then - sleep 1 - fi - - if [ $addr_nr_ns1 -gt 0 ]; then - local counter=3D2 - local add_nr_ns1=3D${addr_nr_ns1} - local id=3D10 - while [ $add_nr_ns1 -gt 0 ]; do - local addr - if is_v6 "${connect_addr}"; then - addr=3D"dead:beef:$counter::1" - else - addr=3D"10.0.$counter.1" - fi - pm_nl_add_endpoint $ns1 $addr flags signal - counter=3D$((counter + 1)) - add_nr_ns1=3D$((add_nr_ns1 - 1)) - id=3D$((id + 1)) - done - elif [ $addr_nr_ns1 -lt 0 ]; then - local rm_nr_ns1=3D$((-addr_nr_ns1)) - if [ $rm_nr_ns1 -lt 8 ]; then - local counter=3D0 - local line - pm_nl_show_endpoints ${listener_ns} | while read -r line; do - # shellcheck disable=3DSC2206 # we do want to split per word - local arr=3D($line) - local nr=3D0 - - local i - for i in "${arr[@]}"; do - if [ $i =3D "id" ]; then - if [ $counter -eq $rm_nr_ns1 ]; then - break - fi - id=3D${arr[$nr+1]} - rm_addr=3D$(rm_addr_count ${connector_ns}) - pm_nl_del_endpoint ${listener_ns} $id - wait_rm_addr ${connector_ns} ${rm_addr} - counter=3D$((counter + 1)) - fi - nr=3D$((nr + 1)) - done - done - elif [ $rm_nr_ns1 -eq 8 ]; then - pm_nl_flush_endpoint ${listener_ns} - elif [ $rm_nr_ns1 -eq 9 ]; then - pm_nl_del_endpoint ${listener_ns} 0 ${connect_addr} - fi - fi - - # if newly added endpoints must be deleted, give the background msk - # some time to created them - [ $addr_nr_ns1 -gt 0 ] && [ $addr_nr_ns2 -lt 0 ] && sleep 1 - - if [ $addr_nr_ns2 -gt 0 ]; then - local add_nr_ns2=3D${addr_nr_ns2} - local counter=3D3 - local id=3D20 - while [ $add_nr_ns2 -gt 0 ]; do - local addr - if is_v6 "${connect_addr}"; then - addr=3D"dead:beef:$counter::2" - else - addr=3D"10.0.$counter.2" - fi - pm_nl_add_endpoint $ns2 $addr flags $flags - counter=3D$((counter + 1)) - add_nr_ns2=3D$((add_nr_ns2 - 1)) - id=3D$((id + 1)) - done - elif [ $addr_nr_ns2 -lt 0 ]; then - local rm_nr_ns2=3D$((-addr_nr_ns2)) - if [ $rm_nr_ns2 -lt 8 ]; then - local counter=3D0 - local line - pm_nl_show_endpoints ${connector_ns} | while read -r line; do - # shellcheck disable=3DSC2206 # we do want to split per word - local arr=3D($line) - local nr=3D0 - - local i - for i in "${arr[@]}"; do - if [ $i =3D "id" ]; then - if [ $counter -eq $rm_nr_ns2 ]; then - break - fi - local id rm_addr - # rm_addr are serialized, allow the previous one to - # complete - id=3D${arr[$nr+1]} - rm_addr=3D$(rm_addr_count ${listener_ns}) - pm_nl_del_endpoint ${connector_ns} $id - wait_rm_addr ${listener_ns} ${rm_addr} - counter=3D$((counter + 1)) - fi - nr=3D$((nr + 1)) - done - done - elif [ $rm_nr_ns2 -eq 8 ]; then - pm_nl_flush_endpoint ${connector_ns} - elif [ $rm_nr_ns2 -eq 9 ]; then - local addr - if is_v6 "${connect_addr}"; then - addr=3D"dead:beef:1::2" - else - addr=3D"10.0.1.2" - fi - pm_nl_del_endpoint ${connector_ns} 0 $addr - fi - fi - - if [ -n "${sflags}" ]; then - sleep 1 - - local netns - for netns in "$ns1" "$ns2"; do - local line - pm_nl_show_endpoints $netns | while read -r line; do - # shellcheck disable=3DSC2206 # we do want to split per word - local arr=3D($line) - local nr=3D0 - local id - - local i - for i in "${arr[@]}"; do - if [ $i =3D "id" ]; then - id=3D${arr[$nr+1]} - fi - nr=3D$((nr + 1)) - done - pm_nl_change_endpoint $netns $id $sflags - done - done - fi - wait $cpid local retc=3D$? wait $spid @@ -1038,10 +891,8 @@ run_tests() local connector_ns=3D"$2" local connect_addr=3D"$3" local test_linkfail=3D"${4:-0}" - local addr_nr_ns1=3D"${5:-0}" - local addr_nr_ns2=3D"${6:-0}" - local speed=3D"${7:-fast}" - local sflags=3D"${8:-""}" + local speed=3D"${5:-fast}" + local sflags=3D"${6:-""}" =20 local size =20 @@ -1086,7 +937,7 @@ run_tests() fi =20 do_transfer ${listener_ns} ${connector_ns} MPTCP MPTCP ${connect_addr} \ - ${test_linkfail} ${addr_nr_ns1} ${addr_nr_ns2} ${speed} ${sflags} + ${test_linkfail} ${speed} ${sflags} } =20 dump_stats() @@ -1796,6 +1647,159 @@ set_userspace_pm() ip netns exec $ns sysctl -q net.mptcp.pm_type=3D1 } =20 +endpoint_manipulation() +{ + local connect_addr=3D"$1" + local addr_nr_ns1=3D"$2" + local addr_nr_ns2=3D"${3:-0}" + local sflags=3D"${4:-""}" + + local flags=3D"subflow" + if [[ "${addr_nr_ns2}" =3D "fullmesh_"* ]]; then + flags=3D"${flags},fullmesh" + addr_nr_ns2=3D${addr_nr_ns2:9} + fi + + # let the mptcp subflow be established in background before + # do endpoint manipulation + if [ $addr_nr_ns1 !=3D "0" ] || [ $addr_nr_ns2 !=3D "0" ]; then + sleep 1 + fi + + if [ $addr_nr_ns1 -gt 0 ]; then + local counter=3D2 + local add_nr_ns1=3D${addr_nr_ns1} + local id=3D10 + while [ $add_nr_ns1 -gt 0 ]; do + local addr + if is_v6 "${connect_addr}"; then + addr=3D"dead:beef:$counter::1" + else + addr=3D"10.0.$counter.1" + fi + pm_nl_add_endpoint $ns1 $addr flags signal + counter=3D$((counter + 1)) + add_nr_ns1=3D$((add_nr_ns1 - 1)) + id=3D$((id + 1)) + done + elif [ $addr_nr_ns1 -lt 0 ]; then + local rm_nr_ns1=3D$((-addr_nr_ns1)) + if [ $rm_nr_ns1 -lt 8 ]; then + local counter=3D0 + local line + pm_nl_show_endpoints $ns1 | while read -r line; do + # shellcheck disable=3DSC2206 # we do want to split per word + local arr=3D($line) + local nr=3D0 + + local i + for i in "${arr[@]}"; do + if [ $i =3D "id" ]; then + if [ $counter -eq $rm_nr_ns1 ]; then + break + fi + id=3D${arr[$nr+1]} + rm_addr=3D$(rm_addr_count $ns2) + pm_nl_del_endpoint $ns1 $id + wait_rm_addr $ns2 ${rm_addr} + counter=3D$((counter + 1)) + fi + nr=3D$((nr + 1)) + done + done + elif [ $rm_nr_ns1 -eq 8 ]; then + pm_nl_flush_endpoint $ns1 + elif [ $rm_nr_ns1 -eq 9 ]; then + pm_nl_del_endpoint $ns1 0 ${connect_addr} + fi + fi + + # if newly added endpoints must be deleted, give the background msk + # some time to created them + [ $addr_nr_ns1 -gt 0 ] && [ $addr_nr_ns2 -lt 0 ] && sleep 1 + + if [ $addr_nr_ns2 -gt 0 ]; then + local add_nr_ns2=3D${addr_nr_ns2} + local counter=3D3 + local id=3D20 + while [ $add_nr_ns2 -gt 0 ]; do + local addr + if is_v6 "${connect_addr}"; then + addr=3D"dead:beef:$counter::2" + else + addr=3D"10.0.$counter.2" + fi + pm_nl_add_endpoint $ns2 $addr flags $flags + counter=3D$((counter + 1)) + add_nr_ns2=3D$((add_nr_ns2 - 1)) + id=3D$((id + 1)) + done + elif [ $addr_nr_ns2 -lt 0 ]; then + local rm_nr_ns2=3D$((-addr_nr_ns2)) + if [ $rm_nr_ns2 -lt 8 ]; then + local counter=3D0 + local line + pm_nl_show_endpoints $ns2 | while read -r line; do + # shellcheck disable=3DSC2206 # we do want to split per word + local arr=3D($line) + local nr=3D0 + + local i + for i in "${arr[@]}"; do + if [ $i =3D "id" ]; then + if [ $counter -eq $rm_nr_ns2 ]; then + break + fi + local id rm_addr + # rm_addr are serialized, allow the previous one to + # complete + id=3D${arr[$nr+1]} + rm_addr=3D$(rm_addr_count $ns1) + pm_nl_del_endpoint $ns2 $id + wait_rm_addr $ns1 ${rm_addr} + counter=3D$((counter + 1)) + fi + nr=3D$((nr + 1)) + done + done + elif [ $rm_nr_ns2 -eq 8 ]; then + pm_nl_flush_endpoint $ns2 + elif [ $rm_nr_ns2 -eq 9 ]; then + local addr + if is_v6 "${connect_addr}"; then + addr=3D"dead:beef:1::2" + else + addr=3D"10.0.1.2" + fi + pm_nl_del_endpoint $ns2 0 $addr + fi + fi + + if [ -n "${sflags}" ]; then + sleep 1 + + local netns + for netns in "$ns1" "$ns2"; do + local line + pm_nl_show_endpoints $netns | while read -r line; do + # shellcheck disable=3DSC2206 # we do want to split per word + local arr=3D($line) + local nr=3D0 + local id + + local i + for i in "${arr[@]}"; do + if [ $i =3D "id" ]; then + id=3D${arr[$nr+1]} + fi + nr=3D$((nr + 1)) + done + pm_nl_change_endpoint $netns $id $sflags + done + done + fi +} + subflows_tests() { if reset "no JOIN"; then @@ -1868,7 +1872,7 @@ subflows_error_tests() pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns2 0 1 pm_nl_add_endpoint $ns2 10.0.1.2 flags subflow - run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow + run_tests $ns1 $ns2 10.0.1.1 0 slow chk_join_nr 0 0 0 fi =20 @@ -1879,7 +1883,7 @@ subflows_error_tests() pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow filter_tcp_from $ns1 10.0.3.2 REJECT - run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow + run_tests $ns1 $ns2 10.0.1.1 0 slow chk_join_nr 1 1 1 fi =20 @@ -1890,7 +1894,7 @@ subflows_error_tests() pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow filter_tcp_from $ns1 10.0.3.2 DROP - run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow + run_tests $ns1 $ns2 10.0.1.1 0 slow chk_join_nr 1 1 1 fi =20 @@ -1902,7 +1906,7 @@ subflows_error_tests() pm_nl_set_limits $ns2 0 1 pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow filter_tcp_from $ns1 10.0.3.2 REJECT - run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow & + run_tests $ns1 $ns2 10.0.1.1 0 slow & =20 # mpj subflow will be in TW after the reset wait_attempt_fail $ns2 @@ -2001,7 +2005,7 @@ signal_address_tests() =20 # the peer could possibly miss some addr notification, allow retransmiss= ion ip netns exec $ns1 sysctl -q net.mptcp.add_addr_timeout=3D1 - run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow + run_tests $ns1 $ns2 10.0.1.1 0 slow chk_join_nr 3 3 3 =20 # the server will not signal the address terminating @@ -2102,7 +2106,7 @@ add_addr_timeout_tests() pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns2 1 1 pm_nl_add_endpoint $ns1 10.0.2.1 flags signal - run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow + run_tests $ns1 $ns2 10.0.1.1 0 slow chk_join_nr 1 1 1 chk_add_tx_nr 4 4 chk_add_nr 4 0 @@ -2113,7 +2117,7 @@ add_addr_timeout_tests() pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns2 1 1 pm_nl_add_endpoint $ns1 dead:beef:2::1 flags signal - run_tests $ns1 $ns2 dead:beef:1::1 0 0 0 slow + run_tests $ns1 $ns2 dead:beef:1::1 0 slow chk_join_nr 1 1 1 chk_add_nr 4 0 fi @@ -2124,7 +2128,7 @@ add_addr_timeout_tests() pm_nl_add_endpoint $ns1 10.0.2.1 flags signal pm_nl_add_endpoint $ns1 10.0.3.1 flags signal pm_nl_set_limits $ns2 2 2 - run_tests $ns1 $ns2 10.0.1.1 0 0 0 speed_10 + run_tests $ns1 $ns2 10.0.1.1 0 speed_10 chk_join_nr 2 2 2 chk_add_nr 8 0 fi @@ -2135,7 +2139,7 @@ add_addr_timeout_tests() pm_nl_add_endpoint $ns1 10.0.12.1 flags signal pm_nl_add_endpoint $ns1 10.0.3.1 flags signal pm_nl_set_limits $ns2 2 2 - run_tests $ns1 $ns2 10.0.1.1 0 0 0 speed_10 + run_tests $ns1 $ns2 10.0.1.1 0 speed_10 chk_join_nr 1 1 1 chk_add_nr 8 0 fi @@ -2148,10 +2152,12 @@ remove_tests() pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns2 0 1 pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow - run_tests $ns1 $ns2 10.0.1.1 0 0 -1 slow + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 0 -1 chk_join_nr 1 1 1 chk_rm_tx_nr 1 chk_rm_nr 1 1 + kill_tests_wait fi =20 # multiple subflows, remove @@ -2160,9 +2166,11 @@ remove_tests() pm_nl_set_limits $ns2 0 2 pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow - run_tests $ns1 $ns2 10.0.1.1 0 0 -2 slow + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 0 -2 chk_join_nr 2 2 2 chk_rm_nr 2 2 + kill_tests_wait fi =20 # single address, remove @@ -2170,10 +2178,12 @@ remove_tests() pm_nl_set_limits $ns1 0 1 pm_nl_add_endpoint $ns1 10.0.2.1 flags signal pm_nl_set_limits $ns2 1 1 - run_tests $ns1 $ns2 10.0.1.1 0 -1 0 slow + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 -1 chk_join_nr 1 1 1 chk_add_nr 1 1 chk_rm_nr 1 1 invert + kill_tests_wait fi =20 # subflow and signal, remove @@ -2182,10 +2192,12 @@ remove_tests() pm_nl_add_endpoint $ns1 10.0.2.1 flags signal pm_nl_set_limits $ns2 1 2 pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow - run_tests $ns1 $ns2 10.0.1.1 0 -1 -1 slow + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 -1 -1 chk_join_nr 2 2 2 chk_add_nr 1 1 chk_rm_nr 1 1 + kill_tests_wait fi =20 # subflows and signal, remove @@ -2195,10 +2207,12 @@ remove_tests() pm_nl_set_limits $ns2 1 3 pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow pm_nl_add_endpoint $ns2 10.0.4.2 flags subflow - run_tests $ns1 $ns2 10.0.1.1 0 -1 -2 speed_10 + run_tests $ns1 $ns2 10.0.1.1 0 speed_10 2>/dev/null & + endpoint_manipulation 10.0.1.1 -1 -2 chk_join_nr 3 3 3 chk_add_nr 1 1 chk_rm_nr 2 2 + kill_tests_wait fi =20 # addresses remove @@ -2208,10 +2222,12 @@ remove_tests() pm_nl_add_endpoint $ns1 10.0.3.1 flags signal pm_nl_add_endpoint $ns1 10.0.4.1 flags signal pm_nl_set_limits $ns2 3 3 - run_tests $ns1 $ns2 10.0.1.1 0 -3 0 speed_10 + run_tests $ns1 $ns2 10.0.1.1 0 speed_10 2>/dev/null & + endpoint_manipulation 10.0.1.1 -3 chk_join_nr 3 3 3 chk_add_nr 3 3 chk_rm_nr 3 3 invert + kill_tests_wait fi =20 # invalid addresses remove @@ -2221,10 +2237,12 @@ remove_tests() pm_nl_add_endpoint $ns1 10.0.3.1 flags signal pm_nl_add_endpoint $ns1 10.0.14.1 flags signal pm_nl_set_limits $ns2 3 3 - run_tests $ns1 $ns2 10.0.1.1 0 -3 0 speed_10 + run_tests $ns1 $ns2 10.0.1.1 0 speed_10 2>/dev/null & + endpoint_manipulation 10.0.1.1 -3 chk_join_nr 1 1 1 chk_add_nr 3 3 chk_rm_nr 3 1 invert + kill_tests_wait fi =20 # subflows and signal, flush @@ -2234,10 +2252,13 @@ remove_tests() pm_nl_set_limits $ns2 1 3 pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow pm_nl_add_endpoint $ns2 10.0.4.2 flags subflow - run_tests $ns1 $ns2 10.0.1.1 0 -8 -8 slow + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + wait_mpj $ns2 + endpoint_manipulation 10.0.1.1 -8 -8 chk_join_nr 3 3 3 chk_add_nr 1 1 chk_rm_nr 1 3 invert simult + kill_tests_wait fi =20 # subflows flush @@ -2247,10 +2268,13 @@ remove_tests() pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow id 150 pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow pm_nl_add_endpoint $ns2 10.0.4.2 flags subflow - run_tests $ns1 $ns2 10.0.1.1 0 -8 -8 slow + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + wait_mpj $ns2 + endpoint_manipulation 10.0.1.1 -8 -8 chk_join_nr 3 3 3 chk_rm_tx_nr 0 chk_rm_nr 0 3 simult + kill_tests_wait fi =20 # addresses flush @@ -2260,10 +2284,12 @@ remove_tests() pm_nl_add_endpoint $ns1 10.0.3.1 flags signal pm_nl_add_endpoint $ns1 10.0.4.1 flags signal pm_nl_set_limits $ns2 3 3 - run_tests $ns1 $ns2 10.0.1.1 0 -8 -8 slow + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 -8 -8 chk_join_nr 3 3 3 chk_add_nr 3 3 chk_rm_nr 3 3 invert simult + kill_tests_wait fi =20 # invalid addresses flush @@ -2273,10 +2299,12 @@ remove_tests() pm_nl_add_endpoint $ns1 10.0.3.1 flags signal pm_nl_add_endpoint $ns1 10.0.14.1 flags signal pm_nl_set_limits $ns2 3 3 - run_tests $ns1 $ns2 10.0.1.1 0 -8 0 slow + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 -8 chk_join_nr 1 1 1 chk_add_nr 3 3 chk_rm_nr 3 1 invert + kill_tests_wait fi =20 # remove id 0 subflow @@ -2284,9 +2312,11 @@ remove_tests() pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns2 0 1 pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow - run_tests $ns1 $ns2 10.0.1.1 0 0 -9 slow + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 0 -9 chk_join_nr 1 1 1 chk_rm_nr 1 1 + kill_tests_wait fi =20 # remove id 0 address @@ -2294,10 +2324,12 @@ remove_tests() pm_nl_set_limits $ns1 0 1 pm_nl_add_endpoint $ns1 10.0.2.1 flags signal pm_nl_set_limits $ns2 1 1 - run_tests $ns1 $ns2 10.0.1.1 0 -9 0 slow + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 -9 chk_join_nr 1 1 1 chk_add_nr 1 1 chk_rm_nr 1 1 invert + kill_tests_wait fi } =20 @@ -2307,42 +2339,54 @@ add_tests() if reset "add single subflow"; then pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns2 0 1 - run_tests $ns1 $ns2 10.0.1.1 0 0 1 slow + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 0 1 chk_join_nr 1 1 1 + kill_tests_wait fi =20 # add signal address if reset "add signal address"; then pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns2 1 1 - run_tests $ns1 $ns2 10.0.1.1 0 1 0 slow + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 1 chk_join_nr 1 1 1 chk_add_nr 1 1 + kill_tests_wait fi =20 # add multiple subflows if reset "add multiple subflows"; then pm_nl_set_limits $ns1 0 2 pm_nl_set_limits $ns2 0 2 - run_tests $ns1 $ns2 10.0.1.1 0 0 2 slow + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 0 2 chk_join_nr 2 2 2 + kill_tests_wait fi =20 # add multiple subflows IPv6 if reset "add multiple subflows IPv6"; then pm_nl_set_limits $ns1 0 2 pm_nl_set_limits $ns2 0 2 - run_tests $ns1 $ns2 dead:beef:1::1 0 0 2 slow + run_tests $ns1 $ns2 dead:beef:1::1 0 slow 2>/dev/null & + wait_mpj $ns2 + endpoint_manipulation dead:beef:1::1 0 2 + wait_mpj $ns2 chk_join_nr 2 2 2 + kill_tests_wait fi =20 # add multiple addresses IPv6 if reset "add multiple addresses IPv6"; then pm_nl_set_limits $ns1 0 2 pm_nl_set_limits $ns2 2 2 - run_tests $ns1 $ns2 dead:beef:1::1 0 2 0 slow + run_tests $ns1 $ns2 dead:beef:1::1 0 slow 2>/dev/null & + endpoint_manipulation dead:beef:1::1 2 chk_join_nr 2 2 2 chk_add_nr 2 2 + kill_tests_wait fi } =20 @@ -2353,14 +2397,14 @@ ipv6_tests() pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns2 0 1 pm_nl_add_endpoint $ns2 dead:beef:3::2 dev ns2eth3 flags subflow - run_tests $ns1 $ns2 dead:beef:1::1 0 0 0 slow + run_tests $ns1 $ns2 dead:beef:1::1 0 slow chk_join_nr 1 1 1 fi =20 # add_address, unused IPv6 if reset "unused signal address IPv6"; then pm_nl_add_endpoint $ns1 dead:beef:2::1 flags signal - run_tests $ns1 $ns2 dead:beef:1::1 0 0 0 slow + run_tests $ns1 $ns2 dead:beef:1::1 0 slow chk_join_nr 0 0 0 chk_add_nr 1 1 fi @@ -2370,7 +2414,7 @@ ipv6_tests() pm_nl_set_limits $ns1 0 1 pm_nl_add_endpoint $ns1 dead:beef:2::1 flags signal pm_nl_set_limits $ns2 1 1 - run_tests $ns1 $ns2 dead:beef:1::1 0 0 0 slow + run_tests $ns1 $ns2 dead:beef:1::1 0 slow chk_join_nr 1 1 1 chk_add_nr 1 1 fi @@ -2380,10 +2424,12 @@ ipv6_tests() pm_nl_set_limits $ns1 0 1 pm_nl_add_endpoint $ns1 dead:beef:2::1 flags signal pm_nl_set_limits $ns2 1 1 - run_tests $ns1 $ns2 dead:beef:1::1 0 -1 0 slow + run_tests $ns1 $ns2 dead:beef:1::1 0 slow 2>/dev/null & + endpoint_manipulation dead:beef:1::1 -1 chk_join_nr 1 1 1 chk_add_nr 1 1 chk_rm_nr 1 1 invert + kill_tests_wait fi =20 # subflow and signal IPv6, remove @@ -2392,10 +2438,12 @@ ipv6_tests() pm_nl_add_endpoint $ns1 dead:beef:2::1 flags signal pm_nl_set_limits $ns2 1 2 pm_nl_add_endpoint $ns2 dead:beef:3::2 dev ns2eth3 flags subflow - run_tests $ns1 $ns2 dead:beef:1::1 0 -1 -1 slow + run_tests $ns1 $ns2 dead:beef:1::1 0 slow 2>/dev/null & + endpoint_manipulation dead:beef:1::1 -1 -1 chk_join_nr 2 2 2 chk_add_nr 1 1 chk_rm_nr 1 1 + kill_tests_wait fi } =20 @@ -2492,7 +2540,7 @@ mixed_tests() pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns2 1 1 pm_nl_add_endpoint $ns1 dead:beef:2::1 flags signal - run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow + run_tests $ns1 $ns2 10.0.1.1 0 slow chk_join_nr 0 0 0 fi =20 @@ -2501,7 +2549,7 @@ mixed_tests() pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns2 1 1 pm_nl_add_endpoint $ns1 10.0.1.1 flags signal - run_tests $ns1 $ns2 dead:beef:2::1 0 0 0 slow + run_tests $ns1 $ns2 dead:beef:2::1 0 slow chk_join_nr 1 1 1 fi =20 @@ -2511,7 +2559,7 @@ mixed_tests() pm_nl_set_limits $ns2 1 4 pm_nl_add_endpoint $ns2 dead:beef:2::2 flags subflow,fullmesh pm_nl_add_endpoint $ns1 10.0.1.1 flags signal - run_tests $ns1 $ns2 dead:beef:2::1 0 0 0 slow + run_tests $ns1 $ns2 dead:beef:2::1 0 slow chk_join_nr 1 1 1 fi =20 @@ -2522,8 +2570,11 @@ mixed_tests() pm_nl_set_limits $ns2 2 4 pm_nl_add_endpoint $ns1 10.0.2.1 flags signal pm_nl_add_endpoint $ns1 dead:beef:2::1 flags signal - run_tests $ns1 $ns2 dead:beef:1::1 0 0 fullmesh_1 slow + run_tests $ns1 $ns2 dead:beef:1::1 0 slow 2>/dev/null & + endpoint_manipulation dead:beef:1::1 0 fullmesh_1 + wait_mpj $ns1 chk_join_nr 4 4 4 + kill_tests_wait fi } =20 @@ -2534,9 +2585,11 @@ backup_tests() pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns2 0 1 pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow,backup - run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow nobackup + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 0 0 nobackup chk_join_nr 1 1 1 chk_prio_nr 0 1 + kill_tests_wait fi =20 # single address, backup @@ -2544,10 +2597,13 @@ backup_tests() pm_nl_set_limits $ns1 0 1 pm_nl_add_endpoint $ns1 10.0.2.1 flags signal pm_nl_set_limits $ns2 1 1 - run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow backup + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + wait_mpj $ns1 + endpoint_manipulation 10.0.1.1 0 0 backup chk_join_nr 1 1 1 chk_add_nr 1 1 chk_prio_nr 1 1 + kill_tests_wait fi =20 # single address with port, backup @@ -2555,15 +2611,18 @@ backup_tests() pm_nl_set_limits $ns1 0 1 pm_nl_add_endpoint $ns1 10.0.2.1 flags signal port 10100 pm_nl_set_limits $ns2 1 1 - run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow backup + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + wait_mpj $ns1 + endpoint_manipulation 10.0.1.1 0 0 backup chk_join_nr 1 1 1 chk_add_nr 1 1 chk_prio_nr 1 1 + kill_tests_wait fi =20 if reset "mpc backup"; then pm_nl_add_endpoint $ns2 10.0.1.2 flags subflow,backup - run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow + run_tests $ns1 $ns2 10.0.1.1 0 slow chk_join_nr 0 0 0 chk_prio_nr 0 1 fi @@ -2571,24 +2630,28 @@ backup_tests() if reset "mpc backup both sides"; then pm_nl_add_endpoint $ns1 10.0.1.1 flags subflow,backup pm_nl_add_endpoint $ns2 10.0.1.2 flags subflow,backup - run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow + run_tests $ns1 $ns2 10.0.1.1 0 slow chk_join_nr 0 0 0 chk_prio_nr 1 1 fi =20 if reset "mpc switch to backup"; then pm_nl_add_endpoint $ns2 10.0.1.2 flags subflow - run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow backup + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 0 0 backup chk_join_nr 0 0 0 chk_prio_nr 0 1 + kill_tests_wait fi =20 if reset "mpc switch to backup both sides"; then pm_nl_add_endpoint $ns1 10.0.1.1 flags subflow pm_nl_add_endpoint $ns2 10.0.1.2 flags subflow - run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow backup + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 0 0 backup chk_join_nr 0 0 0 chk_prio_nr 1 1 + kill_tests_wait fi } =20 @@ -2672,7 +2735,8 @@ add_addr_ports_tests() pm_nl_set_limits $ns1 0 1 pm_nl_add_endpoint $ns1 10.0.2.1 flags signal port 10100 pm_nl_set_limits $ns2 1 1 - run_tests $ns1 $ns2 10.0.1.1 0 -1 0 slow + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 -1 chk_join_nr 1 1 1 chk_add_nr 1 1 1 chk_rm_nr 1 1 invert @@ -2680,6 +2744,7 @@ add_addr_ports_tests() verify_listener_events $evts_ns1 $LISTENER_CREATED $AF_INET 10.0.2.1 101= 00 verify_listener_events $evts_ns1 $LISTENER_CLOSED $AF_INET 10.0.2.1 10100 kill_events_pids + kill_tests_wait fi =20 # subflow and signal with port, remove @@ -2688,10 +2753,12 @@ add_addr_ports_tests() pm_nl_add_endpoint $ns1 10.0.2.1 flags signal port 10100 pm_nl_set_limits $ns2 1 2 pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow - run_tests $ns1 $ns2 10.0.1.1 0 -1 -1 slow + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 -1 -1 chk_join_nr 2 2 2 chk_add_nr 1 1 1 chk_rm_nr 1 1 + kill_tests_wait fi =20 # subflows and signal with port, flush @@ -2701,10 +2768,13 @@ add_addr_ports_tests() pm_nl_set_limits $ns2 1 3 pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow pm_nl_add_endpoint $ns2 10.0.4.2 flags subflow - run_tests $ns1 $ns2 10.0.1.1 0 -8 -2 slow + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + wait_mpj $ns2 + endpoint_manipulation 10.0.1.1 -8 -2 chk_join_nr 3 3 3 chk_add_nr 1 1 chk_rm_nr 1 3 invert simult + kill_tests_wait fi =20 # multiple addresses with port @@ -2903,9 +2973,11 @@ fullmesh_tests() pm_nl_set_limits $ns2 1 4 pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow,fullmesh pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow,fullmesh - run_tests $ns1 $ns2 10.0.1.1 0 1 0 slow + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 1 chk_join_nr 4 4 4 chk_add_nr 1 1 + kill_tests_wait fi =20 # fullmesh 2 @@ -2915,9 +2987,12 @@ fullmesh_tests() pm_nl_set_limits $ns1 1 3 pm_nl_set_limits $ns2 1 3 pm_nl_add_endpoint $ns1 10.0.2.1 flags signal - run_tests $ns1 $ns2 10.0.1.1 0 0 fullmesh_1 slow + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + wait_mpj $ns1 + endpoint_manipulation 10.0.1.1 0 fullmesh_1 chk_join_nr 3 3 3 chk_add_nr 1 1 + kill_tests_wait fi =20 # fullmesh 3 @@ -2927,9 +3002,11 @@ fullmesh_tests() pm_nl_set_limits $ns1 2 5 pm_nl_set_limits $ns2 1 5 pm_nl_add_endpoint $ns1 10.0.2.1 flags signal - run_tests $ns1 $ns2 10.0.1.1 0 0 fullmesh_2 slow + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 0 fullmesh_2 chk_join_nr 5 5 5 chk_add_nr 1 1 + kill_tests_wait fi =20 # fullmesh 4 @@ -2940,9 +3017,11 @@ fullmesh_tests() pm_nl_set_limits $ns1 2 4 pm_nl_set_limits $ns2 1 4 pm_nl_add_endpoint $ns1 10.0.2.1 flags signal - run_tests $ns1 $ns2 10.0.1.1 0 0 fullmesh_2 slow + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 0 fullmesh_2 chk_join_nr 4 4 4 chk_add_nr 1 1 + kill_tests_wait fi =20 # set fullmesh flag @@ -2950,9 +3029,12 @@ fullmesh_tests() pm_nl_set_limits $ns1 4 4 pm_nl_add_endpoint $ns1 10.0.2.1 flags subflow pm_nl_set_limits $ns2 4 4 - run_tests $ns1 $ns2 10.0.1.1 0 0 1 slow fullmesh + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 0 1 fullmesh + wait_mpj $ns1 chk_join_nr 2 2 2 chk_rm_nr 0 1 + kill_tests_wait fi =20 # set nofullmesh flag @@ -2960,9 +3042,12 @@ fullmesh_tests() pm_nl_set_limits $ns1 4 4 pm_nl_add_endpoint $ns1 10.0.2.1 flags subflow,fullmesh pm_nl_set_limits $ns2 4 4 - run_tests $ns1 $ns2 10.0.1.1 0 0 fullmesh_1 slow nofullmesh + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 0 fullmesh_1 nofullmesh + wait_mpj $ns1 chk_join_nr 2 2 2 chk_rm_nr 0 1 + kill_tests_wait fi =20 # set backup,fullmesh flags @@ -2970,10 +3055,13 @@ fullmesh_tests() pm_nl_set_limits $ns1 4 4 pm_nl_add_endpoint $ns1 10.0.2.1 flags subflow pm_nl_set_limits $ns2 4 4 - run_tests $ns1 $ns2 10.0.1.1 0 0 1 slow backup,fullmesh + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 0 1 backup,fullmesh + wait_mpj $ns1 chk_join_nr 2 2 2 chk_prio_nr 0 1 chk_rm_nr 0 1 + kill_tests_wait fi =20 # set nobackup,nofullmesh flags @@ -2981,24 +3069,27 @@ fullmesh_tests() pm_nl_set_limits $ns1 4 4 pm_nl_set_limits $ns2 4 4 pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow,backup,fullmesh - run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow nobackup,nofullmesh + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 0 0 nobackup,nofullmesh + wait_mpj $ns1 chk_join_nr 2 2 2 chk_prio_nr 0 1 chk_rm_nr 0 1 + kill_tests_wait fi } =20 fastclose_tests() { if reset "fastclose test"; then - run_tests $ns1 $ns2 10.0.1.1 1024 0 0 fast fastclose_client + run_tests $ns1 $ns2 10.0.1.1 1024 fast fastclose_client chk_join_nr 0 0 0 chk_fclose_nr 1 1 chk_rst_nr 1 1 invert fi =20 if reset "fastclose server test"; then - run_tests $ns1 $ns2 10.0.1.1 1024 0 0 fast fastclose_server + run_tests $ns1 $ns2 10.0.1.1 1024 fast fastclose_server chk_join_nr 0 0 0 chk_fclose_nr 1 1 invert chk_rst_nr 1 1 @@ -3141,7 +3232,7 @@ userspace_tests() pm_nl_set_limits $ns1 1 1 pm_nl_set_limits $ns2 1 1 pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow - run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow backup + run_tests $ns1 $ns2 10.0.1.1 0 slow backup chk_join_nr 1 1 0 chk_prio_nr 0 0 fi @@ -3153,16 +3244,18 @@ userspace_tests() pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns2 0 1 pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow - run_tests $ns1 $ns2 10.0.1.1 0 0 -1 slow + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & + endpoint_manipulation 10.0.1.1 0 -1 chk_join_nr 0 0 0 chk_rm_nr 0 0 + kill_tests_wait fi =20 # userspace pm add & remove address if reset_with_events "userspace pm add & remove address"; then set_userspace_pm $ns1 pm_nl_set_limits $ns2 1 1 - run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow 2>/dev/null & + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & wait_mpj $ns1 userspace_pm_add_addr 10.0.2.1 10 sleep 1 @@ -3183,7 +3276,7 @@ userspace_tests() if reset_with_events "userspace pm create destroy subflow"; then set_userspace_pm $ns2 pm_nl_set_limits $ns1 0 1 - run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow 2>/dev/null & + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & wait_mpj $ns2 userspace_pm_add_sf 10.0.3.2 20 sleep 1 @@ -3206,7 +3299,7 @@ endpoint_tests() pm_nl_set_limits $ns1 2 2 pm_nl_set_limits $ns2 2 2 pm_nl_add_endpoint $ns1 10.0.2.1 flags signal - run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow 2>/dev/null & + run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null & =20 wait_mpj $ns1 pm_nl_check_endpoint 1 "creation" \ @@ -3234,7 +3327,7 @@ endpoint_tests() pm_nl_set_limits $ns1 1 1 pm_nl_set_limits $ns2 1 1 pm_nl_add_endpoint $ns2 10.0.2.2 id 2 dev ns2eth2 flags subflow - run_tests $ns1 $ns2 10.0.1.1 4 0 0 speed_20 2>/dev/null & + run_tests $ns1 $ns2 10.0.1.1 4 speed_20 2>/dev/null & =20 wait_mpj $ns2 chk_subflow_nr needtitle "before delete" 2 --=20 2.35.3