From nobody Fri Mar 29 05:22:17 2024 Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-eopbgr20048.outbound.protection.outlook.com [40.107.2.48]) (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 584FF17E0 for ; Thu, 17 Nov 2022 05:31:19 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ia49YEQOSqMcwhCvXkqbYv4HBkSq3fj9RR+cxMy22gcxmJkETpZ7zwIgNa2zvFxPhgmxGANlLOYhJo7CJVcEYznm+pNzxhTp/tR12xCYunwCTpekjRm1P2I2Q9jXcjsnF50B9DDmCjpkvQP9+NdJuFoJ64BgdIjZecwHC+TAJJbvyzeMfWZrRQXGXNnWbSjigBzSPntLQ7NjaENN33mMb6YmNFTPA8j1hpm5sblK/nVkBEe2g+z9oiB69GNJTJCLvjpnrhRW3cL1hHNyIxfVdrvW5jNop+GdYRl6Wk8eJP7X+ksMWN0QdLXXFsQMlLoMQiaUOalPk+m+VBAcFhdh1A== 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=WGv91Kg87yXgq1t+ZiTpPAWomuvviN/narB1+3l0sJU=; b=WdlXb+M30GFlrVRELrlSw/rK6WGlQaQNNWMrZGK/77Ub7bxkLQ6Q41RK2y3pwccbKn68TTE1NIUe4ph31G2qjIjPHvvMucpioSyu7SMcSaXZ5JwWeyh7/PlpWQs3+HB5Uo8/7eapb18jnK2oLd+JGYgKZlG9zUL9jV5HZ+udcW7QzbB3uIKO8/pkKNOph58QyuRPdoUtHqIIKrecL3thruBhL4e1trvHRU8DQofzh8XKDl4gWczo/knFaLKmfW/7mkMJHbWDlGiO1q3J281rF7GT6ljbSrqXQw+aVD9BUKsZv9HvlSsfaZC3BGTrz/vybj+645iNRPEG/5ZCUkcOrA== 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=WGv91Kg87yXgq1t+ZiTpPAWomuvviN/narB1+3l0sJU=; b=Icw7wcMCCFhWS0J7MEiQXnp/NSZL2Gu/xWlNL1kJOiF6en+l5qejqJIrZXdWeUkDn89x4uYL7M0N8SJhYrJOSI6+YuBOgfg+vv2kM+lTbQcLcsUMqUR/BWlp6wwgB0CiX38RSycEUUaTslHa6k0iFPFTW28txqgKyVlLlBYiCy32kqG7qTekQ3GT5gSPPa06Dsd0R6FnqgAVrEh/OSZ1c8/7RNmFaCJ6dyl19CZoeDNFgJ5xHzOTWkqOGB3ZYNGrLqM7liOXIww0mc2txPtKUMyJf/QNr3stkASj1cI/XBgvinbpyLw1yIPRayBB1aw21oN8r7nM7akDVCiOI8DtDg== 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 PAXPR04MB8286.eurprd04.prod.outlook.com (2603:10a6:102:1cd::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.13; Thu, 17 Nov 2022 05:31:16 +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.5813.017; Thu, 17 Nov 2022 05:31:15 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 1/4] mptcp: add pm listener events Date: Thu, 17 Nov 2022 13:31:31 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR04CA0213.apcprd04.prod.outlook.com (2603:1096:4:187::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_|PAXPR04MB8286:EE_ X-MS-Office365-Filtering-Correlation-Id: 9b77c1bd-6223-4630-eaba-08dac85cf231 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: cKUCGEcBEuHCWmeavduEGFZ5dXH70gOcMhSnGcQLk2bbc5GtWBa+8lRehbGC1pkAZRL2+43chXKblloLoBjCg7QmiC+3sxBcPYiUQAHk3nrVzCl8KCwCSf61QeikWZNvkzZG3E9ydxBsx9iW85j/F4x17CaHA5Nf9pWkvHhKk6HKcL/L3P3slYyHlu0pbfIU5iN5m89VBjZiazNE+jMFofvLulEKW9Gx6IR8sGH1otzQ+EfEwdFVOpdS4xpmT2qqoQ4BFGzXwhSG9ZTzsL7gdwTKY/fY0lX55vVtvE0CikviyHM6oGC9l23MKDm3YpJy649EjYTTx67jROhAhfuzvuck43h2rifg0k0Zy18UnGK8YDVNJVDnI/yvaxX4ErZElhEsmJtNklw0Lu0BeViIUEOssY1HCZFdevuKrwZN3uLI5SZ3yD/LOr2n+jWERL6jCsxv/SxD7nRADhObYbVupvD0JgHOJpePD2AvDwGZ3hK8XuCYOBur0bQZv7yNxoj+VvoJy8Dtj6kMPV2ZvSskOBTHylI8jC3xZ6nXul/RzBG7wY6uJ7/KGX09PPFzlpBVZqtnJzXpXSHY/SN/IHpqqoutx1jCACJ6sMhWLUs4/MRACfNRXvIj+GeFEr3iKusmS1TKjZAOXT5KYV95arMdvg== 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)(39860400002)(366004)(136003)(396003)(376002)(346002)(451199015)(6486002)(478600001)(6666004)(107886003)(6916009)(6506007)(316002)(86362001)(6512007)(26005)(38100700002)(66476007)(66556008)(8936002)(4326008)(8676002)(5660300002)(66946007)(36756003)(2616005)(186003)(83380400001)(44832011)(2906002)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?B4hP8wgc5hO2SGcD5nfO5FXjmZNtlzxb/Ln3yIRthCNXUVXxefuwbmmDpoH+?= =?us-ascii?Q?tsezaZUaduiwoVhX6+n/fp2PIdM5VzsVVN+Jo3ur4QiXfc6ncsdhtvSawhXo?= =?us-ascii?Q?fZOQYcx5UOCruhDd23FPlDpqHxPSCYBYp0v8UZhT8LLV1XiVqIAC40D32jvG?= =?us-ascii?Q?ohrGYEFwXPlUgEYjVO4VbY9672A3I1LgWbicFxIRGVInkFp0EzHQJ4cvlUWk?= =?us-ascii?Q?Ky+ujnQLLoz6xIMJiKLzwzw1iJbS9aGYqVKu2271dcwLkEuk6qriiQ4Ilphs?= =?us-ascii?Q?TNsqvDddU1iahlrnMPIDxVo35tVnAV/oQjzvArraHYRCqh4e3zCSphw8JH4H?= =?us-ascii?Q?G/zl2bPdx3UcejRfxdZ9oR3ca1rx/W4qg96OeDjPP1R3C1Jo06KKXRH4QoJ1?= =?us-ascii?Q?AtwKuyv651oK2hbPgxM1rf1rcpNqDc3vts6aVj5eoD0+6Sasm9aMZypGomg6?= =?us-ascii?Q?SuPcYTbIbo7EtpTYd6m95BzUzaIJ9M157H05BQwgb8bi7cBeeqqtIVfNckzd?= =?us-ascii?Q?h19P+qoIjiL39MzwlOP+dtuCz8nOYfwo/uIxJauLnI3/YiYn0YhS/Ziz0hot?= =?us-ascii?Q?njHttLFxJ+hpR4mEkx33D7iOd3FoQUssZnDGxGJbeR6j9UVAkBMwnNuictSD?= =?us-ascii?Q?XfnNkdE+fgsopJYVgTH7Od437xhOIvJpUyRW75dB2V41yXT5MJyJkF92mHbr?= =?us-ascii?Q?ScxaYmYCEag7Ad0v4AhWtAGvHRYVex+oS5BtarYkFDBUxLBRziG8j5z2wc5b?= =?us-ascii?Q?pkK//ffmqg7bHXSyrnXvD9ADy3ERn8vqxz5GuzT1gQVa8DzShVgfP/Lpmob4?= =?us-ascii?Q?M3K7mroWu4BnMkPEhp4CAEMfO3EsXaFZlsRTpautA/GiytoEYYDCtD5SIbIy?= =?us-ascii?Q?HTeVHIep8BkwTL9N8pkmBvXsAp/kV3DfMIgehgiDxs8ah2X74MzvkGKlUjjA?= =?us-ascii?Q?2Qp0fdQ47sAykfn9K8VKVEp0/jsk1R8p0NurEnqDtXzVs+KvQ/3qbrWKSlPP?= =?us-ascii?Q?nYoc0lI1OL/v0+EHILxKK4CmRgOf6YNzDScRcwugwfFxHFXANzdWcvjaPywK?= =?us-ascii?Q?Mw7bcwS3GaBDIcs7bCqT4RV90GPuYSiwvysDM3eOXFBGuDZMOkh0vJTo9BKr?= =?us-ascii?Q?vs4O0TL7WMAlMSQD71eR84TxOR0+oUXiVTHY0UMxtQy+52pfxX/qbRKQACXW?= =?us-ascii?Q?j8iCJ/9uFVWvonVLgTie4aG+g/TjiSs9W1sK0EQmhqt/x92vyqd+DuA88PeX?= =?us-ascii?Q?vW0R87yKvBi6h1FSu5Y/diPakiZaMSPZ7T5374nB1E+OeLkA5+XpsXaDBUF7?= =?us-ascii?Q?/epSAjHiET7AS1DQoVjEiSIYKlJwTZR8w4BWCDKfMFStVD1TO6nlKXDI2Xpg?= =?us-ascii?Q?2KeYs/YjjFpyyipk3+GttQ3bFl286tb78XjJ0+JORyziYIG5XaV23q3lDFP8?= =?us-ascii?Q?/b5Nk3tDY1BeAI5+RSMai7HpImcGZ1jx4B+PZIjM/HDCsRRZdF4WfG0e8Oy1?= =?us-ascii?Q?dPLa4zBz2KFscorVzv/huLNXQ+phYs3wD0cVSTK7eEP03Prhqe9FewaUCShq?= =?us-ascii?Q?o39h/LN7Xb/cEVao4wj1j1ZOifS2d+Uej11ib+BC+Gz+LosrzDTfhDww12L+?= =?us-ascii?Q?4w=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9b77c1bd-6223-4630-eaba-08dac85cf231 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2022 05:31:15.5844 (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: 6QG3j6gO7OIBwqKt3ZiCfDpP7e0XRBzixr2lYuvD64Fu07kkihCYT6u9T4ABN3XEeU5cKIOGTdLMqa8hCjaR1g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8286 Content-Type: text/plain; charset="utf-8" This patch adds two new MPTCP netlink event types for PM listening socket create and close, named MPTCP_EVENT_LISTENER_CREATED and MPTCP_EVENT_LISTENER_CLOSED. Add a new function mptcp_event_pm_listener() to push the new events with family, port and addr to userspace. Invoke mptcp_event_pm_listener() with MPTCP_EVENT_LISTENER_CREATED in mptcp_listen() and mptcp_pm_nl_create_listen_socket(), invoke it with MPTCP_EVENT_LISTENER_CLOSED in __mptcp_close_ssk(). Signed-off-by: Geliang Tang Reviewed-by: Mat Martineau --- 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..93ae0fc892df 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_KERNEL); + 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_KERNEL); + 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 1f9b72b62998..c2bb4255969e 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -2366,6 +2366,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 @@ -3682,6 +3683,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 ffecd103cc50..bae216bff6e4 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -846,6 +846,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 void mptcp_fastopen_gen_msk_ackseq(struct mptcp_sock *msk, struct mptcp_su= bflow_context *subflow, --=20 2.35.3 From nobody Fri Mar 29 05:22:17 2024 Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-eopbgr20066.outbound.protection.outlook.com [40.107.2.66]) (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 6BAD917E0 for ; Thu, 17 Nov 2022 05:31:24 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fPFcAGEA11w07TVqlHD6WAlab2arzaEqhnjltqlI5WyHm42xyE2uDuF135a3lgMZA30/eqy6YlcMCIATiV2qlPEnWTSTrvWsPXzgnx5tB8nL7Pw5K4qANitSpNf5QQEH8k1tXlyGrN4bcmlxooPHQq/h90uvnb/IlLTJAJhJRrsr4HOa+mgtmog2BIfrNYXvSkFlLSrZmIfrAS+r8m1JgXwjeljH3S1o32kGMso38S1yijD21xytGEAUBlRsPR3Di0T9YT9xEIVCuTjRvRAbZFQd1RQLpUshzXUMdStiBn46ilH7fxiEls5n1vgvzjrFdMOvVd8e239Ig9/yClSvkw== 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=gFURh1JYxzRAGM5bGz1I1aiW1H/7t8cevLZzxUKj3Hc=; b=U0PgCsLJC1IzSzzjFZr+6Pl+WigHAqzS1fWupjIZWJqWazYt9zVAzbcV4DzrgbtqyH87l06qUsOW4PMAKaUu6ZKkGg/IwRaL/MtoBZq4C0pzT0DVPIIwKA/4w5YlS20QShIuFw4NzRvsGczYXV/WzJFXqul1qZZO13FhCPFia1Z+XkY+I+PuECJaZ06Gw4OxYzAUmyq+f4l+PKhm6RtPHkBSmHGvlUJGKDLLe8XCfc0t0yQ4aVZeP4R7wAQY7neLT4khwWB7oDtjDTVe35b3Y0rNcktFxEsAxDaro3X2X1GUt2KnEG8BRod3h134w+FM/l4GYrrq2IlPH1zwTo77Lg== 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=gFURh1JYxzRAGM5bGz1I1aiW1H/7t8cevLZzxUKj3Hc=; b=bSVz7IDNKnKUuX5jBfoqVDVhz8shN+gtlmvywr6LC07Gz+CY7yBeyH9aytZfEZrrmgHO1Scev8UJ3kMM97GUNadtVP6ZuVXXJu4n1sYt3HVGAAtmRdxmSNm1+gUjPk5kug6jUBgE39dbbcizloQ82dDpTT6HnaGynTmFxD2OveCcnn0GJmuxKEwC4X02Kn4/GPL2ChJQMdFJB5ynqW0TUf7i4Jf4Ql6tIvtMpAxbR+eMsGkJ2IvQmDus67V9M5g+ujGcAnW+nT9jxYXlWl3AI3dpe27hefVZAshNZ5cgZJZ0NIX1QXu8+MXcmKx2xn0Halz7PV/ECkCku8t5ogj3zQ== 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 PAXPR04MB8286.eurprd04.prod.outlook.com (2603:10a6:102:1cd::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.13; Thu, 17 Nov 2022 05:31:21 +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.5813.017; Thu, 17 Nov 2022 05:31:21 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 2/4] selftests: mptcp: enhance userspace pm tests Date: Thu, 17 Nov 2022 13:31:32 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR04CA0215.apcprd04.prod.outlook.com (2603:1096:4:187::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_|PAXPR04MB8286:EE_ X-MS-Office365-Filtering-Correlation-Id: 3c742ed1-91f8-4184-83b8-08dac85cf5eb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: NCtrVCTJ40s1gss+bStinlQhNDJWTKW9t4o9IBnmUlXayh07LkQwa8F7fNB6aktnE28Jd5IW+vq+yhwkubOU5KJN4LIQay0cOPkm+I5fa3xXWSV7kPtXH/GaP0++UOIguDpuEZzYLdeHTZaHgkwZw2YZjMIYsVJKoOOuyhU811lraM9rTdWO2HI2sVPaDPiyVt5fPnjZatS/a5v5blm++Cn/2Sfcfj3IF63zyH4zyMppQ25qRbvyE5E1kXUyQJD1S6QONQ2kXzhCaqGUGPozcnyIO3mxnBuZJ4wh3Y2u3qQLrCKbk48QlCp7uFk5Iv0Hz0rNV6J/IJUXZVUGmYPA/G/412QgY/J78k74rDBX2nQBXvZOdqbBjjPNa5dtTIvWQe6bmqTbAP+l4vZfZds6YRSyP6T8YDt2wIR89cj/wFCAoxuypQ2obcZHXaroSt34LgbQcJ4rN/qpXRdNbBvLBWPurOfbEGNgO/+2y2MByNauoi5APdxg8CIp5vMIrZWSFFpBXbFS0kmFtOheax8OVTUEqlYbbpVg2Ru72OLSkwy0XJAgjlVY68il6XlX3nDCvqdgF3LTJcXH6R324fcjfrzguKN83MI9FEm7/SWtNCyXhiRS6GJEN6sU9xNJli0JKp7Bb6IpRgPeQchYdkZzxg== 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)(39860400002)(366004)(136003)(396003)(376002)(346002)(451199015)(6486002)(478600001)(6666004)(107886003)(6916009)(6506007)(316002)(86362001)(6512007)(26005)(38100700002)(66476007)(66556008)(8936002)(4326008)(8676002)(5660300002)(66946007)(36756003)(2616005)(186003)(83380400001)(44832011)(2906002)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?aU+iAWx6pDlezInDC3lav2spunGHz0PcYRTptOFnhfeHLondpsT2UkkqshD6?= =?us-ascii?Q?FhCdMZodpzB7j7YWi7oYdQaJJdmQOR6hut7XtaMt1jnys7J7a2qon0eHCcb8?= =?us-ascii?Q?uTkmykD7Haj1PW2VNYnNNys9uioFNHIQzSvGRlRVcML27Is1/02MW46JBm4l?= =?us-ascii?Q?wwrajXZFwY4Ok1hH86Q6ErnnOSWUd1ZdklXVxF9ZD6+prPNygtx6fTOMEQRl?= =?us-ascii?Q?Zrc7DCiTPIhXveWnFOQqHoRgtfJN8Jh8WHy8oct2Li2kyb/OK/3zt32DgDon?= =?us-ascii?Q?NxNuTgTq+N75+z2Kw4WTI543Rv72yZ5WNFIcoqYnGRF1cdxgdNhh+yOXglJp?= =?us-ascii?Q?GVw4AkOetMU7FVzbjpnDivVgN+4kzNNmqGpj4Ll0kgnaOtZwVgBbhu5helW0?= =?us-ascii?Q?M53cfk2MfcxNuxwfIZX65Y7Cmx160hy6K5IhuVwsMh7vGxoefOh3nKCGggQW?= =?us-ascii?Q?9OcrnfTXzKonyS0tmjVwgrFq3iEk5F2sxVnLMhSjjwWzfcKHYAyWG1S1k6xV?= =?us-ascii?Q?s6SKhqw2D5sL2YAI4LCzi03BEcP/biB7XU+C3wVDU3GkWaCO91lvDcrcSlAn?= =?us-ascii?Q?r7md1v2f7YbMWyBXHwfUsVLjqDfhPId37iqcGq/B/3VqIa8JchODZRRjBx+b?= =?us-ascii?Q?/2HCcrTFPGt2cBj6dqUZol3kpDyl9/vocLhMs9ZA0lnAv9hM4t8Wl+ikjVjG?= =?us-ascii?Q?s3Ih0KkA67md7aqDz6L9f2SUdvwOGnXRL3cCizllTwTcOKDmh5mz4M9/W2fF?= =?us-ascii?Q?q9A8lXiTtSIYOIjykC3CkwBX9Hw5AuQqjdf25uV6+BuXEygM3FgENiG20Cd8?= =?us-ascii?Q?0RbPnfUyLSAEDPo82zg/+zvyp/1KM2lKq7hrJbqXCUAH4wISoHCIDT2ko/N2?= =?us-ascii?Q?d4kIXC2rvGM8j5xiMcl73xAG0veKsxcb0UYd9G0v/JefIEnjhNSlBrsSu58+?= =?us-ascii?Q?JRSRaOWc+QBg3K6fULTXd4DbJ84cQioX7K71bTN96e9bzmMLWJLU+iv5AhkB?= =?us-ascii?Q?Q7fv96g7zGoj3GBCWvEpUm5qJcqkrZi2lHfBIXvzVOGIY7j/aauyJkJpFiTD?= =?us-ascii?Q?SbqybWXhlJ3oXa0Vg4nd+AdxQT8FoZdS5n+rApRjkcAl1u0KV7SG6bCb5nfW?= =?us-ascii?Q?cAcEuCrk/usOr3EijdI5w6mQ4HbizF7rfAjvwlSZh3RP9uyzTKCXMxjgG5cx?= =?us-ascii?Q?dBc9SX3pbitPZRcuaneHpWkVakr0IhmA/p3S1sZmDTP34YB36f7D9NXS7Np5?= =?us-ascii?Q?5v8T5Q7UL2SvnH/BDvKQg32fId9vW/hKsfKN5D+bTybirgH6Sp7CqbT9HYJN?= =?us-ascii?Q?yoeCnPcr8eNfcCUJ/HSE9sWafMFSWfbvU/TMlAaGTqTPxVTgWyHfAp1sKhNz?= =?us-ascii?Q?o6l47Jtcawqyq8l0nNzS0NtcUBC7nGOGynP81/jNmatG2jjQkwM0eQhDbngM?= =?us-ascii?Q?Vvrj6j1iTY1WWDHssvDoRYhP0piP6njBOlSjI7+YPNlpmVxxodG0EGPd7tWE?= =?us-ascii?Q?ddI8ZnPUcYLI+VqQlWv8oqreU9KTmq7L/S6QA+h/S/vPiLqtSXkVFIaIkg/x?= =?us-ascii?Q?oRjaEN+DJWfKhqbHV+T99fMcGpojdMnkidsEHzjV2DkvNiGuXzHKbaXPApzK?= =?us-ascii?Q?wQ=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3c742ed1-91f8-4184-83b8-08dac85cf5eb X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2022 05:31:21.8651 (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: f+wSpO8/ks6nVfVvHIjGTLRmZNs6om75wkMwdp6VX6EKpCTgv66fGSaSNgzqG0hyfSzpbUUMC52fT+Uh/1JI9w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8286 Content-Type: text/plain; charset="utf-8" Some userspace pm tests failed since pm listener events have been added. Now MPTCP_EVENT_LISTENER_CREATED event becomes the first item in the events list like this: type:15,family:2,sport:10006,saddr4:0.0.0.0 type:1,token:3701282876,server_side:1,family:2,saddr4:10.0.1.1,... And no token value in this MPTCP_EVENT_LISTENER_CREATED event. This patch fixes this by specifying the type 1 item to search for token values. Signed-off-by: Geliang Tang Reviewed-by: Mat Martineau --- 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 Fri Mar 29 05:22:17 2024 Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-eopbgr20054.outbound.protection.outlook.com [40.107.2.54]) (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 A50F917E0 for ; Thu, 17 Nov 2022 05:31:30 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eUSRkblmwaX10JmjRUWHNrh9kU7qyzhXbWYOJYt/gziw+Auoht5lSngP5rDhcmxXOmuktfyBxNagK9nA+1RcuhuZ31hSUZZItJOBMnX40YBJMhK45/dd+lfXZQXS430j/aL/GEKSxVrB7qN/bHpeQLm7Xa53RtgRThcXW2WA7bcovs5AYdxhaz4AO+mDDUWamZK0zoI3Vuk47RHfv/dzzQdQaxUf98MfTc6zEBm+r5tItRoNLJDFXiHApaDBGgP11ArPZKxYU6CWWlW/aTk4NLLm3qoA1zOjEx2iPyomc1F7K92sA/ySBDBuVWpoM1i20HMoxst+R8QqVH5bsLJFAQ== 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=BDN/WaOXBhD0amBFC4D0WJxSjVfwDVo689M49l4QnMo=; b=b4PioGLBHBc+5IOyfkUeTjkx43m06UkPq8mF3zUPZRr0VrZhsT0d185V2RjBABUAINJxDgFkOiczUJuE+XqvkvYwnjsDrFsGyEBlU4PejuUxtbIIc+QRIjQnF0oig5pHt1F4QMeGT5W3EjmdY1OphtVkugbPVHVIkxK9XtFYBZaDIapfMa3n2H/lUJR9IPpM51KahogEY3V8FxsDSBu3gl/yvloDUzCM5XfYwVwoGCknYZDRlIgSZGBq3JS1PnXybg0125N4v8n3ng1dRuWbNgQRJM1xPFkpSY+OdHysXBQKv1jeNlAHvbhUwhJQ4Kc0usc/twbl6Q9GhMmh+wGrPQ== 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=BDN/WaOXBhD0amBFC4D0WJxSjVfwDVo689M49l4QnMo=; b=166SO+lR6nThiFmLu0qtFTzG8WsqL64rKNOUt0JPjmgQ54u7R7HbzGpXAOII7x1TR7Ns+AYWYO2N6t9nNaPew/i2r2K0NrdivQImjqUFCYwdW75rxvejC56usqSFxwFLhy8HP1t4dYjUc3RHlx7G0gb9PA9LD/+pNJ8zdTbCWSmmN+OAEzjoKLYiE5Ao0rk3GmZLvhdWMgk7LRZ1obSnKBvgtNlZZ5CKrAu7ouA3KlGoZxnL/Ru1Q3AVWkD2ZvBeXq8XAi7gUyW2P11h7gYowXS8RAlrQLesW79oTX3LbRphn3OHxF1C0DQfmB68eV0Zzi8wy+Ahkl75rn3DTZy7Sg== 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 PAXPR04MB8286.eurprd04.prod.outlook.com (2603:10a6:102:1cd::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.13; Thu, 17 Nov 2022 05:31:28 +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.5813.017; Thu, 17 Nov 2022 05:31:28 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 3/4] selftests: mptcp: listener test for userspace PM Date: Thu, 17 Nov 2022 13:31:33 +0800 Message-Id: <25f1826e79124415086fe3d6ceb139e2ec80a756.1668662624.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR04CA0199.apcprd04.prod.outlook.com (2603:1096:4:187::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_|PAXPR04MB8286:EE_ X-MS-Office365-Filtering-Correlation-Id: ccc1b97b-f724-4b62-1aae-08dac85cf9c4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: OXnM8Q4se068QbIT4Er+mrno8EJCFxy1TYSSbQAdTrnxJO/40Ddzp/BDYtL2T5a1h5tw7IyHyQq14bHG3j7pK1TJJ514sBmKquMIoCLKFnlZEcegsSgeKY64xqUz7W6o1EAYCZicC7M7AU3NzWsG0RVP0HOuhHipAG23mre8ZuetBPn7NlBhaeM8ezm+zLfPzSfHyRPC2BVUXZz0Xz4q/ZQqGTLiCUcufQxixVkWc35sohk9L76sA7Bjvi9yAySMZ72NpcnZ9zxzxCO1jZA0zyz1/Zi/lr6RPIKIgr8TvxFkIL+GhUdW39Kix+Gpwa9H90QXqVlISaQJFcx4t7hqEcJPKdKFbEIJZoDwpGkgYRhNuYKHMlXVt5qv1Rm/6VkExVp+T7w6QAmNrikR7ewfM/pmd/UplUWmiYPa3llxmbmCuNYsyPQfDQmzfur6WgFPZIOn9nUeEzhm/4fCJ/3wvi+dBPmajVLzzZgvLl4pfS86grmGSKgmqKCPc/P5aUthxDHc/w9ejLtrQf1DzgWbi1tmOGJSjCeHFf/iz+1C5/afyXFKJkAgse1hG+hIDZeXjElAmWBREEOlBQryk3EUk1vyVdZAUx5J2DL1i6yGnH7moKkHUETJNIzg6zdSbhRJ3I7E7yk8I9okSijH1MfDHw== 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)(39860400002)(366004)(136003)(396003)(376002)(346002)(451199015)(6486002)(478600001)(6666004)(107886003)(6916009)(6506007)(316002)(86362001)(6512007)(26005)(38100700002)(66476007)(66556008)(8936002)(4326008)(8676002)(5660300002)(66946007)(36756003)(2616005)(186003)(83380400001)(44832011)(2906002)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?6px1YA6XyveaaoA/1nIM6Nn3IpA5rYSeRekjbtGHMOv5xosTZ5jvCy6ay6u5?= =?us-ascii?Q?I09/lCNff/BR67IkIyKUHNdiG9QcGbSsyHzs63Ga0DITJtRSisL93LFBrj95?= =?us-ascii?Q?IEONruPCyTFJVF4S37Ym0VuJWKLTZDbm2GxpGKYeiX1qxkMzspBaNXnLAW0v?= =?us-ascii?Q?62QVnXkDaZvKgCJ/XAmYdxQ564XfqyXYapQvExLGdzny+l0pRQ8TRt2nUBh/?= =?us-ascii?Q?Utzzymu8kYiw5iq3H4sotXegBbNmGswRKn2/1IIGOPT0y33c+DJyxEbhCqZs?= =?us-ascii?Q?AdhbVYKh9s5Iy4s/PjTrxsitgnJGd7lT/bJ7awK5XMq676jVkA0N+cgrPPBH?= =?us-ascii?Q?/IfK6H/KMFtBs99+zLLxXsYmEMufrddOe37yWRRHWkN7c6lo9TWvG2k4Z9dU?= =?us-ascii?Q?qbHMnCSUwh+OOZYnvYbbPi/JRVmfN6PhI6VBIT15F3joMUOU+CHXqEt9psGU?= =?us-ascii?Q?2f/XUmWrAjdqPutjwjVqWRMllyiELCkZPMzBJZVwKJd9Ah/teGW2KWse1pcJ?= =?us-ascii?Q?St5H2TX6BoSm3Idqhpdx84ILbm+K5wYpcYa5B4oCCh7THs5INaGkrlUuT/ot?= =?us-ascii?Q?9MY2A80plu54vyD6xbUQTB1sD5sKedWRvOAllFhFTnRMwbrdK1fT80hT0FqD?= =?us-ascii?Q?0CytRmjY/RF4hiEW9TQmMB0VRzv6lgac1FPLNXRIKQoRepX2eZYiWkPMgjyu?= =?us-ascii?Q?kCEO8XbKkzjM0z6bRM2E1etZ3/HismTTIyBV21pWpgLaLzjCa7zxYJ7uSDWw?= =?us-ascii?Q?iZk1CBriMKyFfzAihvI2ke0V4kxPNONYJNVGRhZNStc1yTOebjPleXH1szI3?= =?us-ascii?Q?CPl1Q2FRW+O+42or4NUN3IziNMe806IZBuSvlX0oOQwowkaDDWmvPKEYTbCo?= =?us-ascii?Q?Ez6KrKmaVBbkwOm11I53VtKSws/Wvd6oeOi3iLfyl4T40HRzgz30/qD4rXvz?= =?us-ascii?Q?FM+DRmUTjsr8YePuseAzBEGmHg2IeTJyqYEJzfnoNvTGvfrUqvJB01iZ75mA?= =?us-ascii?Q?MWwqrnc1NVQi5xdaBMGQzOgV82QguhZeyxR3y439N9FFOzvhQxlapZNHA85P?= =?us-ascii?Q?X+vxCqewkYZ0+BdJw8VQLMcu1QRjIPDNeaYpLj1RjhpvnIx6YMRQ1Uxt7zzi?= =?us-ascii?Q?MCeDYSCOJqx1axnvWL855+uW5tCAx3bHV4iKsm1BnrOeVfqWLUXd0ZWLvn8o?= =?us-ascii?Q?f/PTBC8d2eM6a53c/xjkGpGRr4bWmmPY944RtyHIGny9AHV8Zkcbgs3UfRUS?= =?us-ascii?Q?RdU7s3I37ZyiOKs3fWVGOMYNh8UEfDeq9ZyANH0m1uLg1Su4Qm3smNu1QKuB?= =?us-ascii?Q?oY2uwYVvrlezuLhtYU+kbrA62IJvKC2rBsjjs8t6odcOhYJlSenWoL0YULjC?= =?us-ascii?Q?uwxyJ396g+J8ARYfYs+4tERMdgkGj7QHBgaGMaisJxyHt64hJxIqICLzZMok?= =?us-ascii?Q?6IUDuvVb+kIrikN1S/8IpKgOFmdf8/ye9TIA+7PI022zb3AYIw9Aaghiert+?= =?us-ascii?Q?cdQPVNN6K/h0d7teozHo++WkFGJ+6l/ElCXqdRKONwfNW+UyuTiG83TZluI2?= =?us-ascii?Q?kmihjo5+4e/Jc9TKNSWii888TWBoX9rIJm+g0h0gSJ2JihVUY3JgJKUsFk4j?= =?us-ascii?Q?ng=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: ccc1b97b-f724-4b62-1aae-08dac85cf9c4 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2022 05:31:28.1771 (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: Z4GtQlsvQZ7v8RHuUc/GO7ydcLh3+iuq0uhDlZ62+GEurLwA8vsgRdnbzRV3zyA1iHq4jWvrE/wDj+0n7O6o/Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8286 Content-Type: text/plain; charset="utf-8" This patch adds test coverage for listening sockets created by the userspace path manager in userspace_pm.sh. It adds a new test named test_listener() and a new verifying helper verify_listener_events(). The new output looks like this: CREATE_SUBFLOW 10.0.2.2 (ns2) =3D> 10.0.2.1 (ns1) [OK] DESTROY_SUBFLOW 10.0.2.2 (ns2) =3D> 10.0.2.1 (ns1) [OK] MP_PRIO TX [OK] MP_PRIO RX [OK] CREATE_LISTENER 10.0.2.2:37106 [OK] CLOSE_LISTENER 10.0.2.2:37106 [OK] Signed-off-by: Geliang Tang Reviewed-by: Mat Martineau --- .../selftests/net/mptcp/userspace_pm.sh | 82 +++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/test= ing/selftests/net/mptcp/userspace_pm.sh index 08a88ea47a29..40801279ebdf 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 #MPTCP_EVENT_LISTENER_CREATED +LISTENER_CLOSED=3D16 #MPTCP_EVENT_LISTENER_CLOSED =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 From nobody Fri Mar 29 05:22:17 2024 Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-eopbgr20040.outbound.protection.outlook.com [40.107.2.40]) (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 E4EEF17E0 for ; Thu, 17 Nov 2022 05:31:36 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OXDovzlHIYcETvIhOGUYSDn1279UR595nuFKxK+nfbvicT5rVGbYjQosTHaebEG6gLasSVXHO1x+P1qOcYsqNKI0UGXNJJBrrDMTk0B7YbQS4H+nvzYARmeAfd4NGSaRSS7ufGZbnQjpjWSvgglOxoWEieTKM0v8oiYtC7P98viSW8c6EXx7KcqaGWWUyWuG93+MjE43CreXehgGFOGwmdcnxhqU38WREcjly74onkYVG2n1gt468sYZU7EkqfH20nqdGJbVd29i2u6n8+lnF3tcCF/DbFYx8hUqH/E2UytWpX+JBvaHckJU/BZwH2MSMRlmO3dCfneB513yp+/7VQ== 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=SGI1QJaWHr/T2l7HEd7AsrnUteKbg0LbEmKBfODc6tA=; b=j/CHjf2S3uiUx+qqEsbpUm2YuYjQY4G69l88VcUIRdSdvGzvibquAFx4jqUjNnLbnm7MC+jovpfsFpM/o2PK24B3mxCuIRkdg946YReFUctccbvvkgjxfmI3rPUG97D01k9HscicwbG6Ccpa+sHG+7fBlcgyzAPPud4JrwEf8A8HWCkjL3bQgsb8718a5DEacocETASuQ6+UGrCYBk/xkL89ceEgMc345ig6bKLQ+3faVEfneaz/MzOzbMhPS7voKjrU5n15Xv+G0XUYam7S1VvHEtAS1M/avPi9tlfoC2mt2o1HtfuT+xHZe/ekcSznt4UsXZyK99/frcMlf4hdJw== 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=SGI1QJaWHr/T2l7HEd7AsrnUteKbg0LbEmKBfODc6tA=; b=zJuLW2eDWQjEkUEaaoCnbNBm60YCjp716P6aeVy+y1MBsblmea9AflOjU7QMvueZqPoM5q2D4p05Zu2k0jfgeHBem9+If01mx1sAKxLobM+WPWVWlx5d26I/C7KmDJeLeFxhKR1E53e1mUIaI7gGcwTVDmbgxOvuctKhWUOH9wBBk7jrSZeocX0QCznicCCR8Sw4i/oCJiiA/rUo1ruExYf6IuRwmaetfFpNVYmEhvikz/Raafqp3yqxImIvX/CoJ/nxtP/T/WWb5v40ip9WZak4ratjhvDdm2KkGqGR6jIgKrVeoMPjbcwxlm1FuTg5TTXodNVY+uG1Z5FZJxH/Fg== 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 PAXPR04MB8286.eurprd04.prod.outlook.com (2603:10a6:102:1cd::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.13; Thu, 17 Nov 2022 05:31:34 +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.5813.017; Thu, 17 Nov 2022 05:31:34 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 4/4] selftests: mptcp: listener test for in-kernel PM Date: Thu, 17 Nov 2022 13:31:34 +0800 Message-Id: <60b6d97a1087057ed07ec1c0c7068e22cede2ad9.1668662624.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR04CA0201.apcprd04.prod.outlook.com (2603:1096:4:187::23) 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_|PAXPR04MB8286:EE_ X-MS-Office365-Filtering-Correlation-Id: c85039f9-948f-4a9a-b3a0-08dac85cfd7d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: eZ8uzaHJcSw4sN1Wnjvby8bUOmFCX5FSpX+dbM8oUJSHKePQVCe6wnzqkx3jf9Bvu3h7T1F36hDC24kkMuxYrnGkgJjGfI7wtZ9zBiEgI7gxn5Kg5rZgIIWlEVSU/9x/Jd8Pq/W813e2c878YoPj4e2EIpd5rNETF1gDJlFK6XDCH2IHavSNx5MRQV2moq0zk7dMlrE7zgMEojkmuAeRbkYLpGcx9QHtPWlHcHu6o4RLA8yQBHSoAbo1Yn526J4zgFpLcwHJ0QFIuMbPxFEK1xpoj/ecZpi00EUwWbhRK5y0+Ek0QNTCBwWVk5EAQQqRassSu8AQq5wW++eklY3Iy975iZ+x5yRdxd2iStkw5RH/x5zmRpnUrqXWeN+h1IT1P40gVFI00gPVEfXNam/3y88YL0CaksErH6TIHGQlAUi6VvVcskLP4KyQ4EeZCZo/Pj+MXZocFzinJSyYSdwnmiJAYmnd4qMaMmgVJw9Kn9xqiu6LVb53AtRWJojpT3KJlSmzDGhHE/x2icjtlKKAlkyTwzip83mgaviNloSP+Ohcdf5O2Iu9SUkSrhMIJyjdQ8lbyLz2OrZEAVdlgE3tSQ7Yia/nDF6kLreRIHe2DEpKpH7rHNTEszw8Ej2/1NZs8ZxFX9/d8nuKL4HGa54X1w== 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)(39860400002)(366004)(136003)(396003)(376002)(346002)(451199015)(6486002)(478600001)(107886003)(6916009)(6506007)(316002)(86362001)(6512007)(26005)(38100700002)(66476007)(66556008)(8936002)(4326008)(8676002)(5660300002)(66946007)(36756003)(2616005)(186003)(83380400001)(44832011)(2906002)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ti0t58OciM7y1mnc/TidtaJbeX2kP3W/pu+ppn0jUreHDASX/hTzs0VErDaC?= =?us-ascii?Q?45aJjy4AE+jVYnPsqcBZomHeYearIT+unRUDBkAvy7Nlss+lUUWXbrig4lZL?= =?us-ascii?Q?USVpEIjBhgHDxdrUviA0a5CJJjB62N7E1BrTGJE4MZnr7AqIfl/wEO3AdpHU?= =?us-ascii?Q?+GIdfessuaO7I5U1Z6S6ndxC3rPlkUkA0vwW4ynXXfhLCwAZE2utkePO9URn?= =?us-ascii?Q?7H2ZjFiLRdvK5Gsq8NvJFntj2QUopSil8D2AFUjy/+W6BA4afoeq5TkJK5tJ?= =?us-ascii?Q?t48ESGHvDT3dcfeKgphiR2HGDiXi1bR7dfNZ27imku0Gb9BxkESM20JnlX0W?= =?us-ascii?Q?Ucql+r8/5KNk7yMK+6QpyBCir8Fx3d5vSI0bzepzmpIa2170ZPly9R0yH8Pa?= =?us-ascii?Q?vaxNzAlXPoQ/OkWY8GUomE3AbGerWd5ZVhuv3tD9r3dZOcUqWaI0SayuS/t1?= =?us-ascii?Q?FClh5vQWncVMzB9Q5uTRLDnGvZWD06xfhJ40z1wmXd6ovCjkOhN1R9wrMlN4?= =?us-ascii?Q?r6va5jgST3GRM21ysrmcbFXH0LROBv1EHtk7tpHVONFftXHg1GbjF9j3DbKV?= =?us-ascii?Q?55Ankfv3gmzPjJgN0d0PCCWnr+YgLh4ftMiqBUNEEPKwj41PduRz6nRTWneo?= =?us-ascii?Q?BJmzqFr83a1AdlHhdEHaSsouUtg4nQeneevSHBSQDViIUsrBJ8poysSe3WbK?= =?us-ascii?Q?7yrUVB6/QzP25N3/OUNGZZqC4jtv8JfRo+TAKdxnDZNZuHR5u/H0tWiU97fd?= =?us-ascii?Q?8uwSfyeRm6eB7XL/qNr0RiWL6gjXi19UTmDqN5Xlcd9ComtXLiNJ0qPxrLKV?= =?us-ascii?Q?QgjRViJrYv8mOT5JridMCVNzd0T1Y2DExQ6Bk5rA2MmY0FexMwYb5iJx8Vk3?= =?us-ascii?Q?irbbwP+IQ/k4kCNT2fxBNWrznL+AzH0VKu+SDkXgwkSAG3HzzB5yYSBNzGKT?= =?us-ascii?Q?X2PSt3cuI3RnnsVE0T1ufY69adg1qIBorM9SajFcUoLzda9JRjmaJv6qSurF?= =?us-ascii?Q?gW3OdoOo+mvwshZk05/OyErjN22vLW+AmYe+mCqsiYboeMLAqGukRw/k+2u3?= =?us-ascii?Q?JjD0FAQirFezwjEcapIgx+1dKfS7eYEX6T3Vi7ZFK4EN0m+2vf3T+x7uEBFl?= =?us-ascii?Q?C9Fk1IcsxUcYa2kUIhgX131LMxVuIytGpNig2GnkHmTjLskcyDH+LRP1s+Lc?= =?us-ascii?Q?oFa+HxcrNPYmMH2rjaYAg+RLF08WlRFUqpqR/VoFOyOrq76YuF2yKsTq9NYQ?= =?us-ascii?Q?VjYWVJIsvz9VmhCITXY8cP3pJfLrmUgf/p6LXu8HyYlyveaYIyCM5QfYWRgl?= =?us-ascii?Q?l+G+PvgNTje15HEgubNOkzDdLkLUgA/DrnWszzwpkKOwnHzmiYexPFwqYKb2?= =?us-ascii?Q?XBMEC29xPJZFuGIvNqCMSeo628RVrWeRBaGuJj2LjORKfTfUcV4zNeqjn6lu?= =?us-ascii?Q?TVKJfYPLJZh+zSTZCJLPSMvw8kHMKeZstMS3KzCleBaYxFTR9A41eBckdXEH?= =?us-ascii?Q?ZGF/Vu69rICUvbdHnsM8HAf8Xu1x6Y6OT6d51+45GHbNDYK67CWZv3QpyDgy?= =?us-ascii?Q?BrfaLcnU12iG/+9JwAjsY6LVPBEq/Jx0gqXN3eqaewPLeGIqqsCIm+rfNYft?= =?us-ascii?Q?hw=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: c85039f9-948f-4a9a-b3a0-08dac85cfd7d X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2022 05:31:34.4422 (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: CsOwAQDdxfWB7bgFDx9n5edpY9eEH2Cfs4ndXLTeUXQwdpT2hLXUgFdWHKAQ34xTJZlLc8WSdyTbVWg7gY62JA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8286 Content-Type: text/plain; charset="utf-8" This patch adds test coverage for listening sockets created by the in-kernel path manager in mptcp_join.sh. It adds the listener event checking in the existing "remove single address with port" test. The output looks like this: 003 remove single address with port syn[ ok ] - synack[ ok ] - ack[ ok ] add[ ok ] - echo [ ok ] - pt [ ok ] syn[ ok ] - synack[ ok ] - ack[ ok ] syn[ ok ] - ack [ ok ] rm [ ok ] - rmsf [ ok ] invert CREATE_LISTENER 10.0.2.1:10100[ ok ] CLOSE_LISTENER 10.0.2.1:10100 [ ok ] Signed-off-by: Geliang Tang Reviewed-by: Mat Martineau --- .../testing/selftests/net/mptcp/mptcp_join.sh | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index f10ef65a7009..89a30225bbd7 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -2509,6 +2509,54 @@ backup_tests() fi } =20 +LISTENER_CREATED=3D15 #MPTCP_EVENT_LISTENER_CREATED +LISTENER_CLOSED=3D16 #MPTCP_EVENT_LISTENER_CLOSED + +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 $LISTENER_CREATED ]; then + stdbuf -o0 -e0 printf "\t\t\t\t\t CREATE_LISTENER %s:%s"\ + $e_saddr $e_sport + elif [ $e_type =3D $LISTENER_CLOSED ]; 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 @@ -2533,7 +2581,16 @@ add_addr_ports_tests() fi =20 # single address with port, remove + # pm listener events if reset "remove single address with port"; 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 @@ -2541,6 +2598,11 @@ add_addr_ports_tests() 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 # subflow and signal with port, remove --=20 2.35.3