From nobody Sat May 4 07:53:28 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:cbb9:0:0:0:0:0 with SMTP id v25csp3891878jap; Sun, 5 Dec 2021 20:00:01 -0800 (PST) X-Google-Smtp-Source: ABdhPJzqTOHSNtChYnLsKVEoYxd+z3VHKDxfGjLnmWZhOC5LL6WzrovJTXs8w6S7lewIfjPpj8kp X-Received: by 2002:ad4:5a47:: with SMTP id ej7mr34387021qvb.48.1638763201077; Sun, 05 Dec 2021 20:00:01 -0800 (PST) Return-Path: Received: from ewr.edge.kernel.org (ewr.edge.kernel.org. [2604:1380:1:3600::1]) by mx.google.com with ESMTPS id bs39si14359049qkb.438.2021.12.05.20.00.01 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 05 Dec 2021 20:00:01 -0800 (PST) Received-SPF: pass (google.com: domain of mptcp+bounces-2642-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1:3600::1 as permitted sender) client-ip=2604:1380:1:3600::1; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=mimecast20200619 header.b=L4MFEF6u; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-2642-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1:3600::1 as permitted sender) smtp.mailfrom="mptcp+bounces-2642-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 C7C2B1C0783 for ; Mon, 6 Dec 2021 04:00:00 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 8CEB229CA; Mon, 6 Dec 2021 03:59:59 +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 0B01D68 for ; Mon, 6 Dec 2021 03:59:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1638763196; 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=VMYkImK8F9RAYbnsslJREBWgmyJSXTsIqbVq81jdn/c=; b=L4MFEF6uLnWZd4nu9ZY15A+3EAJZl7DIREVNUTYwqNI82G9FLhoqmFdE4eDVXDVFLiP12r pkCbAo0oj5HKLNjv3j2XXcia/5Hqo58ypM1yiwtySHed7/LpGIfkPQGbyBixKcWtTuzf25 Wz2JYg/nakmT1tzZAERQL737ki61Dds= Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01lp2052.outbound.protection.outlook.com [104.47.1.52]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-3-VcM4y2H0Me24AWema84iWw-1; Mon, 06 Dec 2021 04:59:55 +0100 X-MC-Unique: VcM4y2H0Me24AWema84iWw-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gxyua+lCbW/LPaRvWmtDp7TetfhTVjg2KNqK4vncO8NzRp3EW4fthyf97zcq+TrU/8zGxHKh2MG0PhDCoklyv3EjHploEV4AI0X9+BZSLDkcmtsY5Nn+UykLtBBW1GWjDFI2ntRPLprowls9DT36enF+u2mwm8vtIfD59x1oNU8s8jZakME9O/N/n3EJWt8RhfbJ+Yw8sy1GLOwNtRQ5UOudx4RouBsKHgNYn1+8VcUpr6LGuyEkLAVa5UcsN66v0KKL/Mwi/gAR+LZHjkek3vnOJ+Y6nvd3Inee1GuLPS+JcjsIdMwFed94ssZELGNevjocRXwTIXqwGvqW7qSH2g== 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=BhN8DGMig2/3iAt/YGe7jK7yfo6Vh2PFRU3mMf1aHBc=; b=mN6hOoLbdYRzd2ouPkwtkOdb2PTVXqb+4hd14WtvhmRu9wZ902Qzn7mBpOArSD3c8fFVB614sXZBdg6JBUr8ZncPylVoJYh1pcHdao8w1aEJD0uTvJ+rDNHkp81xrmNU57XsoYdlhRXGn/44lP/GfH+ZeI4MFi0vIp+qOH1dJywwcIo4kiZ9hJxX4g/CqTXIf+uukm8sNCB3pyFNuki/pOpELYWuIn78dVdVthqX/d526eLkerTk8L2KpsRcIR2xXs83Oa/IKKqPwoMOM0cPI96HTaQH6iS12WdPFhQujm1n5Xtoe1Bo3V14d+ZK62N5jBRlk8GujLq/KDeUSKyQ4A== 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 HE1PR04MB3065.eurprd04.prod.outlook.com (2603:10a6:7:1d::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.21; Mon, 6 Dec 2021 03:59:54 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::59a0:4185:3e03:7366]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::59a0:4185:3e03:7366%7]) with mapi id 15.20.4755.021; Mon, 6 Dec 2021 03:59:54 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang , Paolo Abeni , Matthieu Baerts Subject: [PATCH mptcp-next v6 1/2] Squash to "mptcp: implement fastclose xmit path" Date: Mon, 6 Dec 2021 11:59:34 +0800 Message-ID: <9b7f1f42a7f25006e09e2484bee5643bbb13568b.1638762825.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK0PR01CA0066.apcprd01.prod.exchangelabs.com (2603:1096:203:a6::30) 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 Received: from localhost (60.251.47.115) by HK0PR01CA0066.apcprd01.prod.exchangelabs.com (2603:1096:203:a6::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.16 via Frontend Transport; Mon, 6 Dec 2021 03:59:53 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 6fe51b98-a9d6-4821-1182-08d9b86cdc57 X-MS-TrafficTypeDiagnostic: HE1PR04MB3065: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:3968; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: VM29mEKEd/yv9Kxs/U7LHKYbJZlqtXMBaReUTYOBQN8jXueZV4/GC3HcFMnEZ+O9NRMMmOcdwPb1TQGsXVgszHlsdnE0wGWD5JdM+OFC5qGY+RCciqS9DvzxQd+jw41VAq3+4ST4v0feritz4JCjBcb4j5CiJdl7sGHFYr9+v8sN0bxTW4XpbHpyoQKnfQfOn8/TNi7DUy6XMHLm/JFWAe3V7HW4k159QtGi/E9nPi41TAvQiBa7tMiBZLygVfwQahYMkPtCRfH53xTwMoEr1+Da7ev9CmwruRF6kktlPtTzxX+Kbo72qwzbmQuvsB/2cKp6ljwNKTEDI82pPiKcYbcXChNeXzWnslhmsdxl/IZkdFJCjtnpIg62Vs+EozN8Umnof2BZISVLHHZZYUfpyJwaDzbIyAnLNpD4e0xkt+0KXWyTPl/fV+sMpKAO3aNE/0nnPcranntXpaqTdhSFHkgO3Mneiugw8Eg0MSOrjdS/Lu6NJeHMlrPmlmFJBIl00WSS4pi2DW/DFYhazQwVZsPhqzgs4YNIMCIq9R0aYkQRzX7UlJn0BBQ+944urdeC0ZM66INDly9F3lwREoXR4/f7dEuVomoQs+Fcj5vSGKV0AKCIDMJffq5JKYiXwoXCsPJeRR/l9Omi/URK8XvP1g== 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:(366004)(316002)(4326008)(2906002)(83380400001)(6486002)(6496006)(8936002)(54906003)(38100700002)(86362001)(36756003)(956004)(2616005)(6666004)(508600001)(5660300002)(66556008)(26005)(6916009)(55236004)(8676002)(66946007)(66476007)(44832011)(186003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?hYasuG61sfMGc5RFbL5TsD+jft7+tB7aI2yeKyJTtIKeS68czXsZxpHBUtCm?= =?us-ascii?Q?9EozquwiJWYhrcGV7J3VCELiF7dyrGfZhHKZt6IDEBrv9pR2roaqKgBiXAce?= =?us-ascii?Q?PAsyUdpzmmgW6hqZ2rGhIhrMzEwoA+yNDkVXNjd0bO1eLRLYHEZ+u4ab3DT2?= =?us-ascii?Q?Fz5gobdHu//5igvkJZ3RxDo5LfpFYN1Ulx0DdAtMEdHSGkjWsRbuiZwDZTh1?= =?us-ascii?Q?L+xXEcAuJlERPIQfWW+04OvJM9j554M0h/kVnrjAwRCHnSUM2YFrbv1nhfcy?= =?us-ascii?Q?tplbOqkoV8pgUXLl4heixqz7SZblkSmDUQz/Z94Rwz+l27tWa/jhU488IgoP?= =?us-ascii?Q?8uMXF0SzYer+AAXC7Teh1K6lzlrGqpMuF6iL6B2R1sc7IBh8uzz2aNYBzNFg?= =?us-ascii?Q?9lS2u9HPBDjzgNNyAT1oU3vyYMjVKVkPGtHDnhDTx/tg+E6jcb+V4xw6+UQ6?= =?us-ascii?Q?HW43FLPEFKyrfdem1ebqRFvgvebTo3wgwMzjoSScOFZ0g4dcvWzpvlRfAvUv?= =?us-ascii?Q?pyf4PFmas2WPSV/mJFV/WTVIEQYk05Ycb6ulrREXDQ5m0+8VtOCGFC9pXZK7?= =?us-ascii?Q?iQEKDljkW8bPV3MEL2k4OfwcrIEUHfKkgKDfCyfB/1/vE9Jc9K9ny0Axvhht?= =?us-ascii?Q?gs42X87H11WlB8ecDwD5IPHsngAGVQCuAKtnUt4HSRggWgMpgO16SxmqGPNj?= =?us-ascii?Q?aN69j3rhsgfA6fqufz2ZkTKaBgsl7qYioNRfzkJvEpjwgl1ovDzupZ+MSdXT?= =?us-ascii?Q?fG2iDBn1kCYrLrtmOw9wemAKxnCclwyWrq65JfOfTdN9hQZzC/GZ4Ei6gsRH?= =?us-ascii?Q?a2pp035Y1wbjL4AacCV9PoK+O12NWLt2N5chUUM0Qx3b7G9ezmdeIurdDzKF?= =?us-ascii?Q?vRpyRKHxP8ifmG+Ik+1AhTJmb7RtFSN3D3yZzJJ9efAA6ZKxOt9J1ysXiYcG?= =?us-ascii?Q?g+og9xjp533ONF1KuUM9Y3P2yhImh6oeM1gCZajbc1wfcEA/iwAIJ4/Nen1E?= =?us-ascii?Q?tl+cJEalSFVRBwDet8NcfvhW/VRpqQpw01HmY7e5yOizcDDjqXXXVqom1aLk?= =?us-ascii?Q?pDy6CXoE3OYJI0eLz+9N/Nt5ZbByYXizUwPqLhKYG8uUe2LCDS2MWfNjeXbg?= =?us-ascii?Q?rlaaa2CbmJYN5P3JXeMKoSZ69YrBokR46Rhjk9QbaBoLKxoC/sikZIU4un3W?= =?us-ascii?Q?D9EifLpfaTPJ5M02lXiBXBBG+R3sczquY1/djfFfcV2pUNh5V7fDqvqvAE+q?= =?us-ascii?Q?R+APSbIgl1t1Ae+muihpSHXprMFdfzqErRd08osFLylQiQQGJX8pdmOXgFdq?= =?us-ascii?Q?I6BskAlXBPPHDmvsWMA7/l/ZmGm4WLZ7phWTbcBN/61Jl5ZAds5LlLiKvrEB?= =?us-ascii?Q?RDv217FKlh+3pOSRVXFIz747ORUfQvzQypLfPkMKTr/G9Tmomi69K91lDsJO?= =?us-ascii?Q?s2SAaaC/oimtEZTEQaf0JrR+MDeYP5EK8DV3Bdhyb2dyGlBEEs2/IlH5RR+i?= =?us-ascii?Q?beBLY797BE+a2QuIpYMzrb194E4lCqasKuz6aJkyTLez/DYlYMbWowhEQnH7?= =?us-ascii?Q?Vm+Oux5CdHioydz0SrwpcHJGL3L1+zWvp0sWruChVJtkUDowners8R95WzoD?= =?us-ascii?Q?NJNlJgub2S0vgQBGGWJEhdM=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6fe51b98-a9d6-4821-1182-08d9b86cdc57 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2021 03:59:54.2937 (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: Z1t875D9Li2ZBBKR72NOX1ylklWco833MbCAN+3kGjrV8gS6dvfi/rtk6icli2XORCBVhJC23uLcLzi/bOnQGg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR04MB3065 Content-Type: text/plain; charset="utf-8" MP_FAIL could be sent with RST or DSS, and FASTCLOSE could be sent with RST or DSS too. So we should use the same xmit logic for FASTCLOSE as MP_FAIL. Cc: Paolo Abeni Cc: Matthieu Baerts Signed-off-by: Geliang Tang --- net/mptcp/options.c | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/net/mptcp/options.c b/net/mptcp/options.c index 8a1020e4285c..c5c0dd983ad6 100644 --- a/net/mptcp/options.c +++ b/net/mptcp/options.c @@ -828,9 +828,12 @@ bool mptcp_established_options(struct sock *sk, struct= sk_buff *skb, return false; =20 if (unlikely(skb && TCP_SKB_CB(skb)->tcp_flags & TCPHDR_RST)) { - if (mptcp_established_options_fastclose(sk, &opt_size, remaining, opts) = || - mptcp_established_options_mp_fail(sk, &opt_size, remaining, opts) || - mptcp_established_options_rst(sk, skb, &opt_size, remaining, opts)) { + if (mptcp_established_options_mp_fail(sk, &opt_size, remaining, opts) || + mptcp_established_options_fastclose(sk, &opt_size, remaining, opts))= { + *size +=3D opt_size; + remaining -=3D opt_size; + } + if (mptcp_established_options_rst(sk, skb, &opt_size, remaining, opts)) { *size +=3D opt_size; remaining -=3D opt_size; } @@ -842,7 +845,8 @@ bool mptcp_established_options(struct sock *sk, struct = sk_buff *skb, ret =3D true; else if (mptcp_established_options_dss(sk, skb, snd_data_fin, &opt_size, = remaining, opts)) { ret =3D true; - if (mptcp_established_options_mp_fail(sk, &opt_size, remaining, opts)) { + if (mptcp_established_options_mp_fail(sk, &opt_size, remaining, opts) || + mptcp_established_options_fastclose(sk, &opt_size, remaining, opts))= { *size +=3D opt_size; remaining -=3D opt_size; return true; @@ -1269,9 +1273,16 @@ void mptcp_write_options(__be32 *ptr, const struct t= cp_sock *tp, 0, 0); put_unaligned_be64(opts->fail_seq, ptr); ptr +=3D 2; + } else if (unlikely(OPTION_MPTCP_FASTCLOSE & opts->suboptions)) { + /* FASTCLOSE is mutually exclusive with others except DSS and RST */ + *ptr++ =3D mptcp_option(MPTCPOPT_MP_FASTCLOSE, + TCPOLEN_MPTCP_FASTCLOSE, + 0, 0); + put_unaligned_be64(opts->rcvr_key, ptr); + ptr +=3D 2; } =20 - /* DSS, MPC, MPJ, ADD_ADDR, FASTCLOSE and RST are mutually exclusive, + /* DSS, MPC, MPJ, ADD_ADDR and RST are mutually exclusive, * see mptcp_established_options*() */ if (likely(OPTION_MPTCP_DSS & opts->suboptions)) { @@ -1465,13 +1476,6 @@ void mptcp_write_options(__be32 *ptr, const struct t= cp_sock *tp, opts->reset_transient, opts->reset_reason); return; - } else if (unlikely(OPTION_MPTCP_FASTCLOSE & opts->suboptions)) { - /* FASTCLOSE is mutually exclusive with everything else */ - *ptr++ =3D mptcp_option(MPTCPOPT_MP_FASTCLOSE, - TCPOLEN_MPTCP_FASTCLOSE, - 0, 0); - put_unaligned_be64(opts->rcvr_key, ptr); - return; } =20 if (OPTION_MPTCP_PRIO & opts->suboptions) { --=20 2.31.1 From nobody Sat May 4 07:53:28 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:cbb9:0:0:0:0:0 with SMTP id v25csp3891983jap; Sun, 5 Dec 2021 20:00:07 -0800 (PST) X-Google-Smtp-Source: ABdhPJzD+vdohGK/JruV8oLPFsUE2VFAb8KtODXYfwiIUup4Ypev80RkVamwKBBhxVcYWjie9u4n X-Received: by 2002:a65:5c85:: with SMTP id a5mr16815013pgt.419.1638763207276; Sun, 05 Dec 2021 20:00:07 -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 z6si15060031pjr.47.2021.12.05.20.00.07 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 05 Dec 2021 20:00:07 -0800 (PST) Received-SPF: pass (google.com: domain of mptcp+bounces-2643-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=dphf1ICY; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-2643-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.69.165 as permitted sender) smtp.mailfrom="mptcp+bounces-2643-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 CB9A43E05CA for ; Mon, 6 Dec 2021 04:00:06 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id C02ED29CA; Mon, 6 Dec 2021 04:00:05 +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 71E4F68 for ; Mon, 6 Dec 2021 04:00:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1638763202; 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=jM4Tb6ArJ4yUhL+IfExlB8RdpZjBjX66J0s+ipjUfis=; b=dphf1ICYeHVyUid2B7zdLNe+GqeUj+FvyMv3UTTC/ZvUosT+Va02SBvwRu8c23zpn0gSRd k0GTxXQUSGx4JwU3ljkai0wZ6QerCRzRvDOelDUxicBL1L4tfqSHcheN6Ff5/MSNYGG3jq EtnSxnImbJtHGQcGngndZP0B1rBTWIQ= Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01lp2054.outbound.protection.outlook.com [104.47.1.54]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-9-49wz-4M6OiupbhIydwhYuQ-1; Mon, 06 Dec 2021 05:00:02 +0100 X-MC-Unique: 49wz-4M6OiupbhIydwhYuQ-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lRK6+J2wVze6E7JAN9tnUC6/sY7JOgep953V+bRY4gDjqC3wBrCSsh3UznW4qXWCEuf/8mSENc/gT+eu/r4elNOWr5sSBeolzfmvZbS65WkErMpGpvgy9lqxRvH4QcpQRpe5NnkQ+xRyTUr8YZsz+7laV9BtVZu9Y4f9dpb5KecfOAIpChH6tXNlW1U1AenfPD8wWQ7j0SOoTOfAzBlBNhdSCVRFx8A9q3GlwmSZ85RIPKlEJDAW0UuM591oJ1VjV/bC6NyhMAuxaZYvJWHOdydac/LBJkaDG97GJgsow7wJzjEmxKYjUQNtnjZ1gTg9xPUbisVWWWcmEifusYNzCA== 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=eSkuVeDIS/S9av1F6du8A+T5WUELUsy6V5cKBIiSyMc=; b=R+8Cp0z13Ma/tiXVRnm4rCBJUI7fgNUv/1xygx6vSqg5Pp8+C127I6Du3icE7hEf2yarG/Tch69HNLmFQV1BpCMqZ1rECJX4zVAUa3DxZg7emQxpQZ2r3P+qTGpjZL/1S3YJ9lAGSTJ3a8fgflGSfzD7dpW0290VlgxUftXrODrANYUxIP5pnYqHzDQcd8Bq66eym7NRdFWu2VjUwmpwGDFFX3++HGuUVgmgwAUcD8ALf9lIVXiJ1Prm9lVV0ei4UDy1FrtU7Y0Iy/crSg0zyrbREGF/lQfEOSl+NJOqTbV9RtZc/NhxAr2aNJ3zmILJK93/560GWqXFhebrsikCVA== 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 HE1PR04MB3065.eurprd04.prod.outlook.com (2603:10a6:7:1d::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.21; Mon, 6 Dec 2021 04:00:01 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::59a0:4185:3e03:7366]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::59a0:4185:3e03:7366%7]) with mapi id 15.20.4755.021; Mon, 6 Dec 2021 04:00:01 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next v6 2/2] mptcp: print out reset infos of MP_RST Date: Mon, 6 Dec 2021 11:59:35 +0800 Message-ID: <296e7a31661fbb2783dfa994b49160ab07f66c82.1638762825.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK0PR01CA0067.apcprd01.prod.exchangelabs.com (2603:1096:203:a6::31) 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 Received: from localhost (60.251.47.115) by HK0PR01CA0067.apcprd01.prod.exchangelabs.com (2603:1096:203:a6::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.17 via Frontend Transport; Mon, 6 Dec 2021 04:00:00 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 65bad88f-6c1f-4ed5-19a4-08d9b86ce079 X-MS-TrafficTypeDiagnostic: HE1PR04MB3065: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1775; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: OtsYFWbNHRebGoSI4YEgvBIqYaAG8r8CjJJsgPj7tWHY9XzHJEF0z6eD682NrILOsw5xHEeR8QnM80wsIBBFEAi3Tx2s/WItHYJfHgAIw09eQDSqWuIRGe6y1T7OibL5Mhz39ypeE3O/iIyDiwbyQNTtg++vzNSGQHs/V3Oxr01/Qo0O5YRHe9Q626cSt5tnZzQRcH8femEPQUWqPLDfLla2/mpbm5Ld8k/3qW3NXiNQBFL76SEaIOdJLF9EipBQvFsExAcl65zGkqhEC1mzYWidoLGnbA3/IF/XbUBu4uIPRLdteh4k8O6+bNsRBnwM+GqF8rk64o0AVcQHH4twrUMEfLxhLcNX4gXVhUgW23qId/vLZsbIAORCPxG80kSeYRBtkpBtI5Vp3mTghapGVN8tsBIO4xIOc29X0w2hkXmMv/ufiD3toOJPWtvXlE7hWVn8F1utGxBzi/T0JRzgwqxPkNMnogI18KZT8J8UWOAOihBwEoloorc7RjzZdaLSZ5bP9X7D7URtwN6oE3LnOQCXUBFqR0/ie0mOEpS7FAbIqHsyPKOC2vXo1vLTV+zDIANRIn5TZQVFp52noKOVXrHGyeEr5hhRq9g7uUoBISJMAdTSbUYN+8QN6xGW3D/VmNdI3HAF3GNXAYUlbSf92A== 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:(366004)(107886003)(316002)(4326008)(2906002)(6486002)(6496006)(8936002)(38100700002)(86362001)(36756003)(956004)(2616005)(6666004)(508600001)(5660300002)(66556008)(26005)(6916009)(55236004)(8676002)(4744005)(66946007)(66476007)(44832011)(186003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?/USYVPAHZbxMcCBbrIqlNtyQjemw2Fr1ffIhACh5W325erI2sv9/KsXk2rr3?= =?us-ascii?Q?i6Ndkqc2rL8GxAqjywW5JOA3RPlTi+IdT2yWc0eEoV9fgg7rzJv9qB8Y6Ezj?= =?us-ascii?Q?+vWgquToz4bxQ68w+4wH4BvS8PzvZU1hO23tYCZVuUiAJGfra2BOq2mVA/rt?= =?us-ascii?Q?vBXUe4R7sT5gQydC7Aj7pMxVogPzkvMuclEpwEIFGYa3bRC6NabexuWHeJut?= =?us-ascii?Q?KWPKQ0McTf2D77j/IEJSf2AmQGQlFCdC5HkBqZ1I/TLSfuFqah8eC4cOU3hW?= =?us-ascii?Q?sK2L7KAeloxuS80J0c4d1ffB22YRfAHlkR58m2Zl32Ak9yDmycC8KJZM2KBn?= =?us-ascii?Q?BpyVw3Pg/iukDLOwg/5Kp9F0lmPwdWh9hHG1hJnhXzX4DYIVp+mjSn9fcL2q?= =?us-ascii?Q?byAU6zbkh3XnM65c48zW87etcFiCK0NUiNAG/qvkjHIIzuet60Qs9vtGjipv?= =?us-ascii?Q?VXP05SQ3g4GnmDkjBCXgjzB3H4QNKMJtDqoJsNoiaIq6DjWvcWpTI/9aiILI?= =?us-ascii?Q?/pPbgPGclbt6KzfHOVH87g4Dhe3A/z//uT0Uqy1yvzkZLmp7sszDQcyRfsrl?= =?us-ascii?Q?4PRocj+iSK0ns/0an6gw0W+n31BgwH3DhRvhDFxx9TighJoFOwAqe5olb9Xt?= =?us-ascii?Q?YCEqmM8z/ymozwKV1x2DrkaPvup3qNnoeU0RqXYGOSHhCC//RZfQKPyjRpwJ?= =?us-ascii?Q?nMkZCWDXL4uLG4J/aufuC2cYVqTP6Q/ruhoGxD8VZcHCv36javrZnAWTkuBW?= =?us-ascii?Q?jbhLJPvXM86fd5z3QLmYdSFAGsjQ7OkOUWYgFKrXtObZXChgCP4Pezkg8dPo?= =?us-ascii?Q?WDYGDSVaJtKfWlgmepbpVi8CZ1QE/ZB8pm/Ewt4q0DGOFB2XMrOdhrZjROG6?= =?us-ascii?Q?jzW6+1W6a2x6MTFY0zkpX0ckzgEfh9lACMRxIHzaJx1BugJ7nLfzqY3kJIfl?= =?us-ascii?Q?FKv4A9/LJKj27fo9OlN+NP/hyk6Ig90lzG7Ws1TyAoj5n3/uSLX2f7Nph589?= =?us-ascii?Q?VDdRqxP3JiKuNuBGm70Txy6Kzr64NapggMDpFCt97MmE0WzHoMDyEDjBMmov?= =?us-ascii?Q?9g9mSDeFVFBsg/tvlhIPo+I+MmoQh8EKMOmcDzlVH4ZckSFtHfBu/J40+T4U?= =?us-ascii?Q?xj19f7KGyL1Js/w7gF/ckVFI8RLQ4f9NFaqXYX5NuNSr1s6tEU238hqxsb/O?= =?us-ascii?Q?CnhtekiTvKoY8AHb2OgWdumgapjtCsKb+XQRZvWOyWD6HSBQNsOYpQFezApP?= =?us-ascii?Q?IEvFIqkyBhrf9hcpawDrd1lR433lRLRBfvjMnVx1Wyj8WE+WSh0I/6JPf5AI?= =?us-ascii?Q?d02qN7P6lfMiM1fxGouvFZpvDBDfq9QB+H3TW4RdqBzHIo2djixJ0PUej8YP?= =?us-ascii?Q?n+Ug4d7IMK7uL3F4mXZNmNlvaBqr8wD4gZ7YWRcm2R83xSaz0muMifPYLUBS?= =?us-ascii?Q?JxYIGlvshZykgMXO8VJmZ2qrrXmQuXsgW5IjSfHvWiy8y3RL8EFM1XtqTgUz?= =?us-ascii?Q?82nqobCqx1J6pcskXzraU43liPGoUH4agN2/8kUphV1uUjxNTT4XvMe+YHjf?= =?us-ascii?Q?n8XfGDl3dku5AD0vGWeSxkEljVxQPXYKg+ANnxAvplAJReHPkeS364i0Hxb0?= =?us-ascii?Q?uPVBtR04F5VNyDVEbI6J048=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 65bad88f-6c1f-4ed5-19a4-08d9b86ce079 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2021 04:00:01.2386 (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: 27GknQVY3Y//3NZEbQsP3uJOdt+YjGbRxt363+0x6qbCqVmDmTpSxeJ5STJEp6yjKpZdOVPoZ/h7s6XhcSbNRA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR04MB3065 Content-Type: text/plain; charset="utf-8" This patch printed out the reset infos, reset_transient and reset_reason, of MP_RST in mptcp_parse_option() to show that MP_RST is received. Signed-off-by: Geliang Tang --- net/mptcp/options.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/net/mptcp/options.c b/net/mptcp/options.c index c5c0dd983ad6..7c101524b48c 100644 --- a/net/mptcp/options.c +++ b/net/mptcp/options.c @@ -336,6 +336,8 @@ static void mptcp_parse_option(const struct sk_buff *sk= b, flags =3D *ptr++; mp_opt->reset_transient =3D flags & MPTCP_RST_TRANSIENT; mp_opt->reset_reason =3D *ptr; + pr_debug("MP_RST: transient=3D%u reason=3D%u", + mp_opt->reset_transient, mp_opt->reset_reason); break; =20 case MPTCPOPT_MP_FAIL: --=20 2.31.1 From nobody Sat May 4 07:53:28 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:cbb9:0:0:0:0:0 with SMTP id v25csp3892132jap; Sun, 5 Dec 2021 20:00:16 -0800 (PST) X-Google-Smtp-Source: ABdhPJz7XNyEyq+emhLvzDo+e8j5kXpxRN7+lCEwKmg4DQje2+pLcBhLJWCXlHaPWCKenzYEmN6b X-Received: by 2002:a37:a150:: with SMTP id k77mr30785970qke.314.1638763216631; Sun, 05 Dec 2021 20:00: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 gy15si15031566qvb.42.2021.12.05.20.00.16 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 05 Dec 2021 20:00:16 -0800 (PST) Received-SPF: pass (google.com: domain of mptcp+bounces-2644-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=ZHJfvRud; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-2644-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.197.195 as permitted sender) smtp.mailfrom="mptcp+bounces-2644-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 4CE2F1C0709 for ; Mon, 6 Dec 2021 04:00:16 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id BE60B2C80; Mon, 6 Dec 2021 04:00:14 +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 0584868 for ; Mon, 6 Dec 2021 04:00:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1638763211; 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=C4sFlif88EkaEDzUsQp1eixsHwCXdkfjJR8TX9j/jkM=; b=ZHJfvRudsBhJiJU7h0z5km01YwOrNvoedsBdZ/bPXIZwIvW5F2tCSbhH8JvA2rn45VB4Bv KEEZk9M0yULN75BJrMtRhq3BZ0/F1swBew5pyu0Jw5jMJSMS4tIvB4ykw6SWgxoA06aosR 4iPh8obbuNO6K/ol7Icb53NZDt1V26o= Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01lp2054.outbound.protection.outlook.com [104.47.1.54]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-17-07VNUOUoMRyLBGSXefwRxw-1; Mon, 06 Dec 2021 05:00:10 +0100 X-MC-Unique: 07VNUOUoMRyLBGSXefwRxw-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=liSUL/x4p3eqMQY/92tZhZXpLh23ddrYPK/2e4RrfPMUqTvNQvPGX60CnjS3kAfzJcgRcAIG+O1cUqBUgqthi9rHHuekOWg8YUbC3XCQ7VFFp3FoMh7zWDDfhmJkkQNm/xLY2bVDjh2e6bNfIkyUwaDvrG4391Y6OoRl3Zh4p8NQGvFA2rNjfnK0BXBkjPUD32VQXovFMTi6EXrqSwz4lg/IMyPln0zzVHMqqqPpuchMzzXPKxOZvYYJ/iLnnVKLfuhTTMg+kGV+0bezVQKJBkV/qUR207wO8bcvckYeF72glfM1T6x7xtuVnw44LhoxOWBWuKpDkqAogKHtQIahjw== 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=U7n/PxHexMEfyRItcIU9DlXSU2XjdefgPKU4LaaEhJA=; b=iZddstCtlcsFlg0IgP4rJgAj0wDiL5o4yH/xfWgissKiG5b0OyxiJDa76RZUbuyLCrSsk9Q24p7MYlJ+bJrppnamF0Ln47ZUGraJsH7n91ohri+C+ei4lrssIbBzvCcBM4qelj3zm2dzQjAFw2nn06dE+Yj/M3/A9L5rDrQJEZYJtNN7VXaunmFzSX/wVJm7vAGkCKirXJ2D3hrqSEUvcWrP8CggduC4EEF+9AIrSNgZgau/3TlkBsva4nqLrFDpPIrYKmzeQHKnD040+v+5yitZd67iIJTaJIokDTjL8qHqZ0/7o9WNhp2DkQGqKNX/Qb7Mqoz6LPAvgsDSYdL//w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none 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 HE1PR04MB3065.eurprd04.prod.outlook.com (2603:10a6:7:1d::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.21; Mon, 6 Dec 2021 04:00:09 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::59a0:4185:3e03:7366]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::59a0:4185:3e03:7366%7]) with mapi id 15.20.4755.021; Mon, 6 Dec 2021 04:00:09 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang , Davide Caratti , Matthieu Baerts Subject: [PATCH mptcp-next v4] selftests: mptcp: add mp_fail testcases Date: Mon, 6 Dec 2021 11:59:36 +0800 Message-ID: X-Mailer: git-send-email 2.31.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2PR03CA0066.apcprd03.prod.outlook.com (2603:1096:202:17::36) 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 Received: from localhost (60.251.47.115) by HK2PR03CA0066.apcprd03.prod.outlook.com (2603:1096:202:17::36) with Microsoft SMTP Server (version=TLS1_2, cipher=) via Frontend Transport; Mon, 6 Dec 2021 04:00:08 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: fe10535e-e70f-4e28-99bf-08d9b86ce525 X-MS-TrafficTypeDiagnostic: HE1PR04MB3065: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2582; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 7gF1soSwVzUvzK6uDAm1JklWSk8YNJDL9+ZyKMJ4y2ufjsYQc7u2A7KMGLMtfsk5TZObb7ZxMwslemYHbh72KN+HpdCAucfvdfUMIfJiWISQUbpzwp8hPMJ+NGq4gMlxNSJXIiKg/rn19+phrD8aDj3EX/YR9LJcWL40J0Hl3IcuBSAYwSyBrCKEJPR0SxGRNf0cYwJwlMFqAcX83JXRo5uD+00YcEY6D65SQVNts2Ssjx8bxQ3Zj5GvpLvZfyhuHb99sPqvjUSNgGSG8RTfDM0eP1eVVG1lCpAWCCP8kV6CHiJ7ONCwgRPOpN2N6aE0nYuQki74D+sRNe+jfMl2NkSAIeHL1A5Qf0ujs5aq2gDyIDWGLyKaEncGU6XXplJdvJDZmVT48fja3nsGmisVVcG8RBZ5WLV9JFHA81yxVrZzC6ki5/FQJSJ3JZ1KfVpvMabCY60soA6qIwaMiGWXcq9pOEVDT+TRSmCKhBX18jfM2uRte74CzvPqP8Nve6sAGUwaVt5SkxQuzGhld4p7RijzAOFG2nK27hFEZhqAacxVVjcqJJqwUe2mo0OGZTbhhCZiB1LkJ6TvQKz6yYhmTI8lZIa6Zg0cpBxZANwESGo0JXdE6iTEZEK7LRSARjkQnywAtVT09uIGq41cIafGJA== 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:(366004)(316002)(4326008)(2906002)(83380400001)(66574015)(6486002)(6496006)(8936002)(54906003)(38100700002)(86362001)(36756003)(956004)(2616005)(6666004)(508600001)(5660300002)(66556008)(26005)(6916009)(55236004)(8676002)(66946007)(66476007)(44832011)(186003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?iT9ju8eYhTXI40ei3yhNfHPh/Km1gE9hO1juzBaZT/NT9aCUp84XB1wc7Uoi?= =?us-ascii?Q?9H4ZubAmdIpnxiR5HdKo7vC3xkcL4JUrBZxiZ10HDyw0yZxVRRUug0bG3JHy?= =?us-ascii?Q?Zki0kTFkK7rP8oz/kx1vwZSWj2W2k0YN6Ga/7dq6x7IC4HFzytWVMi1IFrKJ?= =?us-ascii?Q?3REYEJuu2to16CkRpbZ/0529xcXVmpe4PGbiAWToZc/gSJKFjg20V/lE+J8j?= =?us-ascii?Q?b1/0m8i0o+t3rYh7Od8JCVUmIylqRWB08TMqE0QT4twNdM5LCY6MksEDV5Za?= =?us-ascii?Q?uPSNvXMrEjg1V/TolE1TbQJh1JZj2xjKUblzWCQ9n+njFv6vgqcXUzHuON6+?= =?us-ascii?Q?LaCoCCLASMn1W+MSnryhjXONIMKCNZXcKa9uHB0peZdMvi3+vhPrQe3S4ko6?= =?us-ascii?Q?emE73c5Tp1N0lLbF6FU7OR93iZ2/5sSn8oEGqFXOTE89PPRn25YWlwVz95aJ?= =?us-ascii?Q?D4l3AFaMTATd8Gp3C3rpKtzWuPrRTraR0DwI8NiEGhqPxZ0FigJFsKhqKwtE?= =?us-ascii?Q?Y4V+Vzjt+BPWG5WNgtaODQd4vXzwtZwneTOuixjbQfBw7ln+IBH6+w09Ze+U?= =?us-ascii?Q?cvRlQgATfPearxnZc1QcV/DVVyTtGoQRU5GB5b3I+kXA19zUAx6nbzDwZNCs?= =?us-ascii?Q?pqdpkCSWuuyHEuF5ASJq/KunOLDhk0GMBaGDTModI8qtK9gU+QJT+DtcGhtb?= =?us-ascii?Q?R/4Pm8LxZ5YP7QLbC43KZibmlbDFANBdNn/1BfDboXFMMO4MzaP4ZvtihOAD?= =?us-ascii?Q?F+0VXea+sYb/i8GoGaBoOZqQndnv13h9Xezondi6FjM6HtR73f5911wfNayF?= =?us-ascii?Q?1xoFp4O2FgDPfKdf9Kx+PDR897kJsM3yIa7x/h7akBDu0MsOsFJZWkwpBBMe?= =?us-ascii?Q?+qvm8Iv9Sa8aV84ZlJtJtZZdJ8IwwCeFjxGy9QgXVDOMpk2udvZkh/KxbyVb?= =?us-ascii?Q?EJ4G7tYyHyQQaAaOmrchOx3sLOvk4tMRsd83VGG/bIc8kx/v0oA3q0zGydww?= =?us-ascii?Q?eP8G5TJIq26pSUVdYnpM66aJjZscj3jna89AswkkoMd5oo/DgeHWDV7SXmUE?= =?us-ascii?Q?rOUzdTF4nfH28saQ1sBxJkX1kggFs1sLuZpaIQd5CctVdRYabKx/yni4RbP1?= =?us-ascii?Q?XtFDI7AZdwoyaIDQwrxzZVgvDSQCVBwED6VAXKfGY5mBryIsYnD0r+PkCM7d?= =?us-ascii?Q?fZ5mKsxWabNIvCeSfseqIxX5DcelHokMpLvKaH/U6IbITEm5wLWkN4NCAOZl?= =?us-ascii?Q?TkmYE01iQU78gYaSQfkPLgbgkl70EvO/2wCYCHzsSnJ1/WsOdoO2D6Uj3Xbc?= =?us-ascii?Q?MkMY3cfWKmAZXV5SXkcSOY93MffkDXUAbymB9mrpliP6gL5TFzUWq4641RD2?= =?us-ascii?Q?3iPOCosGhxpHNEEGTzzW0HdHeUF2tsBK5/ymg002L/YrglsfetXKxmvbUh+y?= =?us-ascii?Q?56tBMvRM97IYaBevki+IeR1KrX8LdLqEFYCz3IoWbU9yml0leZl2/wFTfFZM?= =?us-ascii?Q?izQCXmNVgAyi+1b6hMZjgIEI9MRrtfOWrC/8hq0Rl4c3fa0fxBZZU/7kiXJI?= =?us-ascii?Q?4nxt5ro3mRpOoU5o13smoSMYe7t5Vwn/wvhDa54ZCb3f19v5lzUL4EQUFDHS?= =?us-ascii?Q?MNIVUxXZORqV0kX3OuaCdTs=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: fe10535e-e70f-4e28-99bf-08d9b86ce525 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2021 04:00:09.2689 (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: dA/ArbBx2QoESeoQNeIdyoMuP+71M6mOiUB9mW1WtfHi/5DZUg4iVJLHLZr5sgoqtRGrRFqNtgmifFT0sSREZg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR04MB3065 Content-Type: text/plain; charset="utf-8" Added the test cases for MP_FAIL, use 'tc' command to trigger the checksum failure. Suggested-by: Davide Caratti Co-developed-by: Matthieu Baerts Signed-off-by: Matthieu Baerts Signed-off-by: Geliang Tang --- v4: - enable checksum in reset_with_fail(). --- tools/testing/selftests/net/mptcp/config | 5 + .../testing/selftests/net/mptcp/mptcp_join.sh | 113 ++++++++++++++++-- 2 files changed, 110 insertions(+), 8 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/config b/tools/testing/selft= ests/net/mptcp/config index 419e71560fd1..37124a6891b7 100644 --- a/tools/testing/selftests/net/mptcp/config +++ b/tools/testing/selftests/net/mptcp/config @@ -19,3 +19,8 @@ CONFIG_NFT_SOCKET=3Dm CONFIG_IP_ADVANCED_ROUTER=3Dy CONFIG_IP_MULTIPLE_TABLES=3Dy CONFIG_IPV6_MULTIPLE_TABLES=3Dy +CONFIG_NET_ACT_CSUM=3Dm +CONFIG_NET_ACT_PEDIT=3Dm +CONFIG_NET_CLS_ACT=3Dy +CONFIG_NET_CLS_FLOWER=3Dm +CONFIG_NET_SCH_INGRESS=3Dm diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 2684ef9c0d42..7a9dec7fa648 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -160,6 +160,48 @@ reset_with_allow_join_id0() ip netns exec $ns2 sysctl -q net.mptcp.allow_join_initial_addr_port=3D$ns= 2_enable } =20 +# Modify TCP payload without corrupting the TCP packet +# +# This rule inverts a 32-bit word at byte offset 148 for all TCP ACK +# packets carrying enough data. +# Once it is done, the TCP Checksum field is updated so the packet +# is still considered as valid at the TCP level. +# But because the MPTCP checksum, covering the TCP options and data, +# has not been updated, we will detect the modification and emit an +# MP_FAIL: what we want to validate here. +# +# Please note that this rule will produce this pr_info() message for +# each TCP ACK packets not carrying enough data: +# +# tc action pedit offset 162 out of bounds +# +# But this should be limited to a very few numbers of packets as we +# restrict this rule to outgoing TCP traffic with only the ACK flag +# + except the 3rd ACK, only packets carrying data should be seen in +# this direction. +reset_with_fail() +{ + reset + + ip netns exec $ns1 sysctl -q net.mptcp.checksum_enabled=3D1 + ip netns exec $ns2 sysctl -q net.mptcp.checksum_enabled=3D1 + + checksum=3D1 + + make_file "$cin" "client" 20480 + make_file "$sin" "server" 20480 + + i=3D"$1" + + tc -n $ns2 qdisc add dev ns2eth$i clsact + tc -n $ns2 filter add dev ns2eth$i egress \ + protocol ip prio 1000 \ + flower ip_proto tcp tcp_flags 0x10/0xff \ + action pedit munge offset 148 u32 invert \ + pipe csum tcp \ + index 100 +} + ip -Version > /dev/null 2>&1 if [ $? -ne 0 ];then echo "SKIP: Could not run test without ip tool" @@ -178,6 +220,12 @@ if [ $? -ne 0 ];then exit $ksft_skip fi =20 +jq -V > /dev/null 2>&1 +if [ $? -ne 0 ];then + echo "SKIP: Could not run all tests without jq tool" + exit $ksft_skip +fi + print_file_err() { ls -l "$1" 1>&2 @@ -232,6 +280,24 @@ link_failure() done } =20 +mp_fail_del_dev() +{ + i=3D"$1" + + for n in `seq 1 100`; do + local action=3D$(tc -n $ns2 -j -s action show action pedit index 100) + local packets=3D$(echo $action | jq '.[1].actions[0].stats.packets') + local overlimits=3D$(echo $action | jq '.[1].actions[0].stats.overlimits= ') + + let pkt=3D$packets-$overlimits + if [ $pkt -gt 0 ]; then + sleep .1 + tc -n $ns2 qdisc del dev ns2eth$i clsact + break + fi + done +} + # $1: IP address is_v6() { @@ -371,6 +437,9 @@ do_transfer() if [[ "${addr_nr_ns2}" =3D "fullmesh_"* ]]; then flags=3D"${flags},fullmesh" addr_nr_ns2=3D${addr_nr_ns2:9} + elif [[ "${addr_nr_ns2}" =3D "fail_"* ]]; then + mp_fail_del_dev ${addr_nr_ns2:5} + addr_nr_ns2=3D0 fi =20 if [ $addr_nr_ns2 -gt 0 ]; then @@ -542,6 +611,8 @@ run_tests() chk_csum_nr() { local msg=3D${1:-""} + local csum_ns1=3D${2:-0} + local csum_ns2=3D${3:-0} local count local dump_stats =20 @@ -553,8 +624,8 @@ chk_csum_nr() printf " %-36s %s" "$msg" "sum" count=3D`ip netns exec $ns1 nstat -as | grep MPTcpExtDataCsumErr | awk '{= print $2}'` [ -z "$count" ] && count=3D0 - if [ "$count" !=3D 0 ]; then - echo "[fail] got $count data checksum error[s] expected 0" + if [ "$count" !=3D $csum_ns1 ]; then + echo "[fail] got $count data checksum error[s] expected $csum_ns1" ret=3D1 dump_stats=3D1 else @@ -563,8 +634,8 @@ chk_csum_nr() echo -n " - csum " count=3D`ip netns exec $ns2 nstat -as | grep MPTcpExtDataCsumErr | awk '{= print $2}'` [ -z "$count" ] && count=3D0 - if [ "$count" !=3D 0 ]; then - echo "[fail] got $count data checksum error[s] expected 0" + if [ "$count" !=3D $csum_ns2 ]; then + echo "[fail] got $count data checksum error[s] expected $csum_ns2" ret=3D1 dump_stats=3D1 else @@ -658,6 +729,8 @@ chk_join_nr() local syn_nr=3D$2 local syn_ack_nr=3D$3 local ack_nr=3D$4 + local fail_nr=3D${5:-0} + local infi_nr=3D${6:-0} local count local dump_stats =20 @@ -700,9 +773,9 @@ chk_join_nr() ip netns exec $ns2 nstat -as | grep MPTcp fi if [ $checksum -eq 1 ]; then - chk_csum_nr - chk_fail_nr 0 0 - chk_infi_nr 0 0 + chk_csum_nr "" $fail_nr + chk_fail_nr $fail_nr $fail_nr + chk_infi_nr $infi_nr $infi_nr fi } =20 @@ -1837,6 +1910,25 @@ fullmesh_tests() chk_add_nr 1 1 } =20 +fail_tests() +{ + # multiple subflows + reset_with_fail 2 + ip netns exec $ns1 ./pm_nl_ctl limits 0 2 + ip netns exec $ns2 ./pm_nl_ctl limits 0 2 + ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 dev ns2eth3 flags subflow + ip netns exec $ns2 ./pm_nl_ctl add 10.0.2.2 dev ns2eth2 flags subflow + run_tests $ns1 $ns2 10.0.1.1 0 0 "fail_2" + chk_join_nr "MP_FAIL test, multiple subflows" 2 2 2 1 + + # single subflow + reset_with_fail 1 + ip netns exec $ns1 ./pm_nl_ctl limits 0 2 + ip netns exec $ns2 ./pm_nl_ctl limits 0 2 + run_tests $ns1 $ns2 10.0.1.1 0 0 "fail_1" + chk_join_nr "MP_FAIL test, single subflow" 0 0 0 1 1 +} + all_tests() { subflows_tests @@ -1853,6 +1945,7 @@ all_tests() checksum_tests deny_join_id0_tests fullmesh_tests + fail_tests } =20 usage() @@ -1872,6 +1965,7 @@ usage() echo " -S checksum_tests" echo " -d deny_join_id0_tests" echo " -m fullmesh_tests" + echo " -F fail_tests" echo " -c capture pcap files" echo " -C enable data checksum" echo " -h help" @@ -1907,7 +2001,7 @@ if [ $do_all_tests -eq 1 ]; then exit $ret fi =20 -while getopts 'fsltra64bpkdmchCS' opt; do +while getopts 'fsltra64bpkdmchCSF' opt; do case $opt in f) subflows_tests @@ -1951,6 +2045,9 @@ while getopts 'fsltra64bpkdmchCS' opt; do m) fullmesh_tests ;; + F) + fail_tests + ;; c) ;; C) --=20 2.31.1