From nobody Tue Apr 30 08:24:26 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a05:6638:bd2:0:0:0:0 with SMTP id g18csp1419708jad; Wed, 16 Feb 2022 03:05:09 -0800 (PST) X-Google-Smtp-Source: ABdhPJwjLaWYAgX6X1Cc0Ys1zn5vkJQwjjEGWdXy6Y1irL51eAa2m+gxUqhM1IwpbL2vhEgY7Maf X-Received: by 2002:a17:902:d88f:b0:14d:696e:949f with SMTP id b15-20020a170902d88f00b0014d696e949fmr2388008plz.8.1645009509094; Wed, 16 Feb 2022 03:05:09 -0800 (PST) Return-Path: Received: from sjc.edge.kernel.org (sjc.edge.kernel.org. [2604:1380:1000:8100::1]) by mx.google.com with ESMTPS id l13si19950357pls.127.2022.02.16.03.05.08 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 16 Feb 2022 03:05:09 -0800 (PST) Received-SPF: pass (google.com: domain of mptcp+bounces-3777-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) client-ip=2604:1380:1000:8100::1; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=mimecast20200619 header.b=ezWAQ+zM; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-3777-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) smtp.mailfrom="mptcp+bounces-3777-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=suse.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sjc.edge.kernel.org (Postfix) with ESMTPS id BBB063E0E69 for ; Wed, 16 Feb 2022 11:05:08 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id D0EBA23D8; Wed, 16 Feb 2022 11:05:07 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.111.102]) (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 622A97C for ; Wed, 16 Feb 2022 11:05:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1645009504; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=5ggPhFKeeCMA0z4NEopjpe1Zf+264JMZUGetM/rdXpI=; b=ezWAQ+zMbKcaic64wH+yjAwaMIp+CZtmuZtkCqfgV2ojttflmrjegQLl6FmK0n7zw+Fndj dL0Z9Wjh3W0NiF8uPEMw/9/B9aRL1IeOsa5KijY1TS/aZkrKRBQTQzZL1hmmhmM9YW9Cmt kvZcozxw6KtSd2ljHiSzaLLOlXSyCDY= Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04lp2059.outbound.protection.outlook.com [104.47.14.59]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-2-p_S-8PLYNnGgpN5uwKDj_g-1; Wed, 16 Feb 2022 12:05:03 +0100 X-MC-Unique: p_S-8PLYNnGgpN5uwKDj_g-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Si3u5wycOqBbzbg/G8fGUcn7KWYMSzq7lQINIgGOO3yoPUujp5tRVE/uQ02dyatHciXoNevliePB7cqSPhHZc0dLV6uDfYwdZJr12jv2awVYbRoK90e0qo85u4bzJxYmW7UtIntffwUl29kV7w2p8Eo6sz6c2w36h8cN7MizdWqrbWkizKrmtRWgnZhYcYFLkprAIBTYHSCJOWsjzKSz7AcCWQJbwmybL9NOKpQCdovWTzl20g+icYtNnQYbfoEYqc53xeXLVgkM2eXg18oIgKPtjyclVOCFDfzbFr9XuQuLDbwXjC5WLRGY9sskyvFv62XfH2v0H3RaQcpe06VkYg== 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=r2Yn2HF0D6gYYTGBd6R2cDQC/aV9+JlA5MvPXJhraz0=; b=FqSPNRSUiZGQKf6g9fwGoQ6ujRm9LHr9fe7sXcKXxNKSVRwJRrznFvLCIfPSwJSAUxPV89uyYZKT+xzYNrtiir977TFKQWdv0dyEZgKhFSE1dCJBCBYZF440hjd838h3gnMyjOFrG89/zum1FL+SVEEAu9+SqURVFzVUeDiAQnvqenk11lkeSmrSBP4SeQg+HPvrLwjODL+9am5uwzO3xg8PaQMBAMhLc5poK9sdvT0Jd/LdlijXeyevLgTcf1mkDXcbdgNp8zGTJ5TmsErsQzVUo3ocdMrNF8NDWrkduE8VnNKLC/BgvZiO5RkkDAaFvr4iw/P3OnpyZz6SNv/DyQ== 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 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 VE1PR04MB7422.eurprd04.prod.outlook.com (2603:10a6:800:1af::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4995.16; Wed, 16 Feb 2022 11:05:02 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::60de:f804:3830:f7c5]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::60de:f804:3830:f7c5%4]) with mapi id 15.20.4951.019; Wed, 16 Feb 2022 11:05:02 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [RFC mptcp-next 1/6] mptcp: add MP_FAIL echo support Date: Wed, 16 Feb 2022 19:05:08 +0800 Message-ID: <8a936e54bb0147cbdeaf4e5430390185edcb549e.1645009373.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2PR0401CA0011.apcprd04.prod.outlook.com (2603:1096:202:2::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-Office365-Filtering-Correlation-Id: cf50fb07-102a-4d12-f59b-08d9f13c2e48 X-MS-TrafficTypeDiagnostic: VE1PR04MB7422:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:4502; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: CARRi+pNAxG3F5ku2p0On1nZN6kN9y/FLFYezVD3CyJgD9ztSIJJ6pbqSOro33pZSQGz4cIzg7sPOL5fMC9TM09ujnFCaBC2ZQw8o7rZcyHJuYOBLkHr5qBdKBNbhC+8XTdBDpI3xAjC0XgYtL2+fM6CY2GAcGSO8U75ITupHhn5bij3u+3TOEvRphPOIRyKtVpze68VLBj3bM8d4KCM2L2ILogCweMVXAb02NX/XtdsHuOHZ4Se0fALLsXtJk7gwx8Wp03Isr+WEPxmejVebE2Iva+M+13QItMXV0JieRGZaaoKV6cXOQFc8AxpJZBQ8kvrTzp2XoP0rP7pkcAMzY+eW6adFPR5o2Q6YJarJwvJnd4uybTef3BeEzab49xnb8ZCox64w29Q29VaXbgrWrNjZVEussxn+PZtPiBFPJsif/kLPJiSWIoPycLADtpHDtWzfbWQHEKRknrJ8wD6GQ+ZJzlVxNLESnSpXvVj108Oc+N4+gbBWbawNdoninq89YFo/1CkGo9TREPZhhP4tSmf3fkBhdlh9Ymly3tjBi5IGnj5mc4+l88i9/HziudEwBd9J78dJckogvK9swl7hGeeen1nW3Ftz9j6dBdX9VVWci5h9STjXNOsPkqJgR4cjB6bQ2bQfWF5lyMhjdR7yg== 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:(13230001)(366004)(5660300002)(6916009)(26005)(86362001)(2616005)(44832011)(8936002)(66946007)(66476007)(83380400001)(66556008)(4326008)(8676002)(316002)(508600001)(38100700002)(6486002)(107886003)(55236004)(2906002)(6506007)(36756003)(6512007)(186003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?XZIQI49v6RncldMw3v/Kmlgbwr1EajNUf3vItG43l6op4MeZjaKPkiYQa5VB?= =?us-ascii?Q?ocWMazuqu5fjE2EmUzBLLtTxwOBSTSDwt0x+GG8o3QCp4RruoVRPruYrOFg5?= =?us-ascii?Q?han8vVEUKN97WWSndIhtUL+moS9vfa6QQ24ZXhSdC5ra4ys4EhFRXVuAg1Ap?= =?us-ascii?Q?mybaXkNs3XqXI2tZRSpnx+QfO+BXMWBruy5A0QSnx5JV7MLzWPnPqQ3xrbvX?= =?us-ascii?Q?wTvGad1ALUIsai7PmUFK+k4r27INDq9/4QYHczR/QEorwwRpamAwyg+1Gb4U?= =?us-ascii?Q?aFzeKUHTfxx22D7oOQjk66gk8lAeDhZOW3JTHhYWE3+ZNibRf9Hp0XqsM9jQ?= =?us-ascii?Q?byQaiFnqB/HfAXjv2wbpgcuKpcvXLTgtln13+qV7o6LZojmYjBPM8z/mX808?= =?us-ascii?Q?Mqw4k/RAsrG+EAzpQOXSoc3si08D6mLpcb+CZb8aurL68Eg+fScv9E8BOO+r?= =?us-ascii?Q?ygF6rmKa3CyqsicjM33FU/2dg2kkICyZ9jsIDh0gRlZ3PtX/XxKOKd1w47J5?= =?us-ascii?Q?ucHBWnzcD+usTH76oaslf3JTsD0IBC7RRJBosDbvWZf3ktWWHXr63heIR3Bh?= =?us-ascii?Q?q/uxEijuFoFzRXfHU1vuG8iBvTwbiIU1dbLBzwNuy10Spun7PuMaACfo5HLE?= =?us-ascii?Q?qIb0+EBksV9QYTntEbPGGrWUJjGVP++xZzKad3brKmGIakLP0WLV/jQQsHG8?= =?us-ascii?Q?4lmmZV0KbmfXC8d9lgfESu/ysCkax4NFqIKZzPHldthTcgd0oDn6bTIxuiix?= =?us-ascii?Q?c4IV2yat11EXFC64B9DGTQve6EmKT//KEsBO8TbiPOTx9tb9hzYMO4n1syL+?= =?us-ascii?Q?2zpcNPcZy8Od5ZgS5Vgqyx/gPsGYCM/TVYRUL9wgq04aC2YFcDc9llY1aR9y?= =?us-ascii?Q?U6NwJqlxEFzV5crwx6N9SDf1aDsjvYJ8/bZ4OZtXj5YCjVLfQX1g1txZK4Qt?= =?us-ascii?Q?O+1cMu2Ys3AyyURSPyfPk2u7PwsaNa7/2UPwWAaNYw9u/UnfQ1aeqn3mRnMb?= =?us-ascii?Q?LUOVXjMyZScsEOUwFkCQ0RHfvD8+qwXr5YJQExfc/wTeaPUiqq7gs87q/Y0t?= =?us-ascii?Q?dywjLdKsYze+YRlsKG7RkqtEQ9+GWPXnWUrL7gj7sQD+BdiW/vP1DK0SqJJH?= =?us-ascii?Q?01hrYSI2re6ztgDBd5oVrjVc+FUtJN2joEl3JGR/6iEEQHD7G0pKLJ7GxTB6?= =?us-ascii?Q?3woqPtPbJxWtlrxBkEikn8W05erNaQwNuShIB5h+UmIXC+VW4f0urUcYecW6?= =?us-ascii?Q?aMVEwQv81+t3+oSaxLoXi+0EKPwzS2S/uLzsDB8vqsHA2Yt1xg3mcep1wD6a?= =?us-ascii?Q?pBYbGQ7GKr+eYKqH7YrPJMPdQ4vpOM8VSQtDtk9G/5QhH5gSkrTg5XdPsOIr?= =?us-ascii?Q?kpdxMPdAySP32ZgXu3rpdOwzDyia7Nyj0vYzBUZUwwau0PWvGArGZlD/UOSI?= =?us-ascii?Q?jbpX6VvmmlYV/fsuQ+YI3gdRSMpSOxc+0PK9QcbbBD50T2ZM+zflnll7txLh?= =?us-ascii?Q?9Klxn4Miq4hAlv456uC7zDB8p4ZZglyByMSk9UR2DruaUGyTszuv3avWUK09?= =?us-ascii?Q?312YntQINOm1jUlY8yH5dqsxisMGHUb7B6h2p3zjDMQQV20pAgGdf540J4T6?= =?us-ascii?Q?LwEGyxKrszyAUe4C/j6SjpE=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: cf50fb07-102a-4d12-f59b-08d9f13c2e48 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Feb 2022 11:05:02.8063 (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: UdRmJceCmegq9tx7x3sYDY/s8mOlqacyTG+ptw/sSnTCtnXtfvh3YdPZ/owRTNAzdi4ZLRmnTub4M1svjAw8qg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7422 Content-Type: text/plain; charset="utf-8" Add MP_FAIL echo support. Signed-off-by: Geliang Tang --- net/mptcp/options.c | 22 +++++++++++++++++++--- net/mptcp/pm.c | 36 +++++++++++++++++++++++++++++++++++- net/mptcp/protocol.h | 3 +++ net/mptcp/subflow.c | 5 ++--- 4 files changed, 59 insertions(+), 7 deletions(-) diff --git a/net/mptcp/options.c b/net/mptcp/options.c index 88f4ebbd6515..c4d66fca9c5d 100644 --- a/net/mptcp/options.c +++ b/net/mptcp/options.c @@ -806,7 +806,7 @@ static bool mptcp_established_options_mp_fail(struct so= ck *sk, =20 *size =3D TCPOLEN_MPTCP_FAIL; opts->suboptions |=3D OPTION_MPTCP_FAIL; - opts->fail_seq =3D subflow->map_seq; + opts->fail_seq =3D subflow->fail_seq; =20 pr_debug("MP_FAIL fail_seq=3D%llu", opts->fail_seq); =20 @@ -1092,6 +1092,18 @@ static bool add_addr_hmac_valid(struct mptcp_sock *m= sk, return hmac =3D=3D mp_opt->ahmac; } =20 +static bool mptcp_is_mp_fail_echo(struct mptcp_sock *msk, u64 fail_seq) +{ + struct mptcp_subflow_context *subflow; + + mptcp_for_each_subflow(msk, subflow) { + if (subflow->fail_seq =3D=3D fail_seq) + return true; + } + + return false; +} + /* Return false if a subflow has been reset, else return true */ bool mptcp_incoming_options(struct sock *sk, struct sk_buff *skb) { @@ -1154,8 +1166,12 @@ bool mptcp_incoming_options(struct sock *sk, struct = sk_buff *skb) } =20 if (mp_opt.suboptions & OPTION_MPTCP_FAIL) { - mptcp_pm_mp_fail_received(sk, mp_opt.fail_seq); - MPTCP_INC_STATS(sock_net(sk), MPTCP_MIB_MPFAILRX); + if (!mptcp_is_mp_fail_echo(msk, mp_opt.fail_seq)) { + mptcp_pm_mp_fail_received(sk, mp_opt.fail_seq); + MPTCP_INC_STATS(sock_net(sk), MPTCP_MIB_MPFAILRX); + } else { + mptcp_pm_mp_fail_echoed(sk, mp_opt.fail_seq); + } } =20 if (mp_opt.suboptions & OPTION_MPTCP_RST) { diff --git a/net/mptcp/pm.c b/net/mptcp/pm.c index d0d31d5c198a..d58fddf4d5a2 100644 --- a/net/mptcp/pm.c +++ b/net/mptcp/pm.c @@ -279,8 +279,42 @@ void mptcp_pm_mp_fail_received(struct sock *sk, u64 fa= il_seq) =20 pr_debug("fail_seq=3D%llu", fail_seq); =20 - if (!mptcp_has_another_subflow(sk) && READ_ONCE(msk->allow_infinite_fallb= ack)) + if (mptcp_has_another_subflow(sk)) { + struct mptcp_subflow_context *tmp; + + mptcp_for_each_subflow(msk, tmp) { + if (tmp !=3D subflow) { + tmp->fail_seq =3D fail_seq; + tmp->send_mp_fail =3D 1; + } + } + } else if (READ_ONCE(msk->allow_infinite_fallback)) { + subflow->fail_seq =3D fail_seq; + subflow->send_mp_fail =3D 1; subflow->send_infinite_map =3D 1; + } +} + +void mptcp_pm_mp_fail_echoed(struct sock *sk, u64 fail_seq) +{ + struct mptcp_subflow_context *subflow =3D mptcp_subflow_ctx(sk); + struct mptcp_sock *msk =3D mptcp_sk(subflow->conn); + + pr_debug("echoed fail_seq=3D%llu", fail_seq); + + if (mptcp_has_another_subflow(sk)) { + struct mptcp_subflow_context *tmp; + + mptcp_for_each_subflow(msk, tmp) { + if (tmp !=3D subflow && tmp->fail_seq =3D=3D fail_seq) { + struct sock *ssk =3D mptcp_subflow_tcp_sock(tmp); + + ssk->sk_err =3D EBADMSG; + tcp_set_state(ssk, TCP_CLOSE); + subflow_sched_work_if_closed(msk, ssk); + } + } + } } =20 /* path manager helpers */ diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index 18ca0248c084..febf32c9a139 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -433,6 +433,7 @@ struct mptcp_subflow_context { u32 map_data_len; __wsum map_data_csum; u32 map_csum_len; + u64 fail_seq; u32 request_mptcp : 1, /* send MP_CAPABLE */ request_join : 1, /* send MP_JOIN */ request_bkup : 1, @@ -604,6 +605,7 @@ int mptcp_subflow_create_socket(struct sock *sk, struct= socket **new_sock); void mptcp_info2sockaddr(const struct mptcp_addr_info *info, struct sockaddr_storage *addr, unsigned short family); +void subflow_sched_work_if_closed(struct mptcp_sock *msk, struct sock *ssk= ); =20 static inline bool __mptcp_subflow_active(struct mptcp_subflow_context *su= bflow) { @@ -759,6 +761,7 @@ void mptcp_pm_rm_addr_received(struct mptcp_sock *msk, const struct mptcp_rm_list *rm_list); void mptcp_pm_mp_prio_received(struct sock *sk, u8 bkup); void mptcp_pm_mp_fail_received(struct sock *sk, u64 fail_seq); +void mptcp_pm_mp_fail_echoed(struct sock *sk, u64 fail_seq); 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 * diff --git a/net/mptcp/subflow.c b/net/mptcp/subflow.c index 8d086641bdc5..a8b5b8bf45e5 100644 --- a/net/mptcp/subflow.c +++ b/net/mptcp/subflow.c @@ -910,6 +910,7 @@ static enum mapping_status validate_data_csum(struct so= ck *ssk, struct sk_buff * subflow->map_data_csum); if (unlikely(csum)) { MPTCP_INC_STATS(sock_net(ssk), MPTCP_MIB_DATACSUMERR); + subflow->fail_seq =3D subflow->map_seq; subflow->send_mp_fail =3D 1; MPTCP_INC_STATS(sock_net(ssk), MPTCP_MIB_MPFAILTX); return subflow->mp_join ? MAPPING_INVALID : MAPPING_DUMMY; @@ -1083,7 +1084,7 @@ static void mptcp_subflow_discard_data(struct sock *s= sk, struct sk_buff *skb, } =20 /* sched mptcp worker to remove the subflow if no more data is pending */ -static void subflow_sched_work_if_closed(struct mptcp_sock *msk, struct so= ck *ssk) +void subflow_sched_work_if_closed(struct mptcp_sock *msk, struct sock *ssk) { struct sock *sk =3D (struct sock *)msk; =20 @@ -1165,8 +1166,6 @@ static bool subflow_check_data_avail(struct sock *ssk) if (subflow->send_mp_fail) { if (mptcp_has_another_subflow(ssk) || !READ_ONCE(msk->allow_infinite_fallback)) { - ssk->sk_err =3D EBADMSG; - tcp_set_state(ssk, TCP_CLOSE); subflow->reset_transient =3D 0; subflow->reset_reason =3D MPTCP_RST_EMIDDLEBOX; tcp_send_active_reset(ssk, GFP_ATOMIC); --=20 2.34.1 From nobody Tue Apr 30 08:24:26 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a05:6638:bd2:0:0:0:0 with SMTP id g18csp1419831jad; Wed, 16 Feb 2022 03:05:17 -0800 (PST) X-Google-Smtp-Source: ABdhPJyQ6e1xeL/O+s7NgH+38JN/5I/cI9aaRuqhTb2JHhmyWBTnL/IHvVWW+wVvDw5+xm0UFZyb X-Received: by 2002:a05:6214:609:b0:42d:7b1a:8dd8 with SMTP id z9-20020a056214060900b0042d7b1a8dd8mr1391845qvw.118.1645009516988; Wed, 16 Feb 2022 03:05:16 -0800 (PST) Return-Path: Received: from ewr.edge.kernel.org (ewr.edge.kernel.org. [147.75.197.195]) by mx.google.com with ESMTPS id ed9si417046qvb.71.2022.02.16.03.05.16 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 16 Feb 2022 03:05:16 -0800 (PST) Received-SPF: pass (google.com: domain of mptcp+bounces-3778-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.197.195 as permitted sender) client-ip=147.75.197.195; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=mimecast20200619 header.b=WlEgSwIE; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-3778-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.197.195 as permitted sender) smtp.mailfrom="mptcp+bounces-3778-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=suse.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ewr.edge.kernel.org (Postfix) with ESMTPS id A7F011C0AD7 for ; Wed, 16 Feb 2022 11:05:16 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 723CE23D8; Wed, 16 Feb 2022 11:05:15 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.111.102]) (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 88A907C for ; Wed, 16 Feb 2022 11:05:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1645009511; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=4H29Pw7OdPNLpaOZpBJMLrBr4F7b9s7fJyVjWLd+v3Y=; b=WlEgSwIEmmMThEZ1RKGLnYyAPCe9hetWC+HIYmabNxzF6qnMPBXqS4nYQfDXwfTPYc1l36 1iCvkHg1GPYHbFqf2fakZOVPwIQRnl0cDeEg6OoHe/ZIgDHGshfzSbUmUefK9pgjvx/K/4 o40xhbezrmxDwfwL9W2D2SD825lsoW8= Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05lp2105.outbound.protection.outlook.com [104.47.17.105]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-26-cFfeA3Y1Pza1lxYnds9slg-1; Wed, 16 Feb 2022 12:05:10 +0100 X-MC-Unique: cFfeA3Y1Pza1lxYnds9slg-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Zvyqn+Lt1Ippjy9RogR9MCwzmSwSsOsfQEQ3EGhn470/akEIO6JPIckxXvCRR/J6oHRRNTo00c9hwMAyGbqxTxxHp94u62icHpLqZwxDEi0Ot0FGkLe+frj+pLPVcpY/9uy6iEAeDtbiRBGuJV+gP3LyPymZxG1a+gJgv43ZC+8SnpEwmn1ynInAaRuKEbtAw4M4wJ2cPJA10OwLtvCVuboX9ifHrUP0456beSkwX3YU6ui3WCEubSys5q/CcWMQo7HoUZ8c/aKut+zEJqHRbxlY66+FGE0PgOLF57YyoyhVYurfyR/b98BcVnb/Rh8va6UnQGfwiGZUhi4h2om5rg== 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=rN2mopUOG4QKfxSP2DzgPoqoVW42NHcqeZf2DbsQjqU=; b=kC6sE6lkN5qRvxjOroUosWvEhdV2EhTxGOgHmzn4fGVhj+eD10Cw6GxXhRbzFoYWEseFipldQhktacpQHMycUXnM75NnIoZLcXYeQDZQ1RaEQ0ddy80m/ZBnam7UeIwz0J9DarzCkMjkpreK2pg4AxoJnbRUKRPnIK3C4DGcoKE6KD5iMlX086GGsl1/ZPCXAwpYvVZXfqm/F4zgqrMM8VMBGTBs01Mi24GlM/69GPOC1U/PFbpqMHLAJgW/nTK67rhaOae+BISn+uQeNxkxfQAfKjvX9J6wJdHA4UqG5KRQsaie3Oc+0xooavUZ07cztaahJpFBgG7YXyPiqTb2dA== 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 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 AM6PR04MB5799.eurprd04.prod.outlook.com (2603:10a6:20b:a9::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4995.16; Wed, 16 Feb 2022 11:05:09 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::60de:f804:3830:f7c5]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::60de:f804:3830:f7c5%4]) with mapi id 15.20.4951.019; Wed, 16 Feb 2022 11:05:09 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [RFC mptcp-next 2/6] mptcp: add mibs for MP_FAIL echo Date: Wed, 16 Feb 2022 19:05:09 +0800 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2PR02CA0207.apcprd02.prod.outlook.com (2603:1096:201:20::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-Office365-Filtering-Correlation-Id: d88765bc-b45e-4565-c17a-08d9f13c3279 X-MS-TrafficTypeDiagnostic: AM6PR04MB5799:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:61; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: KW/ckPzFnHRXvD1oJYOo0UG/v3S2Q/8BcHRrxRsjCm0kZoiV/acu2JJQRLaJxT5NsD18jbVTALGxBMk/KrInMwMKK9sf1Kl5MlylL/OMUr9I9ccEDwe8+3xCfzP1ZhDDA80rzWFecYLyuCt69i/spLnilJDgTtIS2PqA+GP9AHzAVnYp4KC13IPR5k3j1G4JAUsp55BDI3NUrpR+OMsDCb3bHYvX0GobsdCbAlwA7v9AU4z2TsTBoYvJuftfAoznL/VUs7MipOesdkY+395y+DCTw55Mrg0Dlrb5498Z+Aq5nqgz7OXxs9mHZLjuXlCV0XETPzZc+Kjr5KYgePdwANYZtFbDCsEWgiq2HYnw+E2NdOjB4apSnQQs52693Rqhmp11kUO1vFPgJLLAbMI0rLYAFEvWfXAygVPyxPnzqhgdcb5Bi7N+9hbslSAMr4QLNbOCymgBw0qbd0IJupIHqMrborCgbyGvWPLefTvcw1ujvLn+6k4GOu97GT+HI3OUb5x0aXDbGBjFqLECzEtHETmJM6zjZqxEZFjAzocdeC9SkhuPAuOiPo6LTco1HtzpJsNy16SY7Drh5/ezDg4GSkkhtg4DtYWnVJ8qctOZjfH4GWAW9pXl6CFXSRX+/3nY1W6t2k+zf0PNnQxzT+jpNQ== 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:(13230001)(366004)(5660300002)(508600001)(36756003)(107886003)(86362001)(66946007)(66476007)(55236004)(44832011)(26005)(186003)(83380400001)(8936002)(2616005)(6486002)(316002)(38100700002)(6916009)(4326008)(8676002)(6512007)(6506007)(66556008)(2906002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?/xBtWjCn7ygk76jvP28M0yFaODbrloL7PtjBF3n2y6g5wk5Gqk9NIlhJmG/U?= =?us-ascii?Q?PiVbqaVwe1dMooxBZ7fbwHO8sUYPCMQHZrzO1QuX49xN2SOfnKyZWYcU3qjX?= =?us-ascii?Q?pJ4UZzgga7GItTmO5hsNw6oaLCgeyd5d6kSvYVnizLTCzD6OwLqE/r+kk5w7?= =?us-ascii?Q?0abs1s20UBPxVOFlbyetIq96Msp+2Ai9wDmiAhCHagQXwaPnaX5YG6KVzWz/?= =?us-ascii?Q?jhQ5QwVWjxiAeGPHyyRqM2U3G9E2CGi81dQRZ/fPsqwK3vWewjyxJMQZm+S7?= =?us-ascii?Q?NFH6rJPKWZETIuC2JNntBC4eUikIdaUzS+j02aAkqsEd8jNtDi6mByjf0n3L?= =?us-ascii?Q?q8AgUsQ+Pgrusvek13lLxU3q+lWRFKBCEz02OA21GwLXWNUY9PCR0soQsDxA?= =?us-ascii?Q?jBUeHZMHPRz7MjbSxb+8Q4qS2ocyGoUJyELb7ysQXWMfPc9ex/WlyDEBhutt?= =?us-ascii?Q?WOk+CN6nvk9xhk5Fz2BouKdk+LrrOAsjGEzcviu+X9msiUKXeoSIj5UYCGqN?= =?us-ascii?Q?qUo6E35NPmj3GJXx6WET9WN7F8OCVJhil3AeW/ec0Y3YyB/yluwA8l8UCDPu?= =?us-ascii?Q?nkQTJ+VtjrRioEbOcoHxpYGhTj5DJG6o2i4hurvH0JWQvTWc9hbRwbb6PSmm?= =?us-ascii?Q?WR+ZBJofvVpXYkpFDPw9mEGk1UIJbGohhKL1nDHgBQr0EU06/6pO32/rBV9D?= =?us-ascii?Q?Gsrko2Cu4F0S0hD0Ekdm9Vr/jXgBpHOrTfLWFZSvOltZb3hTUEU3Uwsy+bd0?= =?us-ascii?Q?BL1iICTAUEwIhIEO5NOY8qw7PAhnqEmvcWhq/J64sXYCd13/BwfZlSgpWCuu?= =?us-ascii?Q?AMKUGz8inwGlDveSXksAZ/AlPUKiq6/495iEmZIS+Use+e0XnI7OmJ4D2cw+?= =?us-ascii?Q?oxJDa0cXZC3hh8Ww7CQ/yrUurEPxUeH4adBe42ndWWqilpQ9ThK9sdedun2O?= =?us-ascii?Q?uOIy+dJbLVbuhQNJ2oncW8K1KDpmebq+G1OxJBrrlnGYzqffOKKS/AAwVDfW?= =?us-ascii?Q?sQY7n4SKGyGSh8XjDCZbHRAKuPKVu/0+biEUPg+MjEjp6laSLAbT4rlazgId?= =?us-ascii?Q?uL4PYOEIVw7LgBeFldyyzR0uSxa+/qGPy/vDV0GXgFINpmAYoGBjXP/uZfBJ?= =?us-ascii?Q?hGK/8jdbmlFRGjkHc3CziiztFHFNzeTOjzAM3DZh7999MlDgia/xZuAJr9qW?= =?us-ascii?Q?6UNIOkoSDWLWRhwUfmb4KAfsYzKF3jxXNiq2c6u4hYnPVklrohhmdLaYf5BU?= =?us-ascii?Q?dIhnkYoMSPi5iBNVkK0T51HGiM87vEUkc5TRBMZ5yvoktB2ZIxmFEAPG+qrx?= =?us-ascii?Q?eIcD8ZHInk2Un06Rz5wj5LRQL3YyqTZNlzlUuWXWa0op/t3YuLPIuwLfR/IJ?= =?us-ascii?Q?0j9Csdix3d/+S2N8gXkakXugjN/+KtHMjS6Pq9n+MX2Uc/gwRkw3FZzvG6vu?= =?us-ascii?Q?rZ1j489/AYDMfbECZAySnE5KXWaBx4TXfVmXVbw2pDCd/QBZiQkGeWV+8IbX?= =?us-ascii?Q?HP1ih9hahb4i1IWdlr2tN0Wt4XCmncYsGcrFVcPmEWsLLcfdneMobhzqQc5x?= =?us-ascii?Q?ydknzS2vPbE1mZX5l+lFa9hrztYwzWhYMNmiihQgw2+UIgfcCsTbB+3pv6+3?= =?us-ascii?Q?7VEex9CLdfWmSykyk7nYZqo=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: d88765bc-b45e-4565-c17a-08d9f13c3279 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Feb 2022 11:05:09.8057 (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: lFSqE7Iim69adCoUhouVEeLLzhhBTQ5e9HWMBfe1eGdGsD859rczigYJcrcAeBis4d46AVIQp3Tt27k7CPj2qw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB5799 Content-Type: text/plain; charset="utf-8" Add MP_FAIL echo support. Signed-off-by: Geliang Tang --- net/mptcp/mib.c | 2 ++ net/mptcp/mib.h | 2 ++ net/mptcp/options.c | 1 + net/mptcp/pm.c | 2 ++ 4 files changed, 7 insertions(+) diff --git a/net/mptcp/mib.c b/net/mptcp/mib.c index d93a8c9996fd..f3070daa013b 100644 --- a/net/mptcp/mib.c +++ b/net/mptcp/mib.c @@ -49,6 +49,8 @@ static const struct snmp_mib mptcp_snmp_list[] =3D { SNMP_MIB_ITEM("MPPrioRx", MPTCP_MIB_MPPRIORX), SNMP_MIB_ITEM("MPFailTx", MPTCP_MIB_MPFAILTX), SNMP_MIB_ITEM("MPFailRx", MPTCP_MIB_MPFAILRX), + SNMP_MIB_ITEM("MPFailEchoTx", MPTCP_MIB_MPFAILECHOTX), + SNMP_MIB_ITEM("MPFailEchoRx", MPTCP_MIB_MPFAILECHORX), SNMP_MIB_ITEM("MPFastcloseTx", MPTCP_MIB_MPFASTCLOSETX), SNMP_MIB_ITEM("MPFastcloseRx", MPTCP_MIB_MPFASTCLOSERX), SNMP_MIB_ITEM("MPRstTx", MPTCP_MIB_MPRSTTX), diff --git a/net/mptcp/mib.h b/net/mptcp/mib.h index 529d07af9e14..83219721d337 100644 --- a/net/mptcp/mib.h +++ b/net/mptcp/mib.h @@ -42,6 +42,8 @@ enum linux_mptcp_mib_field { MPTCP_MIB_MPPRIORX, /* Received a MP_PRIO */ MPTCP_MIB_MPFAILTX, /* Transmit a MP_FAIL */ MPTCP_MIB_MPFAILRX, /* Received a MP_FAIL */ + MPTCP_MIB_MPFAILECHOTX, /* Transmit a MP_FAIL echo */ + MPTCP_MIB_MPFAILECHORX, /* Received a MP_FAIL echo */ MPTCP_MIB_MPFASTCLOSETX, /* Transmit a MP_FASTCLOSE */ MPTCP_MIB_MPFASTCLOSERX, /* Received a MP_FASTCLOSE */ MPTCP_MIB_MPRSTTX, /* Transmit a MP_RST */ diff --git a/net/mptcp/options.c b/net/mptcp/options.c index c4d66fca9c5d..67dad62f34f6 100644 --- a/net/mptcp/options.c +++ b/net/mptcp/options.c @@ -1171,6 +1171,7 @@ bool mptcp_incoming_options(struct sock *sk, struct s= k_buff *skb) MPTCP_INC_STATS(sock_net(sk), MPTCP_MIB_MPFAILRX); } else { mptcp_pm_mp_fail_echoed(sk, mp_opt.fail_seq); + MPTCP_INC_STATS(sock_net(sk), MPTCP_MIB_MPFAILECHORX); } } =20 diff --git a/net/mptcp/pm.c b/net/mptcp/pm.c index d58fddf4d5a2..5e133b249492 100644 --- a/net/mptcp/pm.c +++ b/net/mptcp/pm.c @@ -286,12 +286,14 @@ void mptcp_pm_mp_fail_received(struct sock *sk, u64 f= ail_seq) if (tmp !=3D subflow) { tmp->fail_seq =3D fail_seq; tmp->send_mp_fail =3D 1; + MPTCP_INC_STATS(sock_net(sk), MPTCP_MIB_MPFAILECHOTX); } } } else if (READ_ONCE(msk->allow_infinite_fallback)) { subflow->fail_seq =3D fail_seq; subflow->send_mp_fail =3D 1; subflow->send_infinite_map =3D 1; + MPTCP_INC_STATS(sock_net(sk), MPTCP_MIB_MPFAILECHOTX); } } =20 --=20 2.34.1 From nobody Tue Apr 30 08:24:26 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a05:6638:bd2:0:0:0:0 with SMTP id g18csp1419899jad; Wed, 16 Feb 2022 03:05:22 -0800 (PST) X-Google-Smtp-Source: ABdhPJzoHqx4eaROLHxcNT4ovd3GFd9BOICwn5qpM9w7oDQrXVIsgiyclsvw5GviTckvalW79alK X-Received: by 2002:a05:620a:318e:b0:5f1:83cb:65b9 with SMTP id bi14-20020a05620a318e00b005f183cb65b9mr932214qkb.6.1645009522817; Wed, 16 Feb 2022 03:05:22 -0800 (PST) Return-Path: Received: from ewr.edge.kernel.org (ewr.edge.kernel.org. [147.75.197.195]) by mx.google.com with ESMTPS id a16si7919253qkl.534.2022.02.16.03.05.22 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 16 Feb 2022 03:05:22 -0800 (PST) Received-SPF: pass (google.com: domain of mptcp+bounces-3779-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.197.195 as permitted sender) client-ip=147.75.197.195; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=mimecast20200619 header.b=BMid2Smd; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-3779-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.197.195 as permitted sender) smtp.mailfrom="mptcp+bounces-3779-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=suse.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ewr.edge.kernel.org (Postfix) with ESMTPS id 87BB51C0A9D for ; Wed, 16 Feb 2022 11:05:22 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 5776D23D8; Wed, 16 Feb 2022 11:05:21 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.111.102]) (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 2712B7C for ; Wed, 16 Feb 2022 11:05:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1645009518; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=rCiQVDu0XnoUmaVuyPisbtQpLlEQ/+NOBphkgxBTMMQ=; b=BMid2Smde46jbBPAbGsHoOV+MvhP0LtkhM6YgsOWi3TCpkkEsn2N6Vi2GoMxxSjiK5azfU R027p5ICq8WzNPCeT1unJoWGaJ6Omxi8x6+NqhlN/37vMko0tNL0fanswsTV3UmVkif9rq I37R3PxHzJWOxwvdNXWv2yNL7Cj0A2M= Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05lp2110.outbound.protection.outlook.com [104.47.17.110]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-4-Fe4AKD7QOAid8DVExBX80A-1; Wed, 16 Feb 2022 12:05:17 +0100 X-MC-Unique: Fe4AKD7QOAid8DVExBX80A-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OxMm+gTzPG7y/nKyjK/JHFJYo+B3O9ngfg8tTTrQs2p0IiPNt5IpuBiV5eiBvZgaW51/C+zjPdUGfoBTbxP21qacrWqXWyOKvvxkFmAazziUPQPfNjelBkBWsDwPpkGur1xMUCGzSusoYoURbh6ZADUU9SBhMhtg58TxeE/dEMT+i3QBFHbPf2VYWmqUzeNq3mt2Io0RHmMvCyIk4A+pEeFftCO3bw1rVgYVEK/mcRSI3gaaUy/HI0yLI4q7X+n+hD7HsD3fxAlXneTHKyNU2oMCE9iExqrKRwl52e+3WJhDR4SY3wLiLtBeWROqq+33v7v00NYCxOivcQeAHR7hhg== 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=X4IYwIIy4XxpeR0bO+g9/xVfFZK0yg0N5Zsx6jNwtgA=; b=AeSoEJnt/Taz4lBTAr6x8EGa4zYJXDMcvUJq1qmbcPiFXqQDqHZYZXDkou4O/g/AT1ZLVbcSmizBavhufmIgia8Wkjh/Muob4uC/ZtjjGvwW4rVoHirq92Fp4walCUxlx5tkGOj63exOEMrSNeM4AW0HVYmUFeh9SZO8yTg6o/t10WVN+qevdNvxx3ln+ggURuvpFiEp/8czytv042s/QyGmfu0nhX9KOjjK8yGSYCniDA4/ExSv9DwX+1ytuWdbLz5yYIojasAH8G37UUbCkpwapZ/Yn6beKB3dORR4QpMffe7lQsy26wQBZSGrxZrx8C0kQI5G+Op93cN98b33JQ== 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 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 AM6PR04MB5799.eurprd04.prod.outlook.com (2603:10a6:20b:a9::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4995.16; Wed, 16 Feb 2022 11:05:16 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::60de:f804:3830:f7c5]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::60de:f804:3830:f7c5%4]) with mapi id 15.20.4951.019; Wed, 16 Feb 2022 11:05:16 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [RFC mptcp-next 3/6] selftests: mptcp: add MP_FAIL echo mibs check Date: Wed, 16 Feb 2022 19:05:10 +0800 Message-ID: <93f054f3fea5895fe86b17c1dbcaf7d597b1edb5.1645009373.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2PR0302CA0018.apcprd03.prod.outlook.com (2603:1096:202::28) 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-Office365-Filtering-Correlation-Id: 69313cc7-ef87-4d28-0437-08d9f13c36a1 X-MS-TrafficTypeDiagnostic: AM6PR04MB5799:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:157; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: gUY483eSDDu13k+GpiQ1haP1xF8l+ue6XLyNkkaG0rqn9/iK1yn441a6q1SS2V1oBZSBZEHYl/nLSKqt8lHax1mRgHvZSGg17eCVACt4ul1o6MQmx2JYVVFiOHbO8LBppNaEgUhT+Z6ihT33EiFRne/f08XSP82NlVbHnHywSRNd4b6gLWxdQJs8mu55C19nInTA5cFQ/BMJy8/0eA5AKkIdW0qCMFbLCPtC+PR8VrMPe0+rC6dm59M4Z4CQX15wUYM1/kwNeeyhMATbDmJ7yO/jehSYa0oDkfqOz+FdwfZGzzBfqnqGcTeMhye49o/un9t4yvpcsKJRXJotYzd7xR5H/fjNTvnsVa9TaEom5T/6RSm3LyEH2IzPkio+nf43ZH8Fz9fh73wHBP6sEjQF2ysGy/gxOkAKvWOAPdzqnhYv3/6KOlKvjld/pQURODI+DuP57kuQ/8r23myRnJ1ZExviaCU5AR6stka7idTFKNuy3H6s5mu9VwxwpK5GKmHdbS0KGzUZPIfX0ftmkrwwnjU+25Yg7ARYdO/INLgzkvNCF9CtgexB4SrAD8MS1AI7XQ2X5fsUlFckI6BxVjlz9wEZ0mktLaTxdCuP0pZMt0Sv7ybfaykrYNeWkRsJ4+T4p5n+MVSY822oPkR6F848Ag== 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:(13230001)(366004)(5660300002)(508600001)(36756003)(107886003)(86362001)(66946007)(66476007)(55236004)(44832011)(26005)(186003)(8936002)(2616005)(6486002)(316002)(38100700002)(6916009)(4326008)(8676002)(6666004)(6512007)(6506007)(66556008)(2906002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?+uRwwO/SDkKH9Rr1gZF+QPZBre/Yy7QlS3t41H/5iH0WQr7RVTwHqV1CQxoE?= =?us-ascii?Q?Wml/trKCW63X9gVesM1iegIUyOVrnv68fP+MOiqt31DrSuoEGLOuAzCFDvBk?= =?us-ascii?Q?6xW0Xrd5YTtAPtaS1Tc4oIGwhrsdckxrvjKnmw7biGHHHC8HC2ChXg7OwyDc?= =?us-ascii?Q?1KadodEgICE6swxnWYMyaR2pbg7iC62UBuosppc2vxZdXc+E3HvBNGK6hvJ2?= =?us-ascii?Q?UqgzncF+Vxvq0IYSuNxWLcrx7j0xQfU4S6EjKf/MG6E8SdfLb0I463/0G1Ei?= =?us-ascii?Q?xEqLdxZZty7//kDS8rnZ+j5Cxe3FZ9wdr0ptKKdJmeLUKF0qXU57G9Z6uW3x?= =?us-ascii?Q?f9GHebT6GeyFiejYsTUTZFV9SQwjaq0kDVRtVCuWGzx2ALgAPDCLUoQpt6jL?= =?us-ascii?Q?MhaJ/2/YskQXzW4x/1NH1XSlhQ3qAGQgg8Qv2jYfP50xUTvDgS00ZAeFBM3I?= =?us-ascii?Q?W3/oGJlrz/2LbKw6wekamtkQuQmDBKmlvEv+qBuzt1J120NvNsWpjdykjw13?= =?us-ascii?Q?a2DMDz6xVT6qzvQiyJDDupXaOdOGAvqwaMvR6X4IL7Al2J+ZN9VxsjuvqxrZ?= =?us-ascii?Q?pFhP6tv+d4Ce8EhY5MPWajBZoUXQCaXyTT52sqU7GC4x0zTOtCeAHKGSnExv?= =?us-ascii?Q?FeNCV4Bv7YAVgrV0D9c+k2dt3udqKUuDehX3q0hpR1L6XzyRSTLtQG3AruNf?= =?us-ascii?Q?yen5BqD94Z2U44oaNhOtGnTqQ8Kzh/CQ4bNwk9qU/0Y+PM7ueYWzhP88pPh7?= =?us-ascii?Q?YiRx1BTIkDnkubTbz6mxZ5S2++K9PpoWCNCZqmi80/DcPH53Qq8VuSqKf0Dq?= =?us-ascii?Q?KHx6IWYG2r5rCX45oorsElnkqSaff79YZx7x850QgVLsvE5LqVI9H+R/Gqi+?= =?us-ascii?Q?gSLl2Amke4PDB65K+OVAdcjbTAfOVJi9tXseyXn0HJPK0LCvgFqB0IzJWxep?= =?us-ascii?Q?zg6PKsopdukt6UrFs2fJf8FOEj4JP/tEegDvx7imwcocw0srI6eqW+VIUPC2?= =?us-ascii?Q?UobF9S9MtPQkMbJflzGvXSPRpZyMA5I55aBl5mot790DxulDdrX4ZANMUoYA?= =?us-ascii?Q?TvV/2XnDV+NEg+NFVMHUqytF/KWmiV7jrkduAZxgRvy/BX8xY8liN4XoOXaF?= =?us-ascii?Q?ww40gB4wl6+Xw1/QuvP2Bn/MMQstKJU73LQYpUWIvOqcD3ICDN8cRu8BpM0h?= =?us-ascii?Q?RkaRjbkgRFkqedQRHsk4P527ImZQgGQmDpMNQUH+OG/Kpp+00LPB3PkFcK7G?= =?us-ascii?Q?gkIw9FJEq7wOPEM2ClXDouCJGT3XVNJZpH+/xirlirzD9Gm9zkMZmaRVT6ct?= =?us-ascii?Q?864rsC4faHn0TpUutgFAJ3s6RkUVwi1bbcHRS4hqZC3M9Q2OG4Rs3DSTKrY1?= =?us-ascii?Q?yiwla8JMzu2Oan+DQWkl+9Pvssc0Q3cKGfIjzZOZia6vo7MV0UMVLPsGpX9R?= =?us-ascii?Q?VNo3Xxy2zsLQTqdF+Uz9SX310/d9w5D52NwjFpjE0KLCgMhA+2Unv8UoMcQf?= =?us-ascii?Q?+6nrMhMS5Tjthx19EsqTAmVuH//CW0l6D9udETqA3CshgkUCaw4Olx/fFhW0?= =?us-ascii?Q?PVqYYO6mPcqE0L3yZeX5MvwXoLPNOrhC5M3lprYgXO2BX40fBaVUMytTwopx?= =?us-ascii?Q?lA9L1ZHHwtCsYB188y1+9X0=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 69313cc7-ef87-4d28-0437-08d9f13c36a1 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Feb 2022 11:05:16.7427 (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: 0a4UByZyrOH4WBvNR4d6iPOAJAHUHkLYM8IgX4lV7Ezv6ma5C+fSx71i8f8RDuJz3glqxop/lCT8lWcdU7q7uw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB5799 Content-Type: text/plain; charset="utf-8" This patch added the MP_FAIL echo mibs check. Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_join.sh | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 37b3d00b2dcb..01b9cc190134 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -871,6 +871,8 @@ chk_fail_nr() { local fail_tx=3D$1 local fail_rx=3D$2 + local echo_tx=3D${3:-$fail_tx} + local echo_rx=3D${4:-$fail_rx} local count local dump_stats =20 @@ -896,6 +898,28 @@ chk_fail_nr() echo "[ ok ]" fi =20 + printf "%-${nr_blank}s %s" " " "etx" + count=3D`ip netns exec $ns2 nstat -as | grep MPTcpExtMPFailEchoTx | awk '= {print $2}'` + [ -z "$count" ] && count=3D0 + if [ "$count" !=3D "$echo_tx" ]; then + echo "[fail] got $count MP_FAIL[s] RX expected $echo_tx" + ret=3D1 + dump_stats=3D1 + else + echo -n "[ ok ]" + fi + + echo -n " - echorx" + count=3D`ip netns exec $ns1 nstat -as | grep MPTcpExtMPFailEchoRx | awk '= {print $2}'` + [ -z "$count" ] && count=3D0 + if [ "$count" !=3D "$echo_rx" ]; then + echo "[fail] got $count MP_FAIL[s] RX expected $echo_rx" + ret=3D1 + dump_stats=3D1 + else + echo "[ ok ]" + fi + [ "${dump_stats}" =3D 1 ] && dump_stats } =20 --=20 2.34.1 From nobody Tue Apr 30 08:24:26 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a05:6638:bd2:0:0:0:0 with SMTP id g18csp1420010jad; Wed, 16 Feb 2022 03:05:30 -0800 (PST) X-Google-Smtp-Source: ABdhPJzSIMOOaJ3pThYQT4jgp8q/vfzgHHisDvkmzTxuhz54qwuaxiMO/h6PA3rvrDC3ga5Pccw/ X-Received: by 2002:ac8:7d8f:0:b0:2d8:9bfb:f975 with SMTP id c15-20020ac87d8f000000b002d89bfbf975mr1519485qtd.548.1645009530517; Wed, 16 Feb 2022 03:05:30 -0800 (PST) Return-Path: Received: from ewr.edge.kernel.org (ewr.edge.kernel.org. [147.75.197.195]) by mx.google.com with ESMTPS id kd21si6602393qvb.198.2022.02.16.03.05.30 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 16 Feb 2022 03:05:30 -0800 (PST) Received-SPF: pass (google.com: domain of mptcp+bounces-3780-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.197.195 as permitted sender) client-ip=147.75.197.195; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=mimecast20200619 header.b=RFMw8LLN; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-3780-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.197.195 as permitted sender) smtp.mailfrom="mptcp+bounces-3780-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=suse.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ewr.edge.kernel.org (Postfix) with ESMTPS id 157991C0B49 for ; Wed, 16 Feb 2022 11:05:30 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 9873B23D8; Wed, 16 Feb 2022 11:05:28 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.111.102]) (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 1FA577C for ; Wed, 16 Feb 2022 11:05:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1645009525; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=fAvTiO76msUGyAIySGTSKUCSoDqWFuZfMpYgvLJAxDU=; b=RFMw8LLNuhfW0oh1rZUz888pS93RAQAcqAiUlwHO0Bo1PFSJUYWzrna/RsXOadYBLQey6H wBA+fWGORfT4F6+bVjNsjXVXxP22oZ0yPczo2icxSRiX85uB15kd3cv2nTmtCJldVXZcBB sV3H95cdlWyf1aHu7G8v9qAA3oDd5rQ= Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-am5eur02lp2059.outbound.protection.outlook.com [104.47.4.59]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-28-6FvHA0sfMROM7JpuvURNDw-1; Wed, 16 Feb 2022 12:05:24 +0100 X-MC-Unique: 6FvHA0sfMROM7JpuvURNDw-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KNe9uKiEHgRzSvVMERYS+95dHxAUHBsmB5CLISDhVxFUt9ukyGIvibFuVjT8Ngp/RAs5G1fOlNZNO/xDloP51Pex0x+S650KS8ncDhD1lZk04t4JXpAbGVsY4toMpghXp1B7y2v93Agy7vfv/mnTiItelVqoBzCHeKKY6mtGxKryceOlmmAzDNp1MSNrbifN1osymDCXk6+dk2Dt7kxSybPWjtLusZEV+GpsYQij5Fup6PFIB+kfco1fgCfD1eVbmGCH/EAPti6iokYe+BL7MvQ/hdFpz1hY2WNouzXt45s8r3jdl/GZAJGIi/Y8vlO+aOPUUupmYZWqN2QHMmnr9g== 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=gMg8XIdh12u5j1pCBKOVyiT876q4765Jwm91PviF+18=; b=DTY8RfdhTwysogjafYSZ8A5YeCI5St4k5AG3VZWu2kJTR6cOsGkh+cLIShBaKZ+42KjZ9PfyHf2mNFuEEg7wzzDdHfgU8rGNDEW7q50uLMarOsbkoen2GRwIoeZxaxc6tB/2agiY4qNFWgWyosgsK6haW4OVs8KeTd6k2Gs8PLzodFif4XunrP91O2NS397Thsz+sMCIJMAATyNnIyRnTxtA2l89xtcV0VghBrBuuVJ9vNPx1PcuHC/AEbPAEsYezC4Rxklu1iEUFVllPYA6xa0G87hvEoVwaa3Qu3HRx+CHpGAIAN+jYUCaC5Xq8prtpsHw3D+86Cetq1MAKgLlKg== 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 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 AM6PR04MB5799.eurprd04.prod.outlook.com (2603:10a6:20b:a9::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4995.16; Wed, 16 Feb 2022 11:05:23 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::60de:f804:3830:f7c5]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::60de:f804:3830:f7c5%4]) with mapi id 15.20.4951.019; Wed, 16 Feb 2022 11:05:23 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [RFC mptcp-next 4/6] mptcp: add a new sysctl mp_fail_timeout Date: Wed, 16 Feb 2022 19:05:11 +0800 Message-ID: <6128e440e7c60269111533140a2140961e6673fa.1645009373.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2PR03CA0056.apcprd03.prod.outlook.com (2603:1096:202:17::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-Office365-Filtering-Correlation-Id: 17ca370f-307f-4a39-d024-08d9f13c3ad1 X-MS-TrafficTypeDiagnostic: AM6PR04MB5799:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:6790; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qR+WwtToGTCr/He796fWtWXbUE9saAUwsAKbUjjsgMOEKtqMZrExTWyHqslZ8OtRm1NCKeUHAsvGdIhTfgoZDnPsbJKG0LXPbWmjKTFl3zEfBfPcO5D17bS/+M4itp7g0AyTy5+6VYXZ6kRJ4qk4ifEsDQeeIxs+UYYp+2jzNIKui4q8YSv1AlRwf/MwcdWQPbsZkNpR8q1NqbByKTuB8mFHI5YeY2lOIIGLVEvPdfmukLa+2ByRC38873LxX1an2KJnDVY0ep+rqKrIeROInmcREQb0Jp88uzIGM6YrOTSOpLXgL8OHCmZM7nXQYEzppHWYWLcc9PzcNvIiMItX5GeNmeZQAAD/c+Pvh1fGX+3KfwKJ8gv2XVt3wegWlJNvm8yiatn8bL7sMH2/Xuc8cremuOQaF77j+ji/a41QewJ8gToAwlJFTuZ/mCS/M5k8AmeK3kuKvXMCXJOe0ZTHWkQ2JQ1hZrC2dUGksPKC1VqAC9bXKC5SyXnGdOiF40NwAbPrVbi9ViBMb2zYWzm9M+3JdghAw75IqMxgY8NRJ+QRkDgzM0DLMEbAGEzTCZWn0HgZDLv1NxY3CL8ERBFz9QFO/uEhOYt8Uxkw85sTmIPPSLK0llQePOx7vvjMHK8/1rLbAnsjP7v5sbeRs+ifLw== 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:(13230001)(366004)(5660300002)(508600001)(36756003)(107886003)(86362001)(66946007)(66476007)(55236004)(44832011)(26005)(186003)(83380400001)(8936002)(2616005)(6486002)(316002)(38100700002)(6916009)(4326008)(8676002)(6666004)(6512007)(6506007)(66556008)(2906002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?WlSR7MHtQoE3cGWeBbXza2XfwCESvM54bwsCAM8smNfYUm5X1qD2wb4aljK7?= =?us-ascii?Q?460R/s7r9vI0G03vhTGGk1xmdLPG47U4VAs4+UOSZii1YCi859vPFkaI7ie9?= =?us-ascii?Q?C5FJjPEhimKfGUpN9gJfZRJabdXB2Aj3+Rs8gqLfMTZmJR/to4Tv91n1rJfv?= =?us-ascii?Q?QuoZhkC+8kQ+aZtofMQK9g4sch7keQUymef1FAts1Y3gau/ShxaTrMU0M8kG?= =?us-ascii?Q?mmU7aCYFXF3vdjdD2dYlQFwXaYtUGbVXY7eY+CNUQJR1Tny2jXZbN2QIMCKT?= =?us-ascii?Q?NjtNogRYm3xtWbbGqJUKr2KyYgYUJi8KMAWMO8Kj2CaTZznXljvRkLYCRHoc?= =?us-ascii?Q?VbhhLrygIBNMnuicHLbVHJgqmyzgTU6IXr76X/Zor9TheGk/S65fvIa0o7s4?= =?us-ascii?Q?5GlngbpoHVJ/pLcB14JU0UE2biu5kmuAviSqnot4ahALc57V037B3dS3hzCR?= =?us-ascii?Q?acZoLe1tOgxwaDYnh7vL/4OuH9PGtUnIIOMhWmGxmwdmkzvLQVpzugIadAa4?= =?us-ascii?Q?5pOou1ewa7gVOPcL9FdKyGr8ujZ+rCykwbDx4wCEMXHu+tXrLUE7dnjE3HAq?= =?us-ascii?Q?78E4gZkQpUObU7nz/7/jY5usgTHj88snXHgqn3XzRmz/U4Nb4gMcCNdZZ+GR?= =?us-ascii?Q?EvDI+aGi83JlN/egjcKCpau4E+JSQrr13xif43ddS9Ch05SDYBuxhC3Wus1J?= =?us-ascii?Q?3UMioJGQk9J6Q2iqThvwXYAbOoOolvdBqo3REASZ9o1NJwe1awWhaxAD12Nb?= =?us-ascii?Q?lUuta7TplVtQ3Cvpvnb1RPjjngA4PUKoARcCnAqqY8QYjFhUPy8ZEWX08H92?= =?us-ascii?Q?6uRDG8ndAM6jPolr02X7Le2DujjusuZrA/223lCVqUubgwuiBgIRcXzpQ6r2?= =?us-ascii?Q?NnCZWsbZUAxUdxaYRHJHPyQOU1vPMQpMGk8hm5FVpGBNJoQXtePmumoh6OsF?= =?us-ascii?Q?snldRBbsOLXkdxWVITwu3RQGTXC+7CcuZwyVStBisWmjT2rcaiazb9iATQYY?= =?us-ascii?Q?oe8bRdNI9quQnnQxdF5LKVUU7lJpgG2n98a5kVWbmT/ldNmnZbFtKOb9O1HV?= =?us-ascii?Q?2cyINAgmDEwWAPz6NY9tSyE+iW2NQNfYAuf0bvDYrHf+xfcr5hyj2/NcPETA?= =?us-ascii?Q?g9Sz7WevJ2dJj7DyPixusnl3GCdI509YZOJlXIwsHMkAxWSzMfOR9d+2kvyG?= =?us-ascii?Q?lJGdlY/jz+ClrD8W7NDGK7KXy3G3GLCqU9E98BK4vSay3L7KATiIjFWX9gqr?= =?us-ascii?Q?CWj1+Q+SmbD1UAHvqhPkYk7Pjmt8VB+N7Ux907pL2+b7VEVatkt1eUV2Xt+w?= =?us-ascii?Q?cVqT1t9vzER9t0w/d+OxNvniSimgk29RQK1uV6ly0vL59Z8KVDpxN7hh/x+z?= =?us-ascii?Q?8UYL/IV3//GlY1XrLnCmqPgv/srLAJY10cJOm9gbVmJ6l/kRKvdlVKCddPrs?= =?us-ascii?Q?GuKRPZteNc4hg9PL03YeXFP6w8qX/8/8iH6X9mQcMylJLWONKGAt0zPmCPMc?= =?us-ascii?Q?llc9Hg7Yi78CnwrPA6FPi1+9tligRiexPvvlbjwm3dqJtpz+oNZwFMmgxP/j?= =?us-ascii?Q?YOLNm2Mt9gnGWM9o6BhfmoxfcEaB9iqcAqhQSe78uP+HU9CKtW+nIXkUkzjh?= =?us-ascii?Q?/74fRC2T/3jqGv5v8EI9Olc=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 17ca370f-307f-4a39-d024-08d9f13c3ad1 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Feb 2022 11:05:23.8046 (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: Tgz1cUdD3GJcAPbf4s0YeZw90tvSXfcp9snliC50+hPUPfDlXTJV7MQZVGB6LySJ76B7euxZFBPSzY1DDXJraQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB5799 Content-Type: text/plain; charset="utf-8" This patch added a new sysctl, named mp_fail_timeout, to control the timeout value (in seconds) of the MP_FAIL retransmission. Signed-off-by: Geliang Tang --- Documentation/networking/mptcp-sysctl.rst | 10 ++++++++++ net/mptcp/ctrl.c | 14 ++++++++++++++ net/mptcp/protocol.h | 1 + 3 files changed, 25 insertions(+) diff --git a/Documentation/networking/mptcp-sysctl.rst b/Documentation/netw= orking/mptcp-sysctl.rst index e263dfcc4b40..3ad19e04ecce 100644 --- a/Documentation/networking/mptcp-sysctl.rst +++ b/Documentation/networking/mptcp-sysctl.rst @@ -75,3 +75,13 @@ stale_loss_cnt - INTEGER This is a per-namespace sysctl. =20 Default: 4 + +mp_fail_timeout - INTEGER (seconds) + Set the timeout after which a MP_FAIL control message will be + resent to an MPTCP peer that has not acknowledged a previous + MP_FAIL message. + + The default value matches TCP_RTO_MAX. This is a per-namespace + sysctl. + + Default: 120 diff --git a/net/mptcp/ctrl.c b/net/mptcp/ctrl.c index ae20b7d92e28..a211af9b19e8 100644 --- a/net/mptcp/ctrl.c +++ b/net/mptcp/ctrl.c @@ -32,6 +32,7 @@ struct mptcp_pernet { u8 checksum_enabled; u8 allow_join_initial_addr_port; u8 pm_type; + unsigned int mp_fail_timeout; }; =20 static struct mptcp_pernet *mptcp_get_pernet(const struct net *net) @@ -69,6 +70,11 @@ int mptcp_get_pm_type(const struct net *net) return mptcp_get_pernet(net)->pm_type; } =20 +unsigned int mptcp_get_mp_fail_timeout(const struct net *net) +{ + return mptcp_get_pernet(net)->mp_fail_timeout; +} + static void mptcp_pernet_set_defaults(struct mptcp_pernet *pernet) { pernet->mptcp_enabled =3D 1; @@ -77,6 +83,7 @@ static void mptcp_pernet_set_defaults(struct mptcp_pernet= *pernet) pernet->allow_join_initial_addr_port =3D 1; pernet->stale_loss_cnt =3D 4; pernet->pm_type =3D MPTCP_PM_TYPE_KERNEL; + pernet->mp_fail_timeout =3D TCP_RTO_MAX; } =20 #ifdef CONFIG_SYSCTL @@ -128,6 +135,12 @@ static struct ctl_table mptcp_sysctl_table[] =3D { .extra1 =3D SYSCTL_ZERO, .extra2 =3D &mptcp_pm_type_max }, + { + .procname =3D "mp_fail_timeout", + .maxlen =3D sizeof(unsigned int), + .mode =3D 0644, + .proc_handler =3D proc_dointvec_jiffies, + }, {} }; =20 @@ -149,6 +162,7 @@ static int mptcp_pernet_new_table(struct net *net, stru= ct mptcp_pernet *pernet) table[3].data =3D &pernet->allow_join_initial_addr_port; table[4].data =3D &pernet->stale_loss_cnt; table[5].data =3D &pernet->pm_type; + table[6].data =3D &pernet->mp_fail_timeout; =20 hdr =3D register_net_sysctl(net, MPTCP_SYSCTL_PATH, table); if (!hdr) diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index febf32c9a139..595222b08fbd 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -583,6 +583,7 @@ int mptcp_is_checksum_enabled(const struct net *net); int mptcp_allow_join_id0(const struct net *net); unsigned int mptcp_stale_loss_cnt(const struct net *net); int mptcp_get_pm_type(const struct net *net); +unsigned int mptcp_get_mp_fail_timeout(const struct net *net); void mptcp_subflow_fully_established(struct mptcp_subflow_context *subflow, struct mptcp_options_received *mp_opt); bool __mptcp_retransmit_pending_data(struct sock *sk); --=20 2.34.1 From nobody Tue Apr 30 08:24:26 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a05:6638:bd2:0:0:0:0 with SMTP id g18csp1420085jad; Wed, 16 Feb 2022 03:05:37 -0800 (PST) X-Google-Smtp-Source: ABdhPJzTvfdZC+176erjgc9akVr1s6SbRIBTUg/68OSKWtGUAVddMtPYskzKcORgqOCQxm8gLYGA X-Received: by 2002:a17:90b:3ca:b0:1b9:e1a5:c315 with SMTP id go10-20020a17090b03ca00b001b9e1a5c315mr1070093pjb.43.1645009536809; Wed, 16 Feb 2022 03:05:36 -0800 (PST) Return-Path: Received: from sjc.edge.kernel.org (sjc.edge.kernel.org. [147.75.69.165]) by mx.google.com with ESMTPS id h14si17506026pjq.127.2022.02.16.03.05.36 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 16 Feb 2022 03:05:36 -0800 (PST) Received-SPF: pass (google.com: domain of mptcp+bounces-3781-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.69.165 as permitted sender) client-ip=147.75.69.165; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=mimecast20200619 header.b=mlHbSeM+; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-3781-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.69.165 as permitted sender) smtp.mailfrom="mptcp+bounces-3781-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=suse.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sjc.edge.kernel.org (Postfix) with ESMTPS id 7F8923E0F2A for ; Wed, 16 Feb 2022 11:05:36 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 819DB23D8; Wed, 16 Feb 2022 11:05:35 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.111.102]) (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 3E9617C for ; Wed, 16 Feb 2022 11:05:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1645009532; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=SVKAlT4T5mLlp+OG4kYh/GLLYL4uqi5uxCVGOreMTkQ=; b=mlHbSeM+JWNPX3ywSqv0alXyHF08EWOYAJwdKE9OmMho8ygLRKOvPD5N4kxyvfHc8pK52A Xb+cbZ3Pr9AWonZoWWN0LM84F4fDV/grJ7y2tVwbFUKnM3kEF43Gm/MLPe79MVanlLIAHr p2O4EXnGDsyIRCA+4EjCdmqvKzYEeSM= Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05lp2112.outbound.protection.outlook.com [104.47.17.112]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-10-hTCKpFgnP6yuxRt_du-EDA-1; Wed, 16 Feb 2022 12:05:31 +0100 X-MC-Unique: hTCKpFgnP6yuxRt_du-EDA-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=T02LBFLh56T+kwht5/3ulECqDTEiu8/BXcvSkDwfpv70YRd9bn4PeALjqk7+AcWBy1PjcCgeYKmfYBRYPkcgaeBruzEqyaAd8ozR4mkML46TPYPglkicwW880nT6MUHpJ7lw/iN53NCQicMB0jpXGLCxiiTnI6foQAQEBxVHC5mvlI/PyTlMFZiokLnulVMZ3NYkLwSNVBcbmzw34YR799L793BMuKWYMFO5hD50GmzMed5NrzIp81yEksf4F2n36eOJkt5Gx501aOQeq//7A+bD+n9rqgEesIqLoeXJFHoH21TN9uTAdYfVYEDDF/Ev+rjoTx0RRQndgu9ox5HvOA== 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=gjwg1U6vo7ctwx9nr66uAajQaFgkqF40yjeUJlJqQXY=; b=e/ddX3EQVGv1v9OzIXaadKe5nPoilGJh6jI2RjyH/3e7b4VY6FwR0S0VUxdH2vwJ4TGI1+3zAQIkV5GRUO26hFHZcf43tg77vj0ImSJI8yr3artzqTduk8A9Ldk5UbC7sswyjyQAGFzz6kIYIjj783+wB83ryIKt6h8T+bQyxOB6WqOHN1nnS5/EiJLND0q0G1VHT0gHxMexq+369iyq3Eko6kGxjuLQZZo1jf7rI55yv3j3YyoD2rmY5GfP7tpBvj87wNZlYgY0PCXL6Seiyc0JiC6oxAaQw8OhUvfuSa84MHH4/kXF9F5c0hjan9GkIs6lJ3tDzFgX8Au5s3Yf3w== 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 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 VE1PR04MB7422.eurprd04.prod.outlook.com (2603:10a6:800:1af::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4995.16; Wed, 16 Feb 2022 11:05:30 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::60de:f804:3830:f7c5]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::60de:f804:3830:f7c5%4]) with mapi id 15.20.4951.019; Wed, 16 Feb 2022 11:05:30 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [RFC mptcp-next 5/6] mptcp: add MP_FAIL retrans support Date: Wed, 16 Feb 2022 19:05:12 +0800 Message-ID: <58ecb378a4ce3963529e301c296337b173f94305.1645009373.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2PR03CA0057.apcprd03.prod.outlook.com (2603:1096:202:17::27) 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-Office365-Filtering-Correlation-Id: 0d995235-c481-424b-a01b-08d9f13c3ec4 X-MS-TrafficTypeDiagnostic: VE1PR04MB7422:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:165; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0FFo/fOJ/X2d7MFzoso7f3Pac2v6fZUU6R7zfn/YxnXS5VB8DK9iyj2d4t+hjo2YQSvfhxyR53mYmW+yldmkBVc5IuK0aOweClsuL2COVMLfPGk/sLQPynFnpIIPSW+qkLl6KeEI4JRg9GWS90uftOnPShLJW4YVkppusXnNehvuiK/lQCHCaFO+HBY8GpxP+YreuSgPgO7B++T9C4C+X5wpKQTDMiCUJ9k+9ukei1uc4XNt4RJDAshVhDTtB9leNmkdUZUiV8g0OFYaRIWoWxw6YJwchzZ3vU1v0HHvUOTmLVcogiNGuFtmEX1IpuJDTDsZOEun7MDMiMwT4llqfwVHyaTJ5NQlcd8DbTXnxfZGA0ITYQuint29kRn0a/jAzKLXukwj/lBiJVnAL8MTv/wmCXNsgxXxHrBY/1O9MAYMtSQ8Lw4vCH2IRI+UelZN+/EyByrEseDKHJWkub+CPVUalMselzMWpu5m8pty0jADZxurI7XA1S7jQ6bjCow5Q/IqcffniTPK/e2G0NwiKzSbPWvKEY/Cb50wY+yHsVNlcebJrUWVAN4ZlYH1Biud/BL6pmc4E56wWJ26v//BxjWfkG5kdyhEbb65fCQ9O7ulmUhzTTfCSdvkSydQmSm6alZ6ZMyV5xhqlB2wHbvS1w== 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:(13230001)(366004)(5660300002)(6916009)(26005)(86362001)(2616005)(44832011)(8936002)(66946007)(66476007)(83380400001)(66556008)(4326008)(8676002)(316002)(508600001)(38100700002)(6486002)(107886003)(55236004)(2906002)(6506007)(36756003)(6666004)(6512007)(186003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?wp3nSZyBVbdxTK4Jjxio3L7oavac5OHuFjRQNGzCrguP1AFxKbhOrs52ocGr?= =?us-ascii?Q?d3HBGKYcrGdbUEwjWS68+1zYS+8NJsRaMlFsZNJWyPlsaSgrUNHUQ1KcW9at?= =?us-ascii?Q?ZIqFjr/rVMQ0InOlQcFq3aYAoRq16pcoaaBHD+5L1UePbYs0y3927vGO3MYE?= =?us-ascii?Q?oZWeDQQv4b5PV/KqhEZwzVz6gBzcJ9gWtX5IP4VdBhlasxBn4UJVnvyRen3A?= =?us-ascii?Q?b7kiF7eoDO1Tcchoq7wBbpx3WI+kBFroEcYc2R7fE14dlaVPLOVSitmgCfbh?= =?us-ascii?Q?M1biSS1JJ1skxNQj8+OeHT6OcA3SzJ6G2cShRR8e4y0se4khs4pYkp5YfuO8?= =?us-ascii?Q?UdvUyOUpbuN6lFkqMJjGpQicOziOv3DSMAwxrPUOjEx4Z+Z1GAZlZ9Mun7Fh?= =?us-ascii?Q?2ehRvy5OWbxDE3CovG604pvb6HO5iZrMcrdrpY3wH+nGO2uEAQLlSSou4I7r?= =?us-ascii?Q?LONxFUi+1R/BkdM9jU2taC29F9fj3jcEyzUGIBPGUHkHOcX/aCqcpgHjfqWD?= =?us-ascii?Q?7r7+eTITGE8WPumiaOjVvThVShhkhD4+nzDE+a93nw8HvjlOT7CfEitDJYAQ?= =?us-ascii?Q?QYIEUtbyB/zsOKVol7qFLTsp+RV2iVXV94oUaVQfaezvQ0tKuZDoWEtL50fR?= =?us-ascii?Q?BCY10bfoiWxdZYU2sCf1S7RC/9qTNgWKswI6Uw3mSErEvkOkidp6ceuahPnx?= =?us-ascii?Q?mdiDyZb+5Y1DpKAaQ/86a+BA0DYLKNQSIY98ystFUTJcc0hhrbiZp2cRoE4o?= =?us-ascii?Q?on+LnUZk6scjWNiQuC/AUTrqyYX6w/HLQEnfZZZRA0/p3qw2QkWQ5Y5XlIaB?= =?us-ascii?Q?pgMQBiEp7QTWvIzplXVQ1O8sdAGP61TDl9vS8UM53tO7lKZzGLqyTRnjUHhj?= =?us-ascii?Q?lAbTEdfc1qHShvJsqq8IjZ2Ymw9pCKLnfXkr8kLSLaD69vYs7Eeptqg6Hwqe?= =?us-ascii?Q?wZBca5kOzG+D+LTOo0+7fLB9sNMyRdlZYx7aqY2jtkSBmYOEraBM6wh47MEv?= =?us-ascii?Q?Xm26ZrSyzLcuwWRtKCtAxifWJLLnO6dA2AhBJpKM4KlaB65DyzNxU3kv8jgu?= =?us-ascii?Q?RkKtlTIiILMIawoUmusUsIpMnX9boATREgQy3ElgptJIwMHBwFV5/r/CWJJr?= =?us-ascii?Q?AWMm7sdaiHxUGEiWcQaNt8hIFnjpTX4G3MlitypnKGUVBBNGuRf3M3KCiECz?= =?us-ascii?Q?T5rm+YXTiqnBYAopd2z7UsfABjRXiP1Z/ywDFiz06OdPXSrB0BKO5YwrYada?= =?us-ascii?Q?yXWr5+DCB1FanS9QVM5lFsIT9t9kdwcmzii9yD0CcimwBS3xDgHLJKoCBaVe?= =?us-ascii?Q?GB6ZZwQ/Jn6bwk6RWbcovWXPosuyXk1JzA4nGZBxuHNVFjnGAgg7xqH2oGyx?= =?us-ascii?Q?Vw378/xAMw01D+WUDwrpiL2nXVm7gCNvuD6lAz/rJKpvWEEyWoOvWKxAZ07c?= =?us-ascii?Q?XbGJlIu94nPda1TNaSFWqKGRaDJD6A7LX6arjJ3Ml3vG2YvG8nBCTq5rF6Wi?= =?us-ascii?Q?2ghpnDW7phLHstmZBOZEaSfMiIyQdSJArAPyp9rj8SCBXxLHYs6tIyMHaN6w?= =?us-ascii?Q?qLPHUI5HjDuwDzVyb+yGkaALLPBYbUrVg9z9+Dl/JR8xR/5/tJWvpbKYiBsw?= =?us-ascii?Q?RAKF/rY8mch3lf5wbUMB6OI=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0d995235-c481-424b-a01b-08d9f13c3ec4 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Feb 2022 11:05:30.6009 (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: pNAx81xy2Cr6VqEIwC6TqHtuoN8YyJy4iFHhJUBzzmLHuGg6SLCPiLgqSR8vv1v2CKr8TMl5la4SQ0+b7wBXsg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7422 Content-Type: text/plain; charset="utf-8" Add MP_FAIL retrans support. Signed-off-by: Geliang Tang --- net/mptcp/pm.c | 3 +++ net/mptcp/protocol.c | 1 + net/mptcp/protocol.h | 3 +++ net/mptcp/subflow.c | 25 +++++++++++++++++++++++++ 4 files changed, 32 insertions(+) diff --git a/net/mptcp/pm.c b/net/mptcp/pm.c index 5e133b249492..e85acdf49d95 100644 --- a/net/mptcp/pm.c +++ b/net/mptcp/pm.c @@ -311,11 +311,14 @@ void mptcp_pm_mp_fail_echoed(struct sock *sk, u64 fai= l_seq) if (tmp !=3D subflow && tmp->fail_seq =3D=3D fail_seq) { struct sock *ssk =3D mptcp_subflow_tcp_sock(tmp); =20 + sk_stop_timer_sync(ssk, &tmp->mp_fail_timer); ssk->sk_err =3D EBADMSG; tcp_set_state(ssk, TCP_CLOSE); subflow_sched_work_if_closed(msk, ssk); } } + } else { + sk_stop_timer_sync(sk, &subflow->mp_fail_timer); } } =20 diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index 4599bde215b2..85f7c76aeb90 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -2307,6 +2307,7 @@ static void __mptcp_close_ssk(struct sock *sk, struct= sock *ssk, sock_orphan(ssk); =20 subflow->disposable =3D 1; + sk_stop_timer_sync(ssk, &subflow->mp_fail_timer); =20 /* if ssk hit tcp_done(), tcp_cleanup_ulp() cleared the related ops * the ssk has been already destroyed, we just need to release the diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index 595222b08fbd..9f6e8774b069 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -467,6 +467,7 @@ struct mptcp_subflow_context { u8 reset_transient:1; u8 reset_reason:4; u8 stale_count; + u8 retrans_times; =20 long delegated_status; =20 @@ -483,6 +484,8 @@ struct mptcp_subflow_context { void (*tcp_state_change)(struct sock *sk); void (*tcp_error_report)(struct sock *sk); =20 + struct timer_list mp_fail_timer; + struct rcu_head rcu; }; =20 diff --git a/net/mptcp/subflow.c b/net/mptcp/subflow.c index a8b5b8bf45e5..9bbc157fd713 100644 --- a/net/mptcp/subflow.c +++ b/net/mptcp/subflow.c @@ -27,6 +27,8 @@ =20 #include =20 +#define MP_FAIL_RETRANS_MAX 3 + static void mptcp_subflow_ops_undo_override(struct sock *ssk); =20 static void SUBFLOW_REQ_INC_STATS(struct request_sock *req, @@ -1099,9 +1101,29 @@ void subflow_sched_work_if_closed(struct mptcp_sock = *msk, struct sock *ssk) } } =20 +static void mptcp_mp_fail_timer(struct timer_list *timer) +{ + struct mptcp_subflow_context *subflow =3D from_timer(subflow, timer, mp_f= ail_timer); + struct sock *ssk =3D mptcp_subflow_tcp_sock(subflow); + struct net *net =3D sock_net(ssk); + + if (inet_sk_state_load(ssk) =3D=3D TCP_CLOSE) + return; + + subflow->fail_seq =3D subflow->map_seq; + subflow->send_mp_fail =3D 1; + MPTCP_INC_STATS(sock_net(ssk), MPTCP_MIB_MPFAILTX); + pr_debug("retransmit MP_FAIL %u fail_seq=3D%llu", + subflow->retrans_times++, subflow->fail_seq); + + if (subflow->retrans_times < MP_FAIL_RETRANS_MAX) + sk_reset_timer(ssk, timer, jiffies + mptcp_get_mp_fail_timeout(net)); +} + static bool subflow_check_data_avail(struct sock *ssk) { struct mptcp_subflow_context *subflow =3D mptcp_subflow_ctx(ssk); + struct net *net =3D sock_net(ssk); enum mapping_status status; struct mptcp_sock *msk; struct sk_buff *skb; @@ -1173,6 +1195,9 @@ static bool subflow_check_data_avail(struct sock *ssk) sk_eat_skb(ssk, skb); } WRITE_ONCE(subflow->data_avail, MPTCP_SUBFLOW_NODATA); + timer_setup(&subflow->mp_fail_timer, mptcp_mp_fail_timer, 0); + sk_reset_timer(ssk, &subflow->mp_fail_timer, + jiffies + mptcp_get_mp_fail_timeout(net)); return true; } =20 --=20 2.34.1 From nobody Tue Apr 30 08:24:26 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a05:6638:bd2:0:0:0:0 with SMTP id g18csp1420175jad; Wed, 16 Feb 2022 03:05:43 -0800 (PST) X-Google-Smtp-Source: ABdhPJzS+tCz6uz9km1NCN2eeteaF4WNVQV/hp6KOSHkhqnFt/WBQ6U2gcXTNnC2m6T98g2WSIXU X-Received: by 2002:a17:90b:312:b0:1b9:e941:3f9 with SMTP id ay18-20020a17090b031200b001b9e94103f9mr1091008pjb.180.1645009543179; Wed, 16 Feb 2022 03:05:43 -0800 (PST) Return-Path: Received: from sjc.edge.kernel.org (sjc.edge.kernel.org. [147.75.69.165]) by mx.google.com with ESMTPS id g5si242767pfj.186.2022.02.16.03.05.43 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 16 Feb 2022 03:05:43 -0800 (PST) Received-SPF: pass (google.com: domain of mptcp+bounces-3782-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.69.165 as permitted sender) client-ip=147.75.69.165; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=mimecast20200619 header.b=C933vIJn; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-3782-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.69.165 as permitted sender) smtp.mailfrom="mptcp+bounces-3782-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=suse.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sjc.edge.kernel.org (Postfix) with ESMTPS id D1EF83E0F67 for ; Wed, 16 Feb 2022 11:05:42 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id B833923D8; Wed, 16 Feb 2022 11:05:41 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.109.102]) (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 802E47C for ; Wed, 16 Feb 2022 11:05:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1645009539; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=azj42IoOKBFEy3xW37JMLTZP21WPjIa+ruCGNAXtCIY=; b=C933vIJncVvRWScnmQaix0FhFvBIV6qbkeMZzABaQsxjlxAgGdkUEAsNwwDsMoAz87j3QR ZEHgCjeFIiyhsa1q/suM9THdX31Q95ytktRZFqLcGKgpz5zgzPONzjDHj2CVm+o4jCmnoU ojEOZL65LYoFp32zWi1b5Pi0mAHIIUQ= Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-am5eur02lp2053.outbound.protection.outlook.com [104.47.4.53]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-41-v61aGB4oMvqfjNg4q8zG3w-1; Wed, 16 Feb 2022 12:05:38 +0100 X-MC-Unique: v61aGB4oMvqfjNg4q8zG3w-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AJE40Uq2l+ZmvaOh4z0K4Gor/2WLj3JAW7YzlQ9AF5nmCyNSDFVA/juuBaDnzC0pJn+hkb20RhS1J0bSLtJOm63VPH57tLPzqmYKy+HBDsXU8xs+803etiViTPTmnIM5pMWcVglEFv0geOf4uPhtlBOIgNXpbqEJi601ou/t17Fred67Psh9iF1Qv6PBUgmjSMsJ0lcFO7121/lvR30cxuN29RAEL5/7qLOw0A/D+e5fzcDTabcXJykCd8xhgR9JPXIPzGPYVyMNBGccAZq77UURorSW6OxrTm4zRYBidv7N/p2qmc/GVWILeWn6T6WUpAH4OmYxOfoI7Df0DWUK1g== 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=AyMgsui9auyyRCrRlmmBIXE8LftfDS+cmgpTqzzV4O4=; b=UQUO5Z0GtqhZiWMFukKU7Ai+PY0XEHsaxGmDaPKsRCMBE8fu+ReCfJqfXhNfuIrRoLenAtepJZkg04Ru9d9OuqDndQP1xaS1QljzOfJ36DFuRmJOZ5OIRqfT91Y0eRadkQDZc0KsNcSxLkqnCkO9PyJD+MiYPsrmKqhQQrZG5iakSRm3QaUwtmWO+yad3XSObZZJC2rTwE7mOBqkplUIp+YyT1amXD8tSydEFjrMiPfe1eRtLXXw+D7EB2gSpcCg2fRnX9pKl0mNOoj5h3q1+6hYuEq2M6MDwG/fSAfr2e0Lswb4NvADIzZmLYndqixFls9qp6oQGxO9Zt+E0wVftA== 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 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 AM6PR04MB5799.eurprd04.prod.outlook.com (2603:10a6:20b:a9::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4995.16; Wed, 16 Feb 2022 11:05:37 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::60de:f804:3830:f7c5]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::60de:f804:3830:f7c5%4]) with mapi id 15.20.4951.019; Wed, 16 Feb 2022 11:05:37 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [RFC mptcp-next 6/6] selftests: mptcp: MP_FAIL timeout testcases TODO Date: Wed, 16 Feb 2022 19:05:13 +0800 Message-ID: <38b55fd2b80168cacf38c23a699ea8af356d5f80.1645009373.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HKAPR04CA0004.apcprd04.prod.outlook.com (2603:1096:203:d0::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-Office365-Filtering-Correlation-Id: 97202666-08ce-48a4-0bc4-08d9f13c42d4 X-MS-TrafficTypeDiagnostic: AM6PR04MB5799:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:597; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: FV4aisULFqzPxRNTLg5tZZXoJBxmihXoYrT8FoWQlZgD4VpaGwY+Pn2a+RYxj3npx6AAoREisjo+lovqZDbgf9Ak92A/9m9wh0hb5szQOEEiU3Teq4sW0tcHo3NvLFhD/G0/5gRB/D9R4MLmAGnmi8osc+i2GjOM+3iSvc74gpO6pAc9WZDA39cKapBZkbWyTAle5Mf1FcigwHn9arNHHSnUrDCX1BcpSG8jJOXqPiEVUxFVn2YfEG6LbV53z0KYKuLqic0zUWF3RJDXpPgpGDB0tND4GzOlas3DMkCYFM9WN5GcLt8GujengFx7KbeusdogX1boE7MpXwQqvpKHzOa6RQHA08Mrwg569LvRDihGRrBhJRV3PPAvqX1dXm+P3JURzqwa0HYdYbPa3HgdpU79hO/JX/GHe/nGVJdRW+uR7jUpO3K3alkB+xOUPl8JLUn0ou34j6FrsrWMytHbAbvhScZmc1/4X/0F9sbX/jyOXiEvdg1Bn7l8LaSHmHLIq+IXWKkd0eJbzbjCWtodUFEWMqK4LeH+8g1F3iPpXHWrbeNBRpx8u1eIAdIoL4zMshZWNdxxyiS0phgP0kH7aaNdp5WYLhz46mfuMQjcQdYe7g9OFJjv7a67FdxG0EMLb8R5EdIEpD5zl73JeDJ8HA== 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:(13230001)(366004)(5660300002)(508600001)(36756003)(107886003)(86362001)(66946007)(66476007)(55236004)(44832011)(26005)(186003)(83380400001)(8936002)(2616005)(6486002)(316002)(38100700002)(6916009)(4326008)(8676002)(6666004)(6512007)(6506007)(66556008)(2906002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?eB9GFaz8gV1qteGdi3EkHgvNYU8kJJebKxWv0Slu8X/Pjw1SUZ9schCcvsyQ?= =?us-ascii?Q?/64WWDSc6o8VuIftgRd+658G0CaRE9ApXGFJ3XG2OdNni41KC8FmzP2f9oNq?= =?us-ascii?Q?xevSLETg1dKVifHuCHrI89jc6Dtl8fJTyXzaP109w4Lw3hr775O+fuIQCABS?= =?us-ascii?Q?V2AagwRcfigtSEyyugXtUFEbBpSK/fraCI9I2+5yjtZCIO4SKuHKp7ZOvZSH?= =?us-ascii?Q?Ys8wuNarZGdasglO9d/6Tub7EzIB12hYT1oiWOzt3auT4Nx2dbDq4gih2rWX?= =?us-ascii?Q?UQxGynoVa6QiexSbNB4g5DrlnHLtk4JBUjrdGXrT81wW/0tuAmQgGQ9tFDAt?= =?us-ascii?Q?qrr3+gBasuP6UUx9l7FtpfCmv3/7P47qhdsrAUvacb+eYebPDqpzTO7yT7oM?= =?us-ascii?Q?+Zo8/5BSINLrNOsHmQrIb6D3jRmDU8chwYxyKvPecBTNnDhrQSQ8Uv867UWr?= =?us-ascii?Q?RXSyCMCCJuCSe1blsM9eHQMiC8EoZzjKWx/cq6AbklTfnE2sFQA/yIE0Fp6b?= =?us-ascii?Q?ic1jtKAgTiVYQJPC2qCdQcyNUWbaHYhwam0ZZUBWc4+K2h1iXc9LsFpxgRFy?= =?us-ascii?Q?GAqJ/yewkYgHmdgqnTk8Klk5Xk2+7XWhvA3DmDGvZgCR/DauKx+fDucaZrhW?= =?us-ascii?Q?QAqIgUe85JKPIbWsMw3/6vLcTOp9JpXEKeZ4Zr8efFW6lEakM4W52PYmlXl9?= =?us-ascii?Q?a7JA65r+kaDTSsmCaGRM1Zlg+7JzG19uxDMCViM9ZPsl/s9yJq3kESD+zeu2?= =?us-ascii?Q?UvcU6AfawhA5/ukC7TFtOGff3Ri+IrnCyK2ssxaWnK9upwEDnolNVz1k6QoB?= =?us-ascii?Q?MVNbXRopGdIWeoN7TKadX9+WxF3w586f8KHlcyIUio54eMmDvYzt8nD888uC?= =?us-ascii?Q?M3FBkbeD5gtu3dHoQW6KTjhk5kQjc717UWPHybziBg6cjlzKCByYZM4JJ6Di?= =?us-ascii?Q?b7FnNSm6R9yAPylEAWmAnKj5wUcYy0uLQ78k7nW/nvvbMDWXpi6I20Q4HRqd?= =?us-ascii?Q?iLJ+IUFVBNd9Zu+BASKX2PvxUG+CZEPBqyObxd3FGn2WwNV7pJWdos1W3ioP?= =?us-ascii?Q?J2g+kdLhJv4wWiFEvy06gxWXGf8cjXfuqjHubiSnKCAv9RKg3MTS2x29udIE?= =?us-ascii?Q?Ih2oUdzMAw4VLo4uGxtvJ3UH+1x75v06ZTfNd2DGRRWbndZwdTYTySfdxgYV?= =?us-ascii?Q?b3NhQlb0/eHFADTDUGB8VhWJ+BT3NrxGMfv4KyO7ZgwP6R6ZFXr39RzDru9f?= =?us-ascii?Q?njkFGoxTB6bihyOxg8iKKp9bF3iqd4tXOVyQOqtpveXI7b1p4UfHyscwJHXO?= =?us-ascii?Q?jfTO3qRMXKI3RvP8Y2XYCvoez1hpYrUIh4a7zPmBn8bhTnaMxeOG5w3e3VIa?= =?us-ascii?Q?971AeNkbEMT3HWqzAQRiTU2l020GiCDlPQAz++cp1e3eL13q+2eueJPaPdzn?= =?us-ascii?Q?BYBehtRs0uzBYjcir0/b3DIYdhbPLm5W6kM1a1rePhOgY8jXzS0yuCzSg9/q?= =?us-ascii?Q?7xS5u1XX7MPYtwHh34CnAbuLNT89CbxBH9330jeDkg4dLtkYqJU+XxlQBByl?= =?us-ascii?Q?zel7fBEH/TfbsR0LF9UBbLmhpKhUJpUmyXiqUAVxnsMOW7GlJPJ+tf1ErfDe?= =?us-ascii?Q?ObilKYeQMRj5iu6MVLXIJ/0=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 97202666-08ce-48a4-0bc4-08d9f13c42d4 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Feb 2022 11:05:37.2566 (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: kEcsqVhCv/Dix9lEg/fgd62ql0Ivg84+NCI8ZbjnL6d9jwkIYthqevJSrnBHQGPc20fCRpXn+cmUtJdtr5XWyQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB5799 Content-Type: text/plain; charset="utf-8" This patch added the MP_FAIL timeout testcases. Dosen't work yet. Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_join.sh | 60 +++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 01b9cc190134..abb8bc3468ae 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -41,6 +41,24 @@ CBPF_MPTCP_SUBOPTION_ADD_ADDR=3D"14, 6 0 0 65535, 6 0 0 0" =20 +# generated using "nfbpf_compile '(ip && (ip[54] & 0xf0) =3D=3D 0x60) || +# (ip6 && (ip6[74] & 0xf0) =3D=3D 0x60)'" +CBPF_MPTCP_SUBOPTION_MP_FAIL=3D"14, + 48 0 0 0, + 84 0 0 240, + 21 0 3 64, + 48 0 0 54, + 84 0 0 240, + 21 6 7 96, + 48 0 0 0, + 84 0 0 240, + 21 0 4 96, + 48 0 0 74, + 84 0 0 240, + 21 0 1 96, + 6 0 0 65535, + 6 0 0 0" + init_partial() { capout=3D$(mktemp) @@ -261,6 +279,27 @@ reset_with_fail() index 100 || exit 1 } =20 +reset_with_fail_timeout() +{ + local i=3D"$1" + local ip=3D"${2:-4}" + local tables + + tables=3D"iptables" + if [ $ip -eq 6 ]; then + tables=3D"ip6tables" + fi + + reset_with_fail $i $ip + + ip netns exec $ns1 sysctl -q net.mptcp.mp_fail_timeout=3D1 + ip netns exec $ns2 $tables -A OUTPUT -p tcp \ + -m tcp --tcp-option 30 \ + -m bpf --bytecode \ + "$CBPF_MPTCP_SUBOPTION_MP_FAIL" \ + -j DROP +} + print_file_err() { ls -l "$1" 1>&2 @@ -2455,6 +2494,27 @@ fail_tests() 1 \ 0 \ 1 + + # single subflow + reset_with_fail_timeout 1 + run_tests $ns1 $ns2 10.0.1.1 128 + chk_join_nr "MP_FAIL timeout 1: $(pedit_action_pkts) corrupted pkts" 0 0 = 0 \ + +1 +0 \ + 1 \ + 0 \ + 1 + + # timeout test + reset_with_fail_timeout 2 + tc -n $ns2 qdisc add dev ns2eth1 root netem rate 20mbit delay 1 + pm_nl_set_limits $ns1 0 1 + pm_nl_set_limits $ns2 0 1 + pm_nl_add_endpoint $ns2 10.0.2.2 dev ns2eth2 flags subflow + run_tests $ns1 $ns2 10.0.1.1 1024 + chk_join_nr "MP_FAIL timeout 2: $(pedit_action_pkts) corrupted pkts" 1 1 = 1 \ + +1 +0 \ + 1 \ + 1 } =20 all_tests() --=20 2.34.1