From nobody Sat Apr 20 03:45:51 2024 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2081.outbound.protection.outlook.com [40.107.21.81]) (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 8372F7B for ; Sat, 12 Nov 2022 09:28:51 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Sh/CZH+fnDKHPHIdrgnfZLwy43Dj0hGpmTuUX80RnxrneRLBw0YK7KVSrSufweKSAI/e0XSeXLpMxReIbBlxKjMXoQsuaDdOjUw1jxsd6N9FfTahWoh8zEHioj7rfNAiWIQRPTvzD0uhi0V8uO2timQKnY5eOyK0/UljoP+cehdIcA5193s0zUoa//Of5ODGB9mkquOxWKgqp/3kUVu/irSecTa2XfsZkUjOIBV3ZuQC1ZIjr5joF4zgJGeAAWw31Wr6AUMNhxy3cbzICg/HbF1n1aG6FeXyFj9ATSvfDjahoeXEg3nm84LvPCpiwPdOaqbugRulMZ6IjixFFP167Q== 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=0l26d2x6MczcNRj51hTathfnsYsYVzE4PCBZqzmXVao=; b=YLaJh8+e+lAPE/ekDsuBAht1IIwGBAG5VW/e7yk5ShD9tOFB3yjJkuDIitSPTYSJqDC5UeFQ7++6F926c9q+aZDqA9XNY23dzyqFer3gbw7r1OgZ191oHFKwgwTpfpJRW8cAxabj2Z0JqbBOJ8VkD6GCmdyPoNMGVL5ylxA/9Hs+iOrQ84h4L+tS9cFIc6U7HW8/S01dzlATPP3rA6YCaMiiv0AYbMa1ctEajW5dEtiRSxwev2k2goiSC9IkXAfqniMVOEk/D5BZE6SopuLL40Djd8QZzoMf+xZ+CtqJEfyAVtFbXgJpRUTcp9/teRbYsbJYoxSJypn2glUBkRxt/w== 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=0l26d2x6MczcNRj51hTathfnsYsYVzE4PCBZqzmXVao=; b=dh6H7jMm3FVqohtYmpqtwmtTfa5rv321rHlgASGtic5KUFi5g2FHPO6AtA8TmhbNs7p9ScxLfNaJK7Vi3gTIkBZ1Ebg3nxu97BA5y2Cal5l5ZTIwLnnKtQlF+x5nHONhAyo0Raeiah9NXl3sZQwyTlYDvPcFVRbpsla6fWGlvxZ6LDoZIC8P/MBvBzDlDswE6Q3K+tLhO5Lsg5l4i9GwyQCjcgpkUS6ksehNn1Esa5e19rjCrnketyI8DwJmxOSELmQ8LVdRaDT0VUuGAoSg+U8hNEE7JhxOP43+2Z4J9BNvGKHRo+ctZlvCXX9L2zBWcc4RMaHsANzodYynneBd9w== 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 DB8PR04MB6985.eurprd04.prod.outlook.com (2603:10a6:10:11e::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.13; Sat, 12 Nov 2022 09:28:47 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::40e6:908c:5bd1:7bb4]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::40e6:908c:5bd1:7bb4%6]) with mapi id 15.20.5791.027; Sat, 12 Nov 2022 09:28:47 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v3 1/3] mptcp: add pm listener events Date: Sat, 12 Nov 2022 17:28:53 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR03CA0120.apcprd03.prod.outlook.com (2603:1096:4:91::24) 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_|DB8PR04MB6985:EE_ X-MS-Office365-Filtering-Correlation-Id: c704269f-f824-4c0f-ce1e-08dac4904d2c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: laLncmWdZLMT+Fj5rl41jNHOba5rrYT4PHZl7/pF09nTPPzEMRZNvojzj3UX/GLz7Ucl/rYjBE4BJUrY/hl1LFVKHk6sE/4fvKOOMsf/EmhJgxxFWu5osJ9zUnNIc6mz0LVxX8OJ5FSuEbGm5QvBpnodJWyX/CZARfghw5KX2xKnReD36kN3X/mVHNnW/svUruFx1KikOZpvusDu/JI9EeoDXoaAyGWGwm728xoTsAwEALZWrBwsIUVlb3ULEdYlA/ASkfSWmcaKHbOEjtZTYr1PWl2VpP7tR9R5VRNWLjLvJ1WBEP+SJn8JHg/jGCEAotrKka9zv70kTENiHx9/VMpXxzQxbTd5mg18Ym0tILVVQwjmDAKxXavFT1Xy2rU30vIX3JbzP/tFklDsrjPvP/oFfEh4im91MChyQmZzPVJ8BhfBd9KZgGv0QkF42eiwsIF5vV9kLvRrctZiGJ0x5hNuRt/nyVcr7Tz8eNsY4+H5AvKtsqK8TZjlKUqNHzNLvfM6djljqV26qU+9EFk8BU6N+heVbJ7cSp1RtercL12AiZyx8go20yHsdUl2Pb0sHCy1qrDMqg5+lkx4GOJZJhANaYNISfCOvAIpqF1mnuOm2lpOCc359YzUsR56Nu+zg6RhnZNgQhvCbsEufVdXbL96aei9c1y3fVNPm/opNVVL0cbh+BhjU+z4cv5WMzdhxGrmEJOp8xRKMluj7S5ImA== 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:(13230022)(396003)(346002)(366004)(376002)(39860400002)(136003)(451199015)(36756003)(26005)(6512007)(38100700002)(83380400001)(186003)(44832011)(6506007)(2616005)(2906002)(66946007)(41300700001)(5660300002)(8676002)(86362001)(66556008)(6486002)(4326008)(478600001)(66476007)(8936002)(316002)(107886003)(6916009)(6666004);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ldxpYSY3xz0+lF3RUhuRcTE7Bra+ldlndBCbtdoa9y/x0XyY6sZoQQejw+kH?= =?us-ascii?Q?oFIkpCkRZ1xcclke7QAB4Vz2xx3pejFujQVXSoF3QHi1AWDShQbIXqfj//TR?= =?us-ascii?Q?696qV3dCwK8f65FTH7wsjYJGWYjGzElEplt1cXDe3XBXgIFYIJZj9OXO+qFr?= =?us-ascii?Q?yDtDa30+qGZJvREjwM6nH0utI8aruCUCRvaPbjLOB2B3JkhTlNY6ava91T+y?= =?us-ascii?Q?G1aXJQsu7lEfwPtvaekGDWzID9kY+lfcYnhlN5K/BWNRoo8uXDPKRfr01dA/?= =?us-ascii?Q?cwT00NDmJbRaGoLWvxFJqTt0lMBR04HQZTFsuk3Wyd57WsQxteNe1bmrwjnE?= =?us-ascii?Q?lDxMi0BGqOyrPiVG04WVF5ZPvICk43cT30Pi5WmhuLtaae7r8TAm6yN3v0oG?= =?us-ascii?Q?QX163xlIkrVDLr3dpXK3RGRp64EDw1QTsZcDq2FUUyR2I0iIKijFah2t2alq?= =?us-ascii?Q?GCi4dn0PoFQpkjaznhJrYLcw2dDsZRoV7CFGH+ad9+p8GIqoK8pdD/ElYd6H?= =?us-ascii?Q?kCKMr2r3QJ3iuDxETxyzcTiOo7KxV3Df/0/+3LpsxYpS0fhFBZg9Yepg1I1T?= =?us-ascii?Q?VuP/EtO/2xKe1w64qab8bInSoBKF7hKwdmIsdohILob4uYgZuMFpeo5ohd2e?= =?us-ascii?Q?PMDrYlY09f/REmC8+lzIuFEa0JekPoUbyULGh58jvy28wdKiirlb4v+3Q5rd?= =?us-ascii?Q?B7FQ4kYjh70jfuJEuyAlcD/aB8bf2F92PPAdeaM4IJhHPQeUkbnok989FPWV?= =?us-ascii?Q?EkH6BqN8UdBdDi8RL2nyi6dwVZlYGIdq6KfA0mGHAP8lKAVOuoBLmylmLIOB?= =?us-ascii?Q?Mt2YFGojLtNKJAD9UPywyLVmjLxfvWjXy3es45c3zeMFfC4IYq9ONruNZ5fQ?= =?us-ascii?Q?H4ojFvaTQUf0v4NVnaf598U7I7s8rBk3fZ9u7UMEpRIKBTxHDJdA4JZTCtEo?= =?us-ascii?Q?lSyiVRB7qxFXMvz0Da/Cjgje62exb4lbjzN6sSCWElsnKahels275bhDE8Sd?= =?us-ascii?Q?TkvrOv64jgDOvytx6/ZvRcbI/nT8hqfipQN3861OhvorxAfyv7AUTnn7Vgz6?= =?us-ascii?Q?t/BQmcr/YImxE+jFwqWedudm0qajIWfeyLL8UGmue+yp2+CB0EmXonY5l6q8?= =?us-ascii?Q?YW0oKqPY2XckQwtFuRu1xPIqDIyl0yUN0teU1y8AJvuKdmY8JBiykQrgiVpH?= =?us-ascii?Q?bHk2FEG+OdK2vMKMf+OKqI3DaixEXpH4HWs687zC3ck/t+CfTypXDvohA9d8?= =?us-ascii?Q?dpQ4UyCb3tEHq538mvAI5/xlOQgjOStcTkEStBRls15LMOr0Tq7B2HBhsAUP?= =?us-ascii?Q?1S4DXNsNZriqZ5A2B7MiK0BAVdOf9gRCqBxHfB+VcDCqwFDInm+ld6ikOQ/p?= =?us-ascii?Q?zlSISuP6rDoj6qjcDFLW8AF8JoisCXYii88ypC6w7ND33LDssxX1ulclDyOY?= =?us-ascii?Q?QcduzQIV8RE5lMTNT4Na8kGMJy2NCUa8raMCuGV6VINi/vzhYtanYwVCF4Hf?= =?us-ascii?Q?3RFXvB/tR/WvafWS0MLYU/AUgfBLoWRX34w2cvE6zlShcQTVlGIwWBiuSjY7?= =?us-ascii?Q?r/tTHU/nFKZQjaEE75PWuafByeh2OBVPApg3DwhsAuPmynUOBHus+BI/9TB4?= =?us-ascii?Q?CA=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: c704269f-f824-4c0f-ce1e-08dac4904d2c X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Nov 2022 09:28:47.7963 (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: dSmzc9BhifmGp3BpprR48MRjO9GqD2Lix/3gxWOCaE/yIOznOcsvHulXoSOtcjEzMSAHzFYBjKHk0yQaAZ3wjw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6985 Content-Type: text/plain; charset="utf-8" This patch adds MPTCP netlink events for PM listening socket create and close. Signed-off-by: Geliang Tang --- include/uapi/linux/mptcp.h | 9 ++++++ net/mptcp/pm_netlink.c | 57 ++++++++++++++++++++++++++++++++++++++ net/mptcp/protocol.c | 3 ++ net/mptcp/protocol.h | 2 ++ 4 files changed, 71 insertions(+) diff --git a/include/uapi/linux/mptcp.h b/include/uapi/linux/mptcp.h index dfe19bf13f4c..32af2d278cb4 100644 --- a/include/uapi/linux/mptcp.h +++ b/include/uapi/linux/mptcp.h @@ -160,6 +160,12 @@ struct mptcp_info { * daddr4 | daddr6, sport, dport, backup, if_idx * [, error] * The priority of a subflow has changed. 'error' should not be set. + * + * MPTCP_EVENT_LISTENER_CREATED: family, sport, saddr4 | saddr6 + * A new PM listener is created. + * + * MPTCP_EVENT_LISTENER_CLOSED: family, sport, saddr4 | saddr6 + * A PM listener is closed. */ enum mptcp_event_type { MPTCP_EVENT_UNSPEC =3D 0, @@ -174,6 +180,9 @@ enum mptcp_event_type { MPTCP_EVENT_SUB_CLOSED =3D 11, =20 MPTCP_EVENT_SUB_PRIORITY =3D 13, + + MPTCP_EVENT_LISTENER_CREATED =3D 15, + MPTCP_EVENT_LISTENER_CLOSED =3D 16, }; =20 enum mptcp_event_attr { diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index 08806f97c8fb..685240f6bc80 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -1026,6 +1026,8 @@ static int mptcp_pm_nl_create_listen_socket(struct so= ck *sk, if (err) return err; =20 + mptcp_event_pm_listener(ssock->sk, MPTCP_EVENT_LISTENER_CREATED); + return 0; } =20 @@ -2149,6 +2151,58 @@ void mptcp_event_addr_announced(const struct sock *s= sk, kfree_skb(skb); } =20 +void mptcp_event_pm_listener(const struct sock *ssk, + enum mptcp_event_type event) +{ + const struct inet_sock *issk =3D inet_sk(ssk); + struct net *net =3D sock_net(ssk); + struct nlmsghdr *nlh; + struct sk_buff *skb; + + if (!genl_has_listeners(&mptcp_genl_family, net, MPTCP_PM_EV_GRP_OFFSET)) + return; + + skb =3D nlmsg_new(NLMSG_DEFAULT_SIZE, GFP_ATOMIC); + if (!skb) + return; + + nlh =3D genlmsg_put(skb, 0, 0, &mptcp_genl_family, 0, event); + if (!nlh) + goto nla_put_failure; + + if (nla_put_u16(skb, MPTCP_ATTR_FAMILY, ssk->sk_family)) + goto nla_put_failure; + + if (nla_put_be16(skb, MPTCP_ATTR_SPORT, issk->inet_sport)) + goto nla_put_failure; + + switch (ssk->sk_family) { + case AF_INET: + if (nla_put_in_addr(skb, MPTCP_ATTR_SADDR4, issk->inet_saddr)) + goto nla_put_failure; + break; +#if IS_ENABLED(CONFIG_MPTCP_IPV6) + case AF_INET6: { + const struct ipv6_pinfo *np =3D inet6_sk(ssk); + + if (nla_put_in6_addr(skb, MPTCP_ATTR_SADDR6, &np->saddr)) + goto nla_put_failure; + break; + } +#endif + default: + WARN_ON_ONCE(1); + goto nla_put_failure; + } + + genlmsg_end(skb, nlh); + mptcp_nl_mcast_send(net, skb, GFP_ATOMIC); + return; + +nla_put_failure: + kfree_skb(skb); +} + void mptcp_event(enum mptcp_event_type type, const struct mptcp_sock *msk, const struct sock *ssk, gfp_t gfp) { @@ -2194,6 +2248,9 @@ void mptcp_event(enum mptcp_event_type type, const st= ruct mptcp_sock *msk, if (mptcp_event_sub_closed(skb, msk, ssk) < 0) goto nla_put_failure; break; + case MPTCP_EVENT_LISTENER_CREATED: + case MPTCP_EVENT_LISTENER_CLOSED: + break; } =20 genlmsg_end(skb, nlh); diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index 9e5b3cf27a45..42dae4c0d8ce 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -2369,6 +2369,7 @@ static void __mptcp_close_ssk(struct sock *sk, struct= sock *ssk, tcp_set_state(ssk, TCP_CLOSE); mptcp_subflow_queue_clean(ssk); inet_csk_listen_stop(ssk); + mptcp_event_pm_listener(ssk, MPTCP_EVENT_LISTENER_CLOSED); } __tcp_close(ssk, 0); =20 @@ -3685,6 +3686,8 @@ static int mptcp_listen(struct socket *sock, int back= log) if (!err) mptcp_copy_inaddrs(sock->sk, ssock->sk); =20 + mptcp_event_pm_listener(ssock->sk, MPTCP_EVENT_LISTENER_CREATED); + unlock: release_sock(sock->sk); return err; diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index 4780fb5a8087..5c9bb0d5f28a 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -844,6 +844,8 @@ void mptcp_event(enum mptcp_event_type type, const stru= ct mptcp_sock *msk, const struct sock *ssk, gfp_t gfp); void mptcp_event_addr_announced(const struct sock *ssk, const struct mptcp= _addr_info *info); void mptcp_event_addr_removed(const struct mptcp_sock *msk, u8 id); +void mptcp_event_pm_listener(const struct sock *ssk, + enum mptcp_event_type event); bool mptcp_userspace_pm_active(const struct mptcp_sock *msk); =20 // Fast Open Mechanism functions begin --=20 2.35.3 From nobody Sat Apr 20 03:45:51 2024 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2081.outbound.protection.outlook.com [40.107.21.81]) (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 6F3ED7B for ; Sat, 12 Nov 2022 09:28:55 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AqwZo5mLt3dveY9CmyOZwN5Rf+4uFGaeCUDJGy6hR98C5O/DVYpdbPS3ybBXsSuu5buK03cri7Kw6J09bSjilbZdR/2araKasDZ3EIm8gLP2a+WShTImEtKB8r1Flwj5F5hodp06CpXfS+T0s5pJ+IPzAdskEY4sDoBqC13/7hRE9t9sL3NMj14EcPtj+YXmBoWIIEGx2c5OXrYn42qd6UB/nmD+TYOl710a6FxjEFNDfxGkQJJTs2lFOSLw4nEHcUE1QSDItPlhdeI3/Cr9vUPC2I03dV09v+p1FVc28FN/7AxvSI3Qs38yugmaUw7yH57fblYXaxP3OL4xyeN9ZA== 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=NF8ttSRAoDQvzRahf8gtyI/IcjgylmXPSk5Tm/vST5o=; b=CzxfNYlnbLB6ZxE9j0gFbM/8yn1fIEjEP0UWu0xOssNKGdhrQVN+1n+avACSGrUYrW5bNXE7BiM1bNM+l+BjPTnJGUOjg7nHFZ+2BmUu6PYN+yvdduYL8Hsi1SgTyEULbzi+G75+QI63M1H8U+PhzZQ/3Fa0VfPIS2CwGx1Rg+Oyf2M95JfGqs3BsHLHAeTA9oqAaBYQbQ9nhCdxxdMC8ejtdQuv9DJEyqgWmBlkscD5FVEoXEMC9hszEt1uRu8yqks2I0k6qnNOf7jGq3ynt5cfZ14r9M1N9LfLFs4lxEgzuLKGYkTLumrOy5W6Z84HUiujQhPKSFTSSj5wLiFVcg== 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=NF8ttSRAoDQvzRahf8gtyI/IcjgylmXPSk5Tm/vST5o=; b=e8Z3hPaxLkqqYdLpbFWZxVgX5iZN1rabA2AmAKYg0KaA6eu0an3JZ7ESgWSQbdwbkcCmfYANQcYmRs8MUGqYSXIIJFikQEd+Nl4CqQ1IjqTotyPeb5+wUGOvgbMOto9+RHR6b3UJb8xjPI8BaQqIlXaJOyeEk69QwLNMX3TEdiHwkMSjRA+u66seSi/kqyEjUfu0KPttJBfk0djOAsJVg6YRQWNQ/0z99jj0n+ESc8BeY7LTuloTVaeQmU0lywLXSXpeKIu8eiCL5IyFcJWZ8SRHoUCJagkZmioSW48wCnToQFUEDZ4HImpRuCxHzTmiTZs1KB4I9RnZjzMgCNrEaA== 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 DB8PR04MB6985.eurprd04.prod.outlook.com (2603:10a6:10:11e::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.13; Sat, 12 Nov 2022 09:28:54 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::40e6:908c:5bd1:7bb4]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::40e6:908c:5bd1:7bb4%6]) with mapi id 15.20.5791.027; Sat, 12 Nov 2022 09:28:54 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v3 2/3] selftests: mptcp: update userspace pm tests Date: Sat, 12 Nov 2022 17:28:54 +0800 Message-Id: <420a0f5c5fef3436ef13fbb2c565bd6018ac47e4.1668245254.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR03CA0117.apcprd03.prod.outlook.com (2603:1096:4:91::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_|DB8PR04MB6985:EE_ X-MS-Office365-Filtering-Correlation-Id: 7d5e954f-ab7c-48d8-676b-08dac49050e6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 4HR8FQAJGe0ZnOCA+T/7fvc8MDWEM4+AE9HGrvfdn7Ae67wCtU9lEh7ZbYg/CpcNxPNlrsi9mcFUmZAzJGJApxpCSzx/soEqIKoa+vEmgo4BT6zXt8lU2BwUF2rbW+W6mGTMIhv69b+2bLZjn/zTcQtC6Q1Fr4veRkfYU1NAk7B1g81EydZBsMRwM8duPRmOb23ZplEWeFVj7S085g/siHE28dajbESfOvMar5tZL0G8nqkXnISU18rpKFBSz3SjJhRpcdScFdKkZPO869uIO0BbcQj8W2TD5c9kZkRdCcX//N8s/xnO372yXNXVI7KhatLGRu7MdHsVt2BCsGZGmHgRdxGKVQ7TCvVtgfdvmsoMBRbnQ31pfzdVVHp0KaK1IXIRZNF56fAeif5FGcncIJn2HDHYgVdzG/I42RlqP3KmBJ7JU9U6QRtTFJyjmre62ti43VvBT+gAlnhC5IqQvLO5353ML9ggR7ynBe0RFioEAZEfM12kf29+ZO7k9qIjwIN0ZNx0NBuZdP5cgRSyDPMkVG9R4vJIkhdJCdWNaymqnlET/eln8Vsj0gkHIk1gtx2xJHFfycIgjoYhe6BLGcuK9QVLgGlXH7fHuA2KdamH1s9ILBvTXZWnB7H3l2Zd8MG8TbmXkKR7uucX/zXymODtMih2TKP7K+V39KiplraR3hII1E3pT4uAnYhWXNH8HjzvNGRWy1cVq/hsd80UUQ== 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:(13230022)(396003)(346002)(366004)(376002)(39860400002)(136003)(451199015)(36756003)(26005)(6512007)(38100700002)(83380400001)(186003)(44832011)(6506007)(2616005)(2906002)(66946007)(41300700001)(5660300002)(8676002)(86362001)(66556008)(6486002)(4326008)(478600001)(66476007)(8936002)(316002)(107886003)(6916009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Cag2fnmpLy3SaR3S/I1sFpMD8J5vqMWXBpTxiRohApYwtfdyK9KikN4ORZ8c?= =?us-ascii?Q?SatYbu9W9LU487tIyXlGSJwpf7MMSaqZux4P+VNSeO5tonKqq2/4I+qdyqwb?= =?us-ascii?Q?k2AxY8J8K9qpWQwk4gdutYG4Kp3wRbn2/ch2M0ZS3nkTBtUBPafa4ZJCjTEF?= =?us-ascii?Q?Y1Bmj2NmX/7S4CS3wlmMdC6RNwBAUQ8awIXMFPqUjiLzy0ViRfVWe0FoqfxY?= =?us-ascii?Q?Pe09/v3QsqaCXPMZbsx1tto01pCbgIMwwNwbkuLGhS39ZQ3NnRFCgqaRB+wZ?= =?us-ascii?Q?99QWMg0IXqacNc+N29vapXqwVsRe+WAOVTHGTUM+PDgaeKiwzlpgyMpvriTN?= =?us-ascii?Q?bQluk/P4F/2b3ngoVHj1Cna0DVlHJMEh0oxifDjNBvEuaC1eKHhBkERqPYyv?= =?us-ascii?Q?fz1nbjgAuePHLEHTJNBtsLJ9ByEtdJ/2P+tCfpxn/arsQrzu98vCc2cdThyy?= =?us-ascii?Q?dh4wN+3sTV06rxE2xk/i7MhFGBhUUDTKngCt4m90929DGGP9e5TraNpNv/t5?= =?us-ascii?Q?K/CJlOtsL6hYNZhNCz720nU5JoEAVIC+OyUSo7bFrOgs1xAjSCAfZt6c9y61?= =?us-ascii?Q?rM6iisPEgvtnkot/krvOecsMg8SJ9m7YvTMRH8KSj/kwGd7cGX4ngj7LF5cv?= =?us-ascii?Q?NdaaEOiD+YoX2zaNY46UAVz9z7rJedfd5ZOxTkYViJhYE9NsPgJf+cNnPMQU?= =?us-ascii?Q?LIgat3WSzW2oviVciJ2qMrhhcR1HQFYcRferjx6kYaWNJANEA6EwjaxzfZG1?= =?us-ascii?Q?ltFdq5Py5TPeN3JE6CCJMRG+Y8R+p73xhZyLD21KE+TFe0NQMUWNPv6jUCGd?= =?us-ascii?Q?R3Dy03Qw+FlMj7U+nLGl9AiLQfmyKBHWRzajyZdRBSbM8mjco/XPyw9AZPX0?= =?us-ascii?Q?+0Fu041UsRh8NCHU/yMB/RaW93v/hbf85z3Rhr3N0srNOG+IFzdYf4iGaKgs?= =?us-ascii?Q?PvvwO4AzPI//Uy0QxHXlLtHvGs4tKDgmqq8BlZ75Tul9RMaAXG3RQXrVHy3C?= =?us-ascii?Q?UGgNxUiboT1/8eSXWhRkc4MwZGRz+uJ5aRZhipTxP72U0PvyiTsMAq2Kpyjz?= =?us-ascii?Q?Qv2TDlxqZfjs4oAzOY4jYt1BQfKB0SXJfE6NSNp+xuQ3F3fDlD2j9LpZ7J3x?= =?us-ascii?Q?gjjnZkKBTgdPbk/jx89yph7pSa8rbWZ7kmHVPDafH/Cv/G+w+lNSwMQELXKQ?= =?us-ascii?Q?cyObK7/7GtbPLVYZXcSoB0aiRw7xAOv/hS2DEtSzPmdRIXSt+RUtGn0HMBL4?= =?us-ascii?Q?VSTrKgs6N9qsnwqrvzD+LygjmvP9NYZjsX/cWDv3FuMkA7trKXtSfdrLwXUG?= =?us-ascii?Q?euYN3eePE578U7yDzqR3mgoOkO7TqEuFpCtWuT606jccN1ojitorhcw9HwXG?= =?us-ascii?Q?cPBtemqWkUNhkubAqhsdznmMhu92aaUeGu3xUYX6fZ7PRa1AJ5DxIiH+W3mc?= =?us-ascii?Q?qxEOKNRSbapwvW3c4mviZGxh6vZFJuB/wv+yQZ/EjdWuAirRZzhVpOcSDw0s?= =?us-ascii?Q?tLFDfha7v7Jnb1XtITju/xQ0fchuI9g44wqz0n/C8Pd2iWnUi5pbQxXrIawt?= =?us-ascii?Q?f8phyKmK8w6s6dWjjwGiHWgYzlzDkOf0ysA1WO1bGZJ6T6ETuD1cJFkhAKV3?= =?us-ascii?Q?5w=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7d5e954f-ab7c-48d8-676b-08dac49050e6 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Nov 2022 09:28:54.0458 (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: 0Pq8dfmI5tAY3vCJffN8Ob+hKSfvqrqVQl6jh1Em30z/XeX4oG00rR8lAITreOpKQKb74h5TcrGyif8T/P9I9Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6985 Content-Type: text/plain; charset="utf-8" Some userspace pm tests failed since pm listener events have been added. Fix them. patch 3 in "add pm listener events" series. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/mptcp_join.sh | 3 ++- tools/testing/selftests/net/mptcp/userspace_pm.sh | 7 ++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 2a402b3b771f..f10ef65a7009 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -830,7 +830,8 @@ do_transfer() if [ $userspace_pm -eq 0 ]; then pm_nl_add_endpoint $ns1 $addr flags signal else - tk=3D$(sed -n 's/.*\(token:\)\([[:digit:]]*\).*$/\2/p;q' "$evts_ns1") + 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 diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/test= ing/selftests/net/mptcp/userspace_pm.sh index 5dfc3ee74b98..08a88ea47a29 100755 --- a/tools/testing/selftests/net/mptcp/userspace_pm.sh +++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh @@ -172,9 +172,10 @@ make_connection() client_serverside=3D$(sed --unbuffered -n 's/.*\(server_side:\)\([[:digit= :]]*\).*$/\2/p;q'\ "$client_evts") kill_wait $server_evts_pid - server_token=3D$(sed --unbuffered -n 's/.*\(token:\)\([[:digit:]]*\).*$/\= 2/p;q' "$server_evts") - server_serverside=3D$(sed --unbuffered -n 's/.*\(server_side:\)\([[:digit= :]]*\).*$/\2/p;q'\ - "$server_evts") + server_token=3D$(grep "type:1," "$server_evts" | + sed --unbuffered -n 's/.*\(token:\)\([[:digit:]]*\).*$/\2/p;q') + server_serverside=3D$(grep "type:1," "$server_evts" | + sed --unbuffered -n 's/.*\(server_side:\)\([[:digit:]]*\).*$/\2/p;q= ') rm -f "$client_evts" "$server_evts" "$file" =20 if [ "$client_token" !=3D "" ] && [ "$server_token" !=3D "" ] && [ "$clie= nt_serverside" =3D 0 ] && --=20 2.35.3 From nobody Sat Apr 20 03:45:51 2024 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70074.outbound.protection.outlook.com [40.107.7.74]) (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 C8CBC7B for ; Sat, 12 Nov 2022 09:29:07 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NIB7ypw6CrV41MRSz08oZab2HiQeG/2h1+8PtWATGsVS8rfz95RHfOLtLrDEUp/lmEqI8S0YrcbXVEHLf80MmIwHUavNdtGxbSIdLoYvYwDehUaGclZYaOZuF7ikIRzVsQ3z07pYSeeJJR2MRGAuIvBmxVkMLpH2L16JI4p1Ci1E/ki0bTZMOU77HwA6mx/s/JjvQwL9Pj1Idsy7EfzXH7OOC5+PEQdfT0mR77//DUSxtJ5yTS8VQaEjzM01Q2zlWKW+1JFKuckdPrLj0uujVXWXrJKoSY61xIZSCR+bmAY3PONDufAyqdK0vKc3Bk/WdWr2HDeCVjsAbzWjGeik3w== 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=dHDC8D9qVLSxBc6uxb7Cisk1acma8iswRm5Zcnet76A=; b=HqjtodkzPwCDcj9Qv0LZ9BzS30QvdkZs2uk/nyGSArQnzHXwoJqhAHQTmmaGRqnO+bX7eolbAZjid8v4D8TL0aqpREBla7LPsjcWtc0RGodxO/wlnZzf7AgfAVlkv3gwmXyH5VU8Alomc1i6IF0VZnepd/JVVz5Y0Bxpnt6O//YU+7iam7Tx+jZcqxGLbX2vcRfHeYrekoekhA/+xWXXxKKHuy/9peOpZLtVyo6WAxMn9kdx5pn9XivIVPLr20i+QfR1WtWN1CuHbGP5AriRWLqJ4oa1g2v5Ro8nZiTgpyG7o9kzPcMaPnh2eLJdJoeE8lkK9Ig0/u+6vQBhdHZdvQ== 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=dHDC8D9qVLSxBc6uxb7Cisk1acma8iswRm5Zcnet76A=; b=LuoI9nDW5LfEoMhwDk6dbSj3cJ+VpfTrZ1fgFqMjunEDd9YllMM3IKi2B2m63pe1YHAxoxn73/i+BpNaawSFwf7KfqzH+dVbqdGIQjyeXrVsVIgbqGayIl9Od6bPcEqwdxZ0BlEHrcHKuDrpw+PPB7GLLM052R5ycp34vUKlCmshdYAuewdbX47zmxV9ddMaIIRyw+zA7he+bkYedCC8NQ7eJvhN/Rdsd2BpeAHI/9g4MP8DEgY92RqORrWNACkwptvDoNB1o6lSuZxQ8ecnywqwgBCPuC7L8fSzf2l5TAqqPdOdxzC51FmIxerpfpokScGALyRO2YC3rO3tiJttyw== 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 DB8PR04MB6985.eurprd04.prod.outlook.com (2603:10a6:10:11e::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.13; Sat, 12 Nov 2022 09:29:03 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::40e6:908c:5bd1:7bb4]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::40e6:908c:5bd1:7bb4%6]) with mapi id 15.20.5791.027; Sat, 12 Nov 2022 09:29:03 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v3 3/3] selftests: mptcp: add pm_listener tests Date: Sat, 12 Nov 2022 17:28:55 +0800 Message-Id: <29d4d7aae141c18b3c77873771e0812b6fd73471.1668245254.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TYCP286CA0080.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:2b3::10) 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_|DB8PR04MB6985:EE_ X-MS-Office365-Filtering-Correlation-Id: c981a096-db69-481f-ddcd-08dac49056ae X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 75G/xb9QC8LzZ28Sw2DXZ/wALBimOy02HKLV2yil3HrC9alf8mLiQ0NAZpktINCCmhvtn1MH7+Ba4HnElRJLP5MN93CkPDFe66Xj557zZqW5V5GVbWWMFamCixVWscA4Y2UgstD4HUFqIV68sWVJu+UO0GfXyiLZhf5UgV6KcfbpV2NFJoNJkUn5DjkIbLo8mrPzFq1bwEp1OMBn8WFOkPw8e79jxNuBmciRNX7f8yAQRQWXtf6C2RHpDLmG6dh19pEg1a4LKLetwH1YN1SUDLwDvJPqmmAPN8McO67P2xyLXXIaGZfD87oj/mGbimEIbY8+Qg8NeCx5+VuHkBDVpbS0kKOxriLHSbuJwK7mKRL+6bEQI0nHVISeshyUt/AyQQfNpjU+T6/12XdcJawcP8bkQSQriBcXFJ9Jh73GVUHL3JI3l6PMZ4aYvWima2KnNUrOQd8gK5ibQ+cQHdYDQXhlTDhtekrP4g2lQHeaWUlSqHptOda+QjYZoo4pY/ExZoYKJonDQ1xxV2jvNhdxbvoK6m3oPw+cY6UWDiLjM43LlzlYp+H7oHeAe/5L535ZkHqoI+8CG8YVbyIIqF48rRsrEgTN/clvD6edHbUJIShzG+K9ELo3oq2fi7LzujoGBYSOYMUqYcjmaxR6d6y7TEg9tHrdkCxsHvyMlc3lbFs7QyoljuSMmLagRTlOdCbvpDf6a+SHDa3xkiqt4t8ywQ== 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:(13230022)(396003)(346002)(366004)(376002)(39860400002)(136003)(451199015)(36756003)(26005)(6512007)(38100700002)(83380400001)(186003)(44832011)(6506007)(2616005)(2906002)(66946007)(41300700001)(5660300002)(8676002)(86362001)(66556008)(6486002)(4326008)(478600001)(66476007)(8936002)(316002)(107886003)(6916009)(6666004);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ehiiqct/w9c3+X19uGR8AsA4zF8cm3Ta9gMf1uEPJoF5Fce6pgWfft4UvKxu?= =?us-ascii?Q?ThPlwZHPFL23TjyoAKLwM91CvfzIUNkV6yV+JKhutTeoILPTTxcrUfXBUWDf?= =?us-ascii?Q?oDjX1X7MHstHyUymHpamFjxHNl+yw9l5A0NEfHdzJHoiqm6F/+P62uXwr5m2?= =?us-ascii?Q?7CjWf0XDsjnQdq7XWLyTn+U43TeWhTEwtp4e8ydPdSltbL5BNTLucfvndCFs?= =?us-ascii?Q?dzT10jfa6pxw6pU4cjIqPq8ppCjZWp5Px1qMhA4+ioHEJFAuno/bUZ2Yi10o?= =?us-ascii?Q?Hr9to7hhIPqog+p5z45ywHXaEh5CLgtJKPHELYhwxbLXJEkdTX0yAcPk4gtX?= =?us-ascii?Q?SRh7rAQT8o1OKLgeuqm6myuuO8PyzMZhkwuvUz0vqywbWtkNn5DLXbqj8B/w?= =?us-ascii?Q?gKihLVR/5wqDtRwASCvYJucMHAkuhbvKP7h68T2Eb0RWn2XQRUUWejCnoVbB?= =?us-ascii?Q?TkY7izb+DG6eu8w/fvwdCSo7DXaaFSAQ9ZNZK99yemMZ/+ms9kKdwNzEWZqF?= =?us-ascii?Q?bz50Kxrl1dM5gWnYCgIR6hCJeVbeU1QeKPD4vJOhmnJi/vfPlBkQYvWsHza8?= =?us-ascii?Q?rXyg+PxKm3d72hV6gm52QjbJ/JaRZw24HhpF8gX2WzIK9SUgsj3MCUfEt0DO?= =?us-ascii?Q?2zfuKiDnVF11RcEvs/Dr2ugacYMtwcoYvx6IjvVrwy0UOqVqStFP902FQRnM?= =?us-ascii?Q?FKy5MxsaWxYsAJ4hLHjiGDOU5JWygQyThG1ZO8NDYlALMuxZE0qeQFe/PCSd?= =?us-ascii?Q?B9C9MtkXl8OK3p3qBqNIKIxaIkg5F6xzNBYO/EC4Dridt6x4vSt+jeFS2vfF?= =?us-ascii?Q?FiPXxFeVEmPrFr/mgs/xgV49WMFfAo3hCdXh+rC3inwHSeUhuynrGAZ+S6mn?= =?us-ascii?Q?sLwCk6sDJ2gmsUCYzro5xm5+X2IXuvK+dFmA+RdCJIZwWW1hr1VCZleM/6I2?= =?us-ascii?Q?OowWvU43olM89E5zKk0CaS1WDJahX0rXbGwz5/j5GC0SMED/xh/j1INui16u?= =?us-ascii?Q?XkZgwrITX5m5yaaPQOhHajjebvsIIAKAqW33PRrLTiLGmoYi3KhAhHhwWVMr?= =?us-ascii?Q?bMeUuabcnXpw0bu1sO3870jLDSe4XbbEOHp1tD7db9sJKms7We6ZkE/VVta7?= =?us-ascii?Q?oN4qOu41Qd6Se0WK1rKdrAvQF9ambjQZCjnCauOK4lcYBBuBe9lxW3IZmk9U?= =?us-ascii?Q?xrIVjvGT3AS0ZNlMbz755hsXu+vdbfqMiJYsYGHuErLx4azlmfC9ssAw8ChZ?= =?us-ascii?Q?BijD/RaBHlTbsASoryUY4AzYe3bzfdaQBwx8W6MkuGU6RYkXjn9fYhrRMc/m?= =?us-ascii?Q?I3FzvLQqfi/ilC8tf55swoTCSOzHxjRFBdIm4rc3Zpc2YSRrXZOPlvTbxjti?= =?us-ascii?Q?Nx3BtIyyQCsm9OYshg8V71ToYnGRIBY3mBrHMCbFc7jyT5hqW4bTH/DhPxtj?= =?us-ascii?Q?otALFbZkC0fiZkLrNx7VHb/jFcYZwEhSBfNGNkq+E8Yrywdcmf2FdjXZU0H7?= =?us-ascii?Q?tOXwp+8ankRci7D8/tjk4lS67/hjdV1SBYUu5ReTZBxQ80ePW6kCEDC3te2c?= =?us-ascii?Q?E2cMMvR8Z8jCky4SvSi4rxdfR0zGWSoap2y8DZ9J2payaEF8yPmSwn8h85ac?= =?us-ascii?Q?sw=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: c981a096-db69-481f-ddcd-08dac49056ae X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Nov 2022 09:29:03.8106 (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: +neTzqv1fQT4ge9B4IptBMH1cXmlPWVw7ut/Z0Ti/nQptHgQP2VJOMcO0QVBUBrLmjle4i80Kr/Bbxys3Fj1uA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6985 Content-Type: text/plain; charset="utf-8" Add pm_listener selftests for mptcp_join.sh and userspace_pm.sh. Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_join.sh | 69 ++++++++++++++++ .../selftests/net/mptcp/userspace_pm.sh | 82 +++++++++++++++++++ 2 files changed, 151 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index f10ef65a7009..0d085396405d 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -2509,6 +2509,51 @@ backup_tests() fi } =20 +AF_INET=3D2 +AF_INET6=3D10 + +verify_listener_events() +{ + local evt=3D$1 + local e_type=3D$2 + local e_family=3D$3 + local e_saddr=3D$4 + local e_sport=3D$5 + local type + local family + local saddr + local sport + + if [ "$e_type" =3D 15 ]; then + stdbuf -o0 -e0 printf "\t\t\t\t\t CREATE_LISTENER %s:%s"\ + "$e_saddr" "$e_sport" + elif [ "$e_type" =3D 16 ]; then + stdbuf -o0 -e0 printf "\t\t\t\t\t CLOSE_LISTENER %s:%s "\ + "$e_saddr" "$e_sport" + fi + + type=3D$(grep "type:$e_type," "$evt" | + sed --unbuffered -n 's/.*\(type:\)\([[:digit:]]*\).*$/\2/p;q') + family=3D$(grep "type:$e_type," "$evt" | + sed --unbuffered -n 's/.*\(family:\)\([[:digit:]]*\).*$/\2/p;q') + sport=3D$(grep "type:$e_type," "$evt" | + sed --unbuffered -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q') + if [ "$family" =3D "$AF_INET6" ]; then + saddr=3D$(grep "type:$e_type," "$evt" | + sed --unbuffered -n 's/.*\(saddr6:\)\([0-9a-f:.]*\).*$/\2/p;q') + else + saddr=3D$(grep "type:$e_type," "$evt" | + sed --unbuffered -n 's/.*\(saddr4:\)\([0-9.]*\).*$/\2/p;q') + fi + + if [ "$type" =3D "$e_type" ] && [ "$family" =3D "$e_family" ] && + [ "$saddr" =3D "$e_saddr" ] && [ "$sport" =3D "$e_sport" ]; then + stdbuf -o0 -e0 printf "[ ok ]\n" + return 0 + fi + stdbuf -o0 -e0 printf "[fail]\n" +} + add_addr_ports_tests() { # signal address with port @@ -2589,6 +2634,30 @@ add_addr_ports_tests() chk_join_nr 2 2 2 chk_add_nr 2 2 2 fi + + # pm listener events + if reset "pm listener events"; then + local evts + local pid + + evts=3D$(mktemp) + :> "$evts" + ip netns exec $ns1 ./pm_nl_ctl events >> "$evts" 2>&1 & + pid=3D$! + + 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 + chk_join_nr 1 1 1 + chk_add_nr 1 1 1 + chk_rm_nr 1 1 invert + + verify_listener_events "$evts" 15 "$AF_INET" "10.0.2.1" "10100" + verify_listener_events "$evts" 16 "$AF_INET" "10.0.2.1" "10100" + kill_wait $pid + rm -rf $evts + fi } =20 syncookies_tests() diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/test= ing/selftests/net/mptcp/userspace_pm.sh index 08a88ea47a29..73d2297b5824 100755 --- a/tools/testing/selftests/net/mptcp/userspace_pm.sh +++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh @@ -11,6 +11,8 @@ ANNOUNCED=3D6 # MPTCP_EVENT_ANNOUNCED REMOVED=3D7 # MPTCP_EVENT_REMOVED SUB_ESTABLISHED=3D10 # MPTCP_EVENT_SUB_ESTABLISHED SUB_CLOSED=3D11 # MPTCP_EVENT_SUB_CLOSED +LISTENER_CREATED=3D15 +LISTENER_CLOSED=3D16 =20 AF_INET=3D2 AF_INET6=3D10 @@ -808,11 +810,91 @@ test_prio() fi } =20 +verify_listener_events() +{ + local evt=3D$1 + local e_type=3D$2 + local e_family=3D$3 + local e_saddr=3D$4 + local e_sport=3D$5 + local type + local family + local saddr + local sport + + if [ "$e_type" =3D "$LISTENER_CREATED" ]; then + stdbuf -o0 -e0 printf "CREATE_LISTENER %s:%s\t\t\t\t\t"\ + "$e_saddr" "$e_sport" + elif [ "$e_type" =3D "$LISTENER_CLOSED" ]; then + stdbuf -o0 -e0 printf "CLOSE_LISTENER %s:%s\t\t\t\t\t"\ + "$e_saddr" "$e_sport" + fi + + type=3D$(grep "type:$e_type," "$evt" | + sed --unbuffered -n 's/.*\(type:\)\([[:digit:]]*\).*$/\2/p;q') + family=3D$(grep "type:$e_type," "$evt" | + sed --unbuffered -n 's/.*\(family:\)\([[:digit:]]*\).*$/\2/p;q') + sport=3D$(grep "type:$e_type," "$evt" | + sed --unbuffered -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q') + if [ "$family" =3D "$AF_INET6" ]; then + saddr=3D$(grep "type:$e_type," "$evt" | + sed --unbuffered -n 's/.*\(saddr6:\)\([0-9a-f:.]*\).*$/\2/p;q') + else + saddr=3D$(grep "type:$e_type," "$evt" | + sed --unbuffered -n 's/.*\(saddr4:\)\([0-9.]*\).*$/\2/p;q') + fi + + if [ "$type" =3D "$e_type" ] && [ "$family" =3D "$e_family" ] && + [ "$saddr" =3D "$e_saddr" ] && [ "$sport" =3D "$e_sport" ]; then + stdbuf -o0 -e0 printf "[OK]\n" + return 0 + fi + stdbuf -o0 -e0 printf "[FAIL]\n" + exit 1 +} + +test_listener() +{ + local evts + evts=3D$(mktemp) + # Capture events on the network namespace running the server + :>"$evts" + ip netns exec "$ns2" ./pm_nl_ctl events >> "$evts" 2>&1 & + evts_pid=3D$! + sleep 0.5 + + # Attempt to add a listener at 10.0.2.2: + ip netns exec "$ns2" ./pm_nl_ctl listen 10.0.2.2\ + "$client4_port" > /dev/null 2>&1 & + local listener_pid=3D$! + + verify_listener_events "$evts" 15 "$AF_INET" "10.0.2.2" "$client4_port" + + # ADD_ADDR from client to server machine reusing the subflow port + ip netns exec "$ns2" ./pm_nl_ctl ann 10.0.2.2 token "$client4_token" id\ + $client_addr_id > /dev/null 2>&1 + sleep 0.5 + + # CREATE_SUBFLOW from server to client machine + ip netns exec "$ns1" ./pm_nl_ctl csf lip 10.0.2.1 lid 23 rip 10.0.2.2\ + rport "$client4_port" token "$server4_token" > /dev/null 2>&1 + sleep 0.5 + + # Delete the listener from the client ns, if one was created + kill_wait $listener_pid + + verify_listener_events "$evts" 16 "$AF_INET" "10.0.2.2" "$client4_port" + + kill_wait $evts_pid + rm -f "$evts" +} + make_connection make_connection "v6" test_announce test_remove test_subflows test_prio +test_listener =20 exit 0 --=20 2.35.3