From nobody Fri Apr 26 00:24:25 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:956b:0:0:0:0:0 with SMTP id y98csp1148165jah; Thu, 28 Oct 2021 21:40:42 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx3VMRM99Ra/KbOrPwk2hu3086ncRmQZxwv2w6xq8Mw5fBQX8nwVz3Eba/zSmHp9NTA8ERi X-Received: by 2002:a9d:2ac1:: with SMTP id e59mr6805998otb.80.1635482442751; Thu, 28 Oct 2021 21:40:42 -0700 (PDT) Return-Path: Received: from ewr.edge.kernel.org (ewr.edge.kernel.org. [147.75.197.195]) by mx.google.com with ESMTPS id w41si8168589ott.231.2021.10.28.21.40.42 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 28 Oct 2021 21:40:42 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-2317-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="Pv6/5NGK"; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-2317-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.197.195 as permitted sender) smtp.mailfrom="mptcp+bounces-2317-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 3A5971C0B9E for ; Fri, 29 Oct 2021 04:40:42 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id BE03F2C83; Fri, 29 Oct 2021 04:40:40 +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 5C82072 for ; Fri, 29 Oct 2021 04:40:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1635482437; 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=1jSmn/8USUNDcGvI6TkCPIHzurOiE+CBqDEUsPJtRAE=; b=Pv6/5NGK6tAYo7pkcQ21mpK45VtEzKSuSGxvnSLWBiRJgWvWmngHRVe2LFNSNte7Ikew0z aBb9U1CGeISfGLXkv0JaghzANW9RwiZtt2ptrE+YJ/zN0yJScPZeQDjSCGkN4Nqdrwyu/K 5YjVDAChFjf7mRwJveiXgyZDiKc6Tw0= Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05lp2108.outbound.protection.outlook.com [104.47.18.108]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-12-LzAImH7JO3KcGaIT-5qr8Q-1; Fri, 29 Oct 2021 06:40:36 +0200 X-MC-Unique: LzAImH7JO3KcGaIT-5qr8Q-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Q5iY5CSgv3HgpCxas8iz2ckERJMTi21CMXr/XDsq8dmhmqcuWofbg7lGCgP1BPn8arbqOztrOxgODbwOu4Stknoxh4hRVqjoDqcGgLYYKC7NdZTGoB/GyVZmtuGEf5YEaPoHo4YH/bf3oDk9+Q1VzJ8s7dw4gMN8hCyt1BQoUQrQARBk8P4bvxvs/SoixusDbhEZmIq5mV1ajgaoMQqKVp3hpk/eyafoFPLGlcZnO96XVCvPpP/8k7EBiQA2SCn7hzMg7igF+1L8jmFa0gq4MlPbO449SQ2AhJqFkLbJXq0n6hKc16Zi6F/qirR6dv2T497odIqLe/13jOKwmhr3gw== 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=eHR6A64Tty9bQ6G2nrdp94YPG8l4+UyiCdBJYAoWnf4=; b=E+Ie88JRL94IYS7QTvOhVAsq/BRZEOMbmucmeFHUiz/ycvJw7P8dMaX6//2x59PA5xgdPKRpl4VQVp7O8u9AMD3C5xC3Izc+Jfn8wdLRFr4aIFjUfk6Bhg4YE1bqyJZdveJQQchCQMc6kElQSCy798Zmc0Fu/4G0UjwCoq1cY7JBV1p6VLn7BAJfAfxA3WnQyndVjt0sp2mmTKAnd3OTz9ZYvbyejfGbSqNBFBLjfaXx+grvKtOXYbad/9MUaUSe35mmsLBdYoKLdO2KD2ewc4T67fv/8CjOozpxSWVPye1/G3JEm3gUWTfoVorRXb+/f6CF1BT2b2DY7FfsivUInA== 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 HE1PR0401MB2652.eurprd04.prod.outlook.com (2603:10a6:3:83::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4628.20; Fri, 29 Oct 2021 04:40:36 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::15cd:f2b4:6acf:99af]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::15cd:f2b4:6acf:99af%6]) with mapi id 15.20.4649.015; Fri, 29 Oct 2021 04:40:36 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next v8 1/8] mptcp: don't send RST for single subflow Date: Fri, 29 Oct 2021 12:40:11 +0800 Message-ID: <7a6e038ebf37131784841361cb1f5e089dcae32c.1635481641.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2PR02CA0183.apcprd02.prod.outlook.com (2603:1096:201:21::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 Received: from localhost (60.251.47.115) by HK2PR02CA0183.apcprd02.prod.outlook.com (2603:1096:201:21::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4649.14 via Frontend Transport; Fri, 29 Oct 2021 04:40:35 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: cc90cda1-9ed4-4de2-edd3-08d99a963fed X-MS-TrafficTypeDiagnostic: HE1PR0401MB2652: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:363; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: UpQku3n1icoAVxmnIWdtR9QGqetRK/3IREcBQItnPWJW9+goZsz4C8ce9PmappxXNFJ1HNU1RYSHwICKlUA0n53v8oF2nICuY7Ioip57KqloeOntjRQJ3oEo+dipUxLWtHWJwgm45jzNh+1xLYMC1Mq+H1hB0eWTvSUK2cJDeaV90B8F43eECzORyXsp0RHyMDbN/z7kCsAV7h35V37XNuP9UXy55EP7sniugE5e5YIgrQIXJl68FWGu77VhhdFzQLGLpHwv8NBQYqNRnxQBYJ7Lcf5W0dOXG5SBLfiP5yCerqWF3JiJmGHHOq3+4BkI1tld2EaLy/d6Bw3/REVn00vXgCuf85WJf8q9l/xPFZ7njp90j6b449XXKn1p9rfjirygphlAB24/rGjFQdSUvhlrBWd7IG6qK1ooeGSKHYl4gW9T5SO2XSLbCNknA3UUSwXsJaUSaacfNO9vX6uEza8qsXYcFUY0G42mT+3QzjRG3k+z1J0LDub2583reEPZSVQPJJ3ATnPeQ4vv8KxOnyKn7wAQDxIqBfKuKVuMZpa8i+jpIoRymCHcnkSfXv6efOM6Y5CwRV+lqbT7zM3p1HLvaYJ6NVnglfeEUKzog7k1XlvByiebYqfZVVayMITdMwrhDEPUGdtqsjtVOqFV+w== 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)(508600001)(4326008)(66946007)(316002)(6496006)(83380400001)(55236004)(8676002)(66556008)(6916009)(6666004)(2906002)(44832011)(66476007)(86362001)(956004)(6486002)(8936002)(2616005)(107886003)(26005)(36756003)(5660300002)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?2r6tIrlVa4bB2zZPEKPAk5uXgUpXcRL0SQ7GxpcIDj/IDh4qRPTB/HJNdhr4?= =?us-ascii?Q?8tg2S1Uqzq6LQ0pnyDEGR+LSoMh5fclqqfwxGwTVNCVmmaK0iBNOgdO1z/hK?= =?us-ascii?Q?wENKkhLBSFWGhSgb/BHtWH5x0jB52F+rWE7KBiyfgAJN7EGnCMW94jj38GSu?= =?us-ascii?Q?mGxOozTfLwMpEaCRrboxCpRraqKIuMEoEIlMdukgiI9WuA+7IMfl8AY6vxKo?= =?us-ascii?Q?QZadPfQYXBy5R5KFsZR/KGSVt1+U6pWsKe+wD+AvHjkBCNKyOZB+eq+3XmIj?= =?us-ascii?Q?446eW+HVg/6MgpIZubQfKsmsgKm2rMpd1cXp9SWCG6+7jt6ZwrXITCBKvtui?= =?us-ascii?Q?ysvg77uNqHSeQEihUCtk0XjifvIY/3P7zoTJTGSS8yzpvcZ7Y5kp73y8WK63?= =?us-ascii?Q?joSEDTsw+LV0YHAYVr4D8/B5QTWzrqeE2/rqGAPLlAGZAy6KI/JewF5NtSVj?= =?us-ascii?Q?2R8+DogiKAYGGfrQ/+YtAlzxm9EcJZ2ortcczS67dtFK6RQcdkwr3f/NqmrM?= =?us-ascii?Q?fBS88na4GXBGSU0CAimCWN8rT44E0rrMjnThEgyItwwA6EbUx1tdsztDQ+zh?= =?us-ascii?Q?JBJVVNXQ0CDWglqihiCwfPjiaGoaLq6o/AJlPYFP8tbEyHtbFUX/cwzEkqGv?= =?us-ascii?Q?KPri/mHsyNx0pxJYZ8ohMtUk/SIq9sfrvPZYP4Y87WFoh4CtO2eixNfKfvB1?= =?us-ascii?Q?8M3ErETiAQ3cnEfiudWcmbyX8kuOpIWFO/i85hTMiIKGt6CYLnugJZUsrVwx?= =?us-ascii?Q?0SwnK94nYQphREnDMd5SNRAq2bj7oYR8YQNW03FJHJKlg6SXDA//H4EjMY5W?= =?us-ascii?Q?6EWF1lNOeh2lu4RofgjkyRqWrZr02WHRsr8+O+DSmpudCzsIjKx0ibs48kri?= =?us-ascii?Q?7hSJti+RBeAt8IKg6NpIFn8NlE5vp2nZfOt8rqBWOeiAXGvhc2Hh08WQyUGX?= =?us-ascii?Q?f7oHY8Q9O16HGU1dHt1ZWq4NeAWVKYs7B44j1Tq0HiWF1JGa46P2R178O6x+?= =?us-ascii?Q?Zffm4Q5CL2Pixtmqf01wrmt2WsIIBaxsioyzGny9pYO434hQ3iIbslAlUhAi?= =?us-ascii?Q?AjI/Ckq9iQ8wYjEv8nnqy3BE1XC4wfVu/Hlvule1ki8wm8h45SvnsSN8yurU?= =?us-ascii?Q?GNcJ3R2CKyVGdXMif5AesW2DzWxYx2sH1Jpogs4n9OnZhvuUnXQiNhEA6xId?= =?us-ascii?Q?30l6zii91AAHPHSyx7r+1luCWUrPBpYWIN1piqOS1z+R8LaOZagam1Zki5mf?= =?us-ascii?Q?Ii0/yWTvavBfC7pFic5M/7xGCS2WNWlYuEkKcCHP3eRGDmW779R7CmaQCXbR?= =?us-ascii?Q?eynvaUU/W1dta3pkfXUSpFjiItoEjWqjcVVuisgCz4kX0ieotxJaeI+zGIQF?= =?us-ascii?Q?uQRkWoD1vOxHD4CzogP18B87i0KZcwdW+/5CR8xmMNHC84awXcUYDO+OqWmv?= =?us-ascii?Q?3Ug03avAz3RquTzf8EdznFUUiCU6Eryph7wtlfJh2XmKggeVcWg6rMJsGtNv?= =?us-ascii?Q?m2L1g7B3FHjXRjVtKBJdoHrswSH5anLn1YCgSZ4t1pmH0VyrPDglDHHRHJRd?= =?us-ascii?Q?Qmpp/cbDdhfu8wkC1uqa9EuojTdgnUlqrPXoZKBHoHz2Hg4czSPWDngx2Oyw?= =?us-ascii?Q?FL1ieGu7bwa5sHOUfgmJzKs=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: cc90cda1-9ed4-4de2-edd3-08d99a963fed X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Oct 2021 04:40:35.9018 (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: CPgvesIi2l5CkiWE2H/RT+wDk5i7b/UE/rvVFM68bAUP3VuA63wnjtbgjnFl0JddSutqiZ2pIlJWNEubt6hX1g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0401MB2652 Content-Type: text/plain; charset="utf-8" When a bad checksum is detected and a single subflow is in use, don't send RST + MP_FAIL, send data_ack + MP_FAIL instead. Signed-off-by: Geliang Tang --- net/mptcp/subflow.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/net/mptcp/subflow.c b/net/mptcp/subflow.c index 6172f380dfb7..92b45a7c997e 100644 --- a/net/mptcp/subflow.c +++ b/net/mptcp/subflow.c @@ -1167,14 +1167,14 @@ static bool subflow_check_data_avail(struct sock *s= sk) /* RFC 8684 section 3.7. */ if (subflow->send_mp_fail) { if (mptcp_has_another_subflow(ssk)) { + 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); while ((skb =3D skb_peek(&ssk->sk_receive_queue))) sk_eat_skb(ssk, skb); } - 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); WRITE_ONCE(subflow->data_avail, 0); return true; } --=20 2.26.2 From nobody Fri Apr 26 00:24:25 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:956b:0:0:0:0:0 with SMTP id y98csp1148277jah; Thu, 28 Oct 2021 21:40:51 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwcnuVgD4FWDAJwPKF8SekSH/feq2guq6doBae6pQRpy1da2tb+vOXeBMoGrU43f31rSjTY X-Received: by 2002:a05:6808:e90:: with SMTP id k16mr6196581oil.166.1635482451653; Thu, 28 Oct 2021 21:40:51 -0700 (PDT) Return-Path: Received: from ewr.edge.kernel.org (ewr.edge.kernel.org. [147.75.197.195]) by mx.google.com with ESMTPS id t40si6546930oiw.246.2021.10.28.21.40.51 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 28 Oct 2021 21:40:51 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-2318-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=RQ0tdCNd; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-2318-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.197.195 as permitted sender) smtp.mailfrom="mptcp+bounces-2318-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 EF4951C0A9D for ; Fri, 29 Oct 2021 04:40:50 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 4D0342C83; Fri, 29 Oct 2021 04:40:49 +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 8980D72 for ; Fri, 29 Oct 2021 04:40:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1635482446; 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=hbgZAupiI6gXxTUN23C8pcgsXRBbdwCWsJN0PGRItQ8=; b=RQ0tdCNdm46Kfnm8TzVhmCFsbaMuqM0iZiqHUTaASyHu0Tg67ybkZ7kpWdgGa8iQEAGjij CS1zEXu4JNM/xIwHFhCXdDZMGc7/yr2kHIcoivREQJnyE7QJzTFqEn7WxPQDDtPTWqdbhZ LKBTlOiDiway39k+4sStcmS8bhUGxWA= Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05lp2107.outbound.protection.outlook.com [104.47.18.107]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-20-AsgVbEa4N1acJDfTo5nCWQ-1; Fri, 29 Oct 2021 06:40:44 +0200 X-MC-Unique: AsgVbEa4N1acJDfTo5nCWQ-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HvEzfGYEYU8zHYrPnMUMNGF4OO0YlRSNuDFRkaNdbGCOb+Jx3sL6+XQy0gow1kMFoFCeHjs4Rbnng50fUbrUCkSKcEMgtLWN5JhbCouHSGeL9nWLq44tu2tXTl9A0YIguN5eLNtptest3YNlS4mr1g6ySmPh4Z8WA+bEEosOSDohfen33bg7vKfTDrMVMjnofbyXEPYA8t33EMPCpicgy6WbfPitFP86+BECqdRUsRTuc0dystmGRVzV2+TWXOWTQGvoGhr7dnWZBGJSo5eMlFNdpFImnoptq7GpoFEnrTBSZbqmSn821atrYu/ODlAGQIxj5Mv9A9uYkPqJRV2yMQ== 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=orkUsj0NHZDEWr0ZROtItOCfLtqq+HvXaV6s57mjCe0=; b=QWh1VHg7Bu0gnvOOLpInaiVLrDeIj1I9siGUKpcJFGdLu8/0fSkj1hKtzpXXNJUNh3JZIanoOBey7c3MedtfaECHciS/VZmZ1KUkxG9nABueQQ/r66VDgwAVi5TFGpc4zHuCRNUbMgMU93rJj+NXwBjrIkJPx007Yz910tDI0iFE/Wg8+I1YFJyUGBrcUbekGk+8f7mkl1KIfYea0BnlKrC+non8W7/uFE6+WdaVPjMSalhsScvuiiaLBPILoQo8QcBl0vNWyG6edPhU5r9ULE9naRyAeYePoVRaY7pF168YzB4m8B7oK1w/pdUK4HL+mrlHg0frlctpnjG5ZK3v9Q== 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 HE1PR0401MB2652.eurprd04.prod.outlook.com (2603:10a6:3:83::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4628.20; Fri, 29 Oct 2021 04:40:44 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::15cd:f2b4:6acf:99af]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::15cd:f2b4:6acf:99af%6]) with mapi id 15.20.4649.015; Fri, 29 Oct 2021 04:40:44 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang , Paolo Abeni Subject: [PATCH mptcp-next v8 2/8] mptcp: add the fallback check Date: Fri, 29 Oct 2021 12:40:12 +0800 Message-ID: <2d98fa076735e23e41c5220450ea5ed5813c3ed9.1635481641.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2PR02CA0198.apcprd02.prod.outlook.com (2603:1096:201:21::34) 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 HK2PR02CA0198.apcprd02.prod.outlook.com (2603:1096:201:21::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4649.15 via Frontend Transport; Fri, 29 Oct 2021 04:40:43 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ac2654f9-d819-4644-0021-08d99a9644b5 X-MS-TrafficTypeDiagnostic: HE1PR0401MB2652: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1107; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: E55xDpaA2ggBhPlpOL8ctet1/o/+BYbP4Z/D4X7w0KvQre9pHyUEMkEVpwlRMeewCMBRROER4VS4/g6Tm0LoOvtcYH/84TmV05YJ3y7oeb93GMa+JoWSe+PhTCAOzFDni9gY+4QMpc499vfyHsEl9Ay841hTsCXJgKeB8hcwglyGe2+/19iZNe3Y9GJySO4xN6vbxLusH2q035QG0t27jOQtPtKF0dMFhp4VBWzEM000qUBaUzBsKdGYKxLiFSAgrEWkEzslLLPT+k8ApFQQPwsf38O/Mss8DkWiBAJGitGJ+cWjYWO+vwWhrKLYNuP8B51qAY9IvAVrkVZGrDbNK1LaGFPeCV1eVPQb2F4yWoj3/u9t7wyMEO8twrQMr7BReD/BpK7IabH8RtV+4EcHCIl0U9WoQMPgQsuyrPBa7kYh2HQ4WcmGfESzTS9Prb3T4Be56J2GxVuAQBdrm23Cv9itCLK+G+HEFWrE3E2AhQNii85ujFOcLBZAt6/kbDKkP665Ddxwxr4XJZDyblXA8irwbkKaObxtCz3AyMxTQy0QKNTDO76tSnjOZKpkDGrT8fmv31HxewDTpPpVdANXEZW3U+uw3U8wEX87PIZD3JxRsl6rfjTdQfvuTOefYI48B48EDlb4XkiRJHhrVfO8Hg== 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)(54906003)(508600001)(4326008)(66946007)(316002)(6496006)(83380400001)(55236004)(8676002)(66556008)(6916009)(6666004)(2906002)(44832011)(66476007)(86362001)(956004)(6486002)(8936002)(2616005)(26005)(36756003)(5660300002)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?nKbNYGj2GWyrXKnvjl/NST3/ptU05Q5qIJE/u65MAi/LpZe0het3E8TZ6aY9?= =?us-ascii?Q?aXcLqaBbONdrMgOQzv3QoPqOpHciEawmqeddQ32EphetNfmhxsadqU0kxfqG?= =?us-ascii?Q?WOj0gdZrAMS5IdR77A7npwmx90kjzulejzcyL1Bhix6bBHT4NymwS4WIgGLn?= =?us-ascii?Q?whj3iZf8cHrwPL6Or3IxJxMOxJN2uGCupgW61n5IwNJ9vQXAHHL3+oEoYwiP?= =?us-ascii?Q?avq47hgg9+Yvap5XAbAp6bWbhrDbVuJwAhdrUKA9S0YewxRywkkud/3HUwbP?= =?us-ascii?Q?71xmQuykSzqjnXHwlO1hvoI9kZlLoreO0ebtk5PFwOtzNrgF7IwLP0xcCikv?= =?us-ascii?Q?v3P9t356PU2mCWEU01QrfDuWQgf/mvkcWtZ2xT6Je2qEku4ekvdabsGYNi/6?= =?us-ascii?Q?c7gfFf2JpwdX23xxuBgiIrBQb21MCpX0EOl5ncM4DoxKM9y76q/59pO836do?= =?us-ascii?Q?FToWBtWFaO4aXJZIfLe6xtgEhi5oX8u7K3cyicy7bqAkliThwJyI9a4qGev+?= =?us-ascii?Q?PDLSEWwtuBzmR3pF1y1VESSshjf3UDTpNGscpV8VsJ1iM55m0UZ0TMoN3C5u?= =?us-ascii?Q?WPIoR6Rw9Q76CUhum+GXpSiu5VT4mX6WFYqzRPaPpIcfI0xmGk9nsicM7JzZ?= =?us-ascii?Q?6VVq8pJG1jWch3tvlyobaf+NqhuFoQxUUKW2/N0KxUWjF/kQkWXXiSobj9iL?= =?us-ascii?Q?knkSkzCjjsPOcsqVVl1twFTy/+W3J6h0YutSOJWxZtCQfygXQgNDnG0maYpI?= =?us-ascii?Q?ZdfT4S4c3y5w5d6pMhaPdiMt7TG1PqLpbFHsuZQkAk9x7WzMsSZPpH/kXgbl?= =?us-ascii?Q?2d6bFIejkWaU0HoMmM6KiHaG41TTZ4fsHwLVtUgTRkhP4a1atXtYf8UO31iT?= =?us-ascii?Q?F+6kEYEGPkj6m+349WtyziIQwAye+mhx70J6FK16fO1v56yWJ5HEmBQi3FW5?= =?us-ascii?Q?3dRCUYfIY19teXzLorWQnYjvEk37V8NCu8/Su7+eJpdEe4bMzpIn3SrVLcYA?= =?us-ascii?Q?3jq1YUWaS8AbHYXLe3SsWU7gl3x2rvfPEqHIhNjTk0qrB/Yfz0N72r7JOBby?= =?us-ascii?Q?UYYLr1FjYk0H6rqiZcZNGKHf40J4IhJQe0ev48PqMuXqmEdVgr5XzQZKNfci?= =?us-ascii?Q?xydkxI1TYj6bbzg7QoawPiBWN0KeQk+qj6K5t8aoVqfXTgit5nmyYoEcCIcv?= =?us-ascii?Q?S0eCSatfqcU+4jbxEOg+DFi//FCE8alFHGR2uyrFKTUy672BfXt1wdUgSQD+?= =?us-ascii?Q?IHDAIhJsyueoLMuzxH5EMAxSV/24i4QVQo8eomKOsIj1GTIhY+v/M7InVdp7?= =?us-ascii?Q?nlfWasQ5P75aQvL7LYBjmjlIBMJBLgEtrUie10sPwywdpM7Mggb7C+7Hsiw8?= =?us-ascii?Q?mIS5vsObije9lm2Y+uTTy6tiQNAoeG4sqGXW9lejzNtPArnBsLMxSFL+Su6M?= =?us-ascii?Q?t2u5osjTpUgyWsBe/3znfnPBTTe+jbpVlwLLsiBfWHuPNfrrwfxzG/vWIft5?= =?us-ascii?Q?5fSLVwfPXS6YS5LIgn+TtYN5xKtp4Lv1W86HN91EzX/nWditOQUO0nz2DWRY?= =?us-ascii?Q?bSCvHy3ZoHHvZQGVmJ2IBqZXzM33M6wF3bQZpY9J396wrI46mH7gsRcIV2pS?= =?us-ascii?Q?lf9vqWYq07RDZoa1AohbIW0=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: ac2654f9-d819-4644-0021-08d99a9644b5 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Oct 2021 04:40:44.1234 (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: u7lHT4vpL5ejMVrQYhQ02y8/5FTo/7WxlddjjK0NheF+vwxRYuvbWiPXgntvvyoh7ndlHAifkRrYdO4+osgodA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0401MB2652 Content-Type: text/plain; charset="utf-8" This patch added the fallback check in subflow_check_data_avail(). Only do the fallback when the msk isn't fallen back yet. Suggested-by: Paolo Abeni Signed-off-by: Geliang Tang --- net/mptcp/subflow.c | 45 ++++++++++++++++++++++++--------------------- 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/net/mptcp/subflow.c b/net/mptcp/subflow.c index 92b45a7c997e..87a9ffebcc42 100644 --- a/net/mptcp/subflow.c +++ b/net/mptcp/subflow.c @@ -1164,35 +1164,38 @@ static bool subflow_check_data_avail(struct sock *s= sk) return false; =20 fallback: - /* RFC 8684 section 3.7. */ - if (subflow->send_mp_fail) { - if (mptcp_has_another_subflow(ssk)) { + if (!__mptcp_check_fallback(msk)) { + /* RFC 8684 section 3.7. */ + if (subflow->send_mp_fail) { + if (mptcp_has_another_subflow(ssk)) { + 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); + while ((skb =3D skb_peek(&ssk->sk_receive_queue))) + sk_eat_skb(ssk, skb); + } + WRITE_ONCE(subflow->data_avail, 0); + return true; + } + + if (subflow->mp_join || subflow->fully_established) { + /* fatal protocol error, close the socket. + * subflow_error_report() will introduce the appropriate barriers + */ ssk->sk_err =3D EBADMSG; tcp_set_state(ssk, TCP_CLOSE); subflow->reset_transient =3D 0; - subflow->reset_reason =3D MPTCP_RST_EMIDDLEBOX; + subflow->reset_reason =3D MPTCP_RST_EMPTCP; tcp_send_active_reset(ssk, GFP_ATOMIC); - while ((skb =3D skb_peek(&ssk->sk_receive_queue))) - sk_eat_skb(ssk, skb); + WRITE_ONCE(subflow->data_avail, 0); + return false; } - WRITE_ONCE(subflow->data_avail, 0); - return true; - } =20 - if (subflow->mp_join || subflow->fully_established) { - /* fatal protocol error, close the socket. - * subflow_error_report() will introduce the appropriate barriers - */ - ssk->sk_err =3D EBADMSG; - tcp_set_state(ssk, TCP_CLOSE); - subflow->reset_transient =3D 0; - subflow->reset_reason =3D MPTCP_RST_EMPTCP; - tcp_send_active_reset(ssk, GFP_ATOMIC); - WRITE_ONCE(subflow->data_avail, 0); - return false; + __mptcp_do_fallback(msk); } =20 - __mptcp_do_fallback(msk); skb =3D skb_peek(&ssk->sk_receive_queue); subflow->map_valid =3D 1; subflow->map_seq =3D READ_ONCE(msk->ack_seq); --=20 2.26.2 From nobody Fri Apr 26 00:24:25 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:956b:0:0:0:0:0 with SMTP id y98csp1148405jah; Thu, 28 Oct 2021 21:41:01 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwwWQyIfqksk2qI1OYlhpDK0QT7IzhwJg6Xru4WL4huUjM6eXt52Q59y+2GQwloA0sVbPLQ X-Received: by 2002:a05:6808:1a14:: with SMTP id bk20mr357480oib.52.1635482461575; Thu, 28 Oct 2021 21:41:01 -0700 (PDT) Return-Path: Received: from ewr.edge.kernel.org (ewr.edge.kernel.org. [2604:1380:1:3600::1]) by mx.google.com with ESMTPS id j1si5082385oot.60.2021.10.28.21.41.01 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 28 Oct 2021 21:41:01 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-2319-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=XlSS+Udk; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-2319-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1:3600::1 as permitted sender) smtp.mailfrom="mptcp+bounces-2319-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 859391C0E10 for ; Fri, 29 Oct 2021 04:41:00 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 12C152C83; Fri, 29 Oct 2021 04:40: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.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 CC1C972 for ; Fri, 29 Oct 2021 04:40:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1635482456; 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=d73u7/AX7ZBC3GgoaIozdJhetsVRz5+0iU0BTngX6cc=; b=XlSS+UdkLs0Dyx47kHO7KM0xtQYJJVXco9ph6jLETLFgROno/YgyNSZeY+7OlUTiyXx/7G ib0kXygyLdYUtlFQm6L4uCPRx4nrEO3bUn43+ml9Q0qwLSlkdUS0hqY8vGfpbbJuRj+C0a LEscYHNj12xi6ElX3xy+BP4z1iE7DMQ= Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05lp2110.outbound.protection.outlook.com [104.47.18.110]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-26-wSZbC23hO7eYrLS5T4hxBg-1; Fri, 29 Oct 2021 06:40:55 +0200 X-MC-Unique: wSZbC23hO7eYrLS5T4hxBg-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Xb5etLCj8BtAVR3K0eDjqoZzo4KB9ZXfb1E/xa5Jn1UP5+IJNirQK0TGBgaGl9GEYgondjIKQArmpVcK2aoT0O0GAN62wUib/iRYWNTYHWq4bmHDFKpqDxMGLWTnNkDDl2tWsG8LwJfg49xeYdzFa/8AOoBV4E5Oo8A+tk/ycXZpnavmnuNKQwO7ANEy+FVjqSsvBG889m/humeB4VqHTcc1+Ejr66qagYaTPkyx+rY/i9KZvlUvF5l+4+Fz/hze9XJl8rl5J0CFpvdG/C1Hn++t2GDRESjhOfIdZZH1lFpRwWGfBqxmaj+OfhpMWEUfqjlZuMqg/rRlfpN7wPtmjg== 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=oInyVpOnh5prwgPSH655qLEDTXn0DWisTkjgSpzSg6k=; b=EwNMHdRtiWjOKb7Bv7bqAYxMYgmZgD4Tde/RNyjTdP62Ik7rHIE64pYXx6ktv+q59es5Fvt/1vi2KWOU8GV6tLwWJEo8QNlVVUkBoxi6QZTqnNXpTnKgNOSisg3irsDg/0qoM6yEjZxbFgliEboVaAY2p6BRTlb8TTX5qIGAsfiTfVdlVPy52CjZjDNhUIqyGqCTIGBfnEN/li3zV1Dh4hZDtjqgsC6d0HKpcW839Tw7wM45Icy/jH8VV+ZrjCeJSjdyvwEtETTKvjKZSmDQ8c1HAAp54XtQIOyQoDtuewVpMJPHCcv3b8Fa/YqyGpVWqwaZN2BrRKh2CwfQmWzsng== 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 HE1PR0401MB2652.eurprd04.prod.outlook.com (2603:10a6:3:83::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4628.20; Fri, 29 Oct 2021 04:40:54 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::15cd:f2b4:6acf:99af]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::15cd:f2b4:6acf:99af%6]) with mapi id 15.20.4649.015; Fri, 29 Oct 2021 04:40:54 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang , Paolo Abeni Subject: [PATCH mptcp-next v8 3/8] mptcp: track and update contiguous data status Date: Fri, 29 Oct 2021 12:40:13 +0800 Message-ID: <8ab5be63461a9f9554ab38bb479ae829d6be2ce7.1635481641.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2PR02CA0191.apcprd02.prod.outlook.com (2603:1096:201:21::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 Received: from localhost (60.251.47.115) by HK2PR02CA0191.apcprd02.prod.outlook.com (2603:1096:201:21::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4649.14 via Frontend Transport; Fri, 29 Oct 2021 04:40:53 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e28f9b50-a11f-4b8f-ec34-08d99a964ad8 X-MS-TrafficTypeDiagnostic: HE1PR0401MB2652: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7691; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Z0V5QUCZibLlmh8cIOWcSwXGbtHLsoClrwwbxlb1jnj0K9mes5VkkBGSkpB8+3D6LOzcMqLr4P84ABcCzfpKn/tLdLTggK9PSOllWsQVEcWzYYLRQyIpHhfg7W07WwiywhkstKvNikddMX+vFHUTtho+3vuqy27yw6xTcNNgHP0gRkxiepe0D+mRGY0oqB75/ILdJpeIjKifUgvHo7iiUFyxqP4Mpm9BsDzxtmmQnhFXwk0sN3P8SbZ3pItsmTQKtbEKAmCldbk0gOaivKV74S7xisLnL1RBHY/N9bwJzctnB503ggPD0N+GMkyszF5/19X/GMr993aSMYXF8E6VQRmVSiookvKO3CiMhcRq4hwsm6tu/jUQes2em7k0W041bBdabd9PnqJYbWazecOy2gSNW5eQ5L+Jjh/tzUV5RBAHJpXsk33k4BAm8TdV9itgRtbVLffyGlHhR13qKR4DFWOVg1cQtu5WRzWzUx2oA63ITNScsMr9qeYCrTGEOo+svNmXtHGXxHOGpDnZvqqbru2FPFJyCmRBIX7DWhoyJ9e2AG2iS2Fbpb+dYMY4l58x9QCx3S/jhUquS4Fy6HiZr8Um+BNaWmWPsYM9Oljquse11mp30teglcZwPXPnFAhg2U4JHqqI0ckYcZMm003C1A== 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)(54906003)(508600001)(4326008)(66946007)(316002)(6496006)(83380400001)(55236004)(8676002)(66556008)(6916009)(6666004)(2906002)(44832011)(66476007)(86362001)(956004)(6486002)(8936002)(2616005)(26005)(36756003)(5660300002)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?KIK5IwMtMJCNcmhYlUJ9sZazFdqHpQrHO3mEKJyAD3dDPZieys3dFz5bQfH2?= =?us-ascii?Q?JA9SKi5mCSZFtNfDMuoUdK9ox3GIVuUvmcsrFU0Ircs9K6jJ/LIinzJ6o0kl?= =?us-ascii?Q?fttNEECQfXGVke+HM8tOcYF69dFcHPThpfjgNa+3rkjG/1mPM8CGGI3S6Qnc?= =?us-ascii?Q?xzOk8IZC6OPvKmdeCFXxrTWDAEiasj7B+myx7iCyomOI5e/C3D9N0LF/4iSn?= =?us-ascii?Q?i6Rp38v57ZSzWOj9E4dVH4/+thGl7EHBVqqHZCW+f5VfGX3gMe3z1yNKlYXc?= =?us-ascii?Q?FZ6ReoFbOW4rETOojc3letEgZnirG3d8KXR7bp1vvn6mDY1WumHdxrKCDCyI?= =?us-ascii?Q?Kw/SLFqdo+rzzNPRk6CMSw+ZciPQzVbn6zkQUz+CrASSxSeQ+8G6uWkW9tLG?= =?us-ascii?Q?keGDY/hwJE7jpVnXNE+t92vOWqBwGMxHpgRPrnXquYNnmdLoV1V+cNCE7oii?= =?us-ascii?Q?sLiScODwQn+ECxfYDaJlMZTduKi1JhDXjVP7ld3pMZqC+AQMo5uuLp/rkL+m?= =?us-ascii?Q?aN60gpvShDbj9JP76HUx6+s1bMcGKt0wIAudK9CBtE3utllks8XeNpDX1tme?= =?us-ascii?Q?U2kt8HN3wyAF2YfC6Llc9MQtk4/jxU3xg0w56CTQjBQqdP89ZqEAiyWk3V1t?= =?us-ascii?Q?aQ40AOnINGEQJnQbz0SoVLSsmjFHsuh2ZhRmlLy50PfXR3cfREA8Y8/5ekD5?= =?us-ascii?Q?TbuQbw75Vw3IWQTXr+HRqA+Vkmoenp5cZg8qUP8sWj6SFWfo0UayaQnpU1q2?= =?us-ascii?Q?EtrqeZFUf1vTAIx0ZR/jx4FksBAJrKNn3IgKSpVqqlP6+cGgMzCp2ODCnn+q?= =?us-ascii?Q?oefN7JAbdpny8qtImVjKTepV8xAv401ODaTkmDebjIx4HhEL9owr2cttmq1V?= =?us-ascii?Q?MuyU6q6TqfAf0eWu6PgUdNotjvtrPyUxvarabpaBVlcU4psvduEoKkH+W+p0?= =?us-ascii?Q?ml6cH/CRrT+x0d+6TreBvI0SV57aqKEZ/z/Oifwr2GHoY0EJKq6nXMl260oM?= =?us-ascii?Q?z3CetfVPdhBt32rQ1CVYRIOMYOxOM0Otm+oWhHUira9niLMc8QYvSLrFHOS7?= =?us-ascii?Q?MXkwZ2hioXDMSxV63JxomicTXOyivRdYSuAMVTELwAlBByCzdOpZ7Tk8Aw0i?= =?us-ascii?Q?kXAkGbLzfHyCtMXH0TN6aObI+8rZ7ia8mYcWvoAGeqVkX8HjYgDpDWH8ZnpU?= =?us-ascii?Q?el8r/IK97RpsPZa5CZp70IJheFt0gIE1Ff6lM/s6t7TcFh183VGkDlg6eQVB?= =?us-ascii?Q?EA2GRRyRR8wxfRRJu4eJDHuXxFt4oT1K8oiisAlzuVhoJRm6LedbsqpREd6v?= =?us-ascii?Q?aBk56E1PxzxKxx5oVb584vh4UPy81UqWpkw0Ep5Zda5X+ZaKa0rQKXUsl2Ej?= =?us-ascii?Q?wKUjQGVadynR6qKwB/kZPeHMmy9QmD9CPwuVvqbiV0GHGWPELC/mwe7A1Fo9?= =?us-ascii?Q?9SZueWpbDv5H7JbCT0n21+2C5Fjl2YqCRGfLdKSzLMsg29uYLmzMgR6Y74K5?= =?us-ascii?Q?VNTx6yd83dJKM6oNZWHOFZQAjBV+6eBV/siwTnsGVsSI1nmfaMLkdZUzp2W/?= =?us-ascii?Q?R3ql0528Of5gioEmsJBQaGlw+fWJvQbIMmtoGde5rHNJ4XYRQBJZqAclBAHS?= =?us-ascii?Q?7PGgnN0vRBOXCdQ0TwmSTt8=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: e28f9b50-a11f-4b8f-ec34-08d99a964ad8 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Oct 2021 04:40:54.4526 (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: v8K5GAYhVt5SPl5xbH3DPUc8EQVPLhNoMF2q+xjOcD5QxWc9GukoavlZ98cuzl845yMBlKYH4O8EqpV2bGz4xA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0401MB2652 Content-Type: text/plain; charset="utf-8" This patch added a new member allow_infinite_fallback in mptcp_sock, which gets initialized to 'true' when the connection begins and is set to 'false' on any retransmit or successful MP_JOIN. Only do infinite mapping fallback if there is a single subflow AND there have been no retransmissions AND there have never been any MP_JOINs. Suggested-by: Paolo Abeni Signed-off-by: Geliang Tang --- net/mptcp/protocol.c | 3 +++ net/mptcp/protocol.h | 1 + net/mptcp/subflow.c | 4 +++- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index 7803b0dbb1be..f3163647c501 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -2387,6 +2387,7 @@ static void __mptcp_retrans(struct sock *sk) dfrag->already_sent =3D max(dfrag->already_sent, info.sent); tcp_push(ssk, 0, info.mss_now, tcp_sk(ssk)->nonagle, info.size_goal); + WRITE_ONCE(msk->allow_infinite_fallback, false); } =20 release_sock(ssk); @@ -2465,6 +2466,7 @@ static int __mptcp_init_sock(struct sock *sk) msk->first =3D NULL; inet_csk(sk)->icsk_sync_mss =3D mptcp_sync_mss; WRITE_ONCE(msk->csum_enabled, mptcp_is_checksum_enabled(sock_net(sk))); + WRITE_ONCE(msk->allow_infinite_fallback, true); msk->recovery =3D false; =20 mptcp_pm_data_init(msk); @@ -3133,6 +3135,7 @@ bool mptcp_finish_join(struct sock *ssk) if (parent_sock && !ssk->sk_socket) mptcp_sock_graft(ssk, parent_sock); subflow->map_seq =3D READ_ONCE(msk->ack_seq); + WRITE_ONCE(msk->allow_infinite_fallback, false); out: mptcp_event(MPTCP_EVENT_SUB_ESTABLISHED, msk, ssk, GFP_ATOMIC); return true; diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index 67a61ac48b20..4b9fe56bd572 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -249,6 +249,7 @@ struct mptcp_sock { bool rcv_fastclose; bool use_64bit_ack; /* Set when we received a 64-bit DSN */ bool csum_enabled; + bool allow_infinite_fallback; spinlock_t join_list_lock; struct work_struct work; struct sk_buff *ooo_last_skb; diff --git a/net/mptcp/subflow.c b/net/mptcp/subflow.c index 87a9ffebcc42..93bc298bd41d 100644 --- a/net/mptcp/subflow.c +++ b/net/mptcp/subflow.c @@ -1167,7 +1167,8 @@ static bool subflow_check_data_avail(struct sock *ssk) if (!__mptcp_check_fallback(msk)) { /* RFC 8684 section 3.7. */ if (subflow->send_mp_fail) { - if (mptcp_has_another_subflow(ssk)) { + 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; @@ -1452,6 +1453,7 @@ int __mptcp_subflow_connect(struct sock *sk, const st= ruct mptcp_addr_info *loc, /* discard the subflow socket */ mptcp_sock_graft(ssk, sk->sk_socket); iput(SOCK_INODE(sf)); + WRITE_ONCE(msk->allow_infinite_fallback, false); return err; =20 failed_unlink: --=20 2.26.2 From nobody Fri Apr 26 00:24:25 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:956b:0:0:0:0:0 with SMTP id y98csp1148550jah; Thu, 28 Oct 2021 21:41:09 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy3I2MlEH5aUO2Aex12cKJvE93QM7WqitdwvSUV5Yw6ye0qSmHUICIQFGHtnWOR14wkfXFg X-Received: by 2002:a63:c:: with SMTP id 12mr6533597pga.477.1635482469133; Thu, 28 Oct 2021 21:41:09 -0700 (PDT) Return-Path: Received: from sjc.edge.kernel.org (sjc.edge.kernel.org. [147.75.69.165]) by mx.google.com with ESMTPS id g1si4291066pfj.167.2021.10.28.21.41.09 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 28 Oct 2021 21:41:09 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-2320-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=Vflr9XyO; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-2320-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.69.165 as permitted sender) smtp.mailfrom="mptcp+bounces-2320-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 CF6BE3E01A2 for ; Fri, 29 Oct 2021 04:41:08 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id A74022C83; Fri, 29 Oct 2021 04:41: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 3039772 for ; Fri, 29 Oct 2021 04:41:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1635482464; 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=z22GC6YsWKL5PBiHPpk1qGMYaRxP05KOXusY9pdq5lI=; b=Vflr9XyOSOFbsAZPCAgwTQXt/tH+52l7uGy51q8OJdPilZ6KZdriPbUtTc7IzZFGjZNAXL v3RsNVaovui0JBFZpAy5qtcUX6/pCDGscvlkIKpIPL6B+dNGB+enfT/rPXT4vVNwgc5x4s 5LyWr/lKhaMcT2y5C6X05z5yoxHBf/s= Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05lp2109.outbound.protection.outlook.com [104.47.18.109]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-30-uKK0a1zPMZqSOfhV1D--Kg-1; Fri, 29 Oct 2021 06:41:03 +0200 X-MC-Unique: uKK0a1zPMZqSOfhV1D--Kg-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XVDiUVv5yOEk9/CSRDeFC6kRznYZDNe6aVhrI0ZAexvLPbWkVdvh4uUS8lSOvICd1slEBkVkTuI9OCxGpRCWZkYjClC8nsAqA6N+OTvRObR1OLfJTv3AXQCfmGaRwY9YTCRDPQYyS+cJXYPPqapqrm92nCwD9iDzmw0jP4t1O7HqsyRJuVhzaNPLlURwCh4X/n21Ov8eubKDLDDZt5m0BRPCy/zNhFTDsQs+tTmfs2AQ5AKmiY1mh9JAHxaOPGG5IIjWqV7Xr7NWUgITLD5VnIjLC6s3qApT2tql+R/vcolim4L3OSbaKChMvJ6/dAibnnbIcdAU9vrqjrTvmjPgWg== 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=nhvWHbb2x4Zlj4/Pl8Tc85LWHK7EoCw1dkvh09Q6kvA=; b=AUAjxHehT5C3HK/NohDMl4IqZQbLaoA0WI8Vu6hnszaPyuzk62EK/RpMPQZk0zpMDCUSF3a2MdecL09vIJwuzlmsde6jUqeqUittzVq5GB35zlArOMjLNCRWbVHvq0yHw/hQ7+OsdYYNP2gycMbA9czH9W+7gN343r18lw3jJDl7BxnCo1oSO+pdIdQnRIvmW4bel/AlHl3e8tZVpCsgt/zdKzCNsChVyHEsK7rOoxN+7vCIYIbH4O+1MeHIGCE80pNtI7IwZldYQWmnxjC4LRdJ0rZX3IaAjQ7xVhtXL/MguLVldby3gniEp+m7Iy8IGLoWn+azyDMZYo702fqDng== 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 HE1PR0401MB2652.eurprd04.prod.outlook.com (2603:10a6:3:83::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4628.20; Fri, 29 Oct 2021 04:41:02 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::15cd:f2b4:6acf:99af]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::15cd:f2b4:6acf:99af%6]) with mapi id 15.20.4649.015; Fri, 29 Oct 2021 04:41:02 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang , Paolo Abeni Subject: [PATCH mptcp-next v8 4/8] mptcp: infinite mapping sending Date: Fri, 29 Oct 2021 12:40:14 +0800 Message-ID: <355f9918b55bec47de9ed14016b6d520a9854180.1635481641.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2PR06CA0008.apcprd06.prod.outlook.com (2603:1096:202:2e::20) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Received: from localhost (60.251.47.115) by HK2PR06CA0008.apcprd06.prod.outlook.com (2603:1096:202:2e::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4649.15 via Frontend Transport; Fri, 29 Oct 2021 04:41:01 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0f1adc34-7ca3-410d-fa52-08d99a964fbf X-MS-TrafficTypeDiagnostic: HE1PR0401MB2652: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7219; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: orfwjhhpo99QvtGloDqJTS4eS0SHRjXuBX2t1cF4Fk5FvEiBN52LKds55ADBcOMLkQi/hJ/KhWwmuBQHrxCHYn6vUIxK7iB+UCJR779YhMNA4xmKdPTXg0ejNxwzdMIFbA82FqeH5XG6opE7+YhVm1bUWKMrhBkS+txdiqJPntdQsWInlPi21CKx2fAD/RbrsnNZudyDaMdvyMQippf5us7LWqFPrHU+jJNA0HqsSfPag0Tg/lsZDIeJuOscKBuQQiDHuwerM7TN0SfRi67CqZG21IIRMyYOqu22f3Hp0zpkVSv+bdFSBFfVK0ALie2JP8MkiZyI5iSoid5Pzq9CAz/AfEg2r8UGk59e/ty+th7vi1Yc7AH5ShFGyR2VMxpBjYi7LKNFR70ov8Tf5HylQq5ImGSmi5k6IKW2e7HXb3mpCo00QSSgVymJwk1YP3ekV8wH1mFF785wO7nUBhuq1Zjb+LXdqRdgcJK/DFxSJBBMBHMedaVitXNh4uByDHtdDu25PUEnTkIe4tZ8BD7Ff2CQMfUj/yubbcU0Gz6L8AgIAwJ6P/3hiZFR4FoJc9ZMAJ9kGkufXfqBqiE5Bum1++8kMKeT/Pi55Uw4+cbiueLHrGmeNGhn1Fuott/XU6o9IZfIUhAx1yRLml9oQmpn0Q== 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)(54906003)(508600001)(4326008)(66946007)(316002)(6496006)(83380400001)(55236004)(8676002)(66556008)(6916009)(6666004)(2906002)(44832011)(66476007)(86362001)(956004)(6486002)(8936002)(2616005)(26005)(36756003)(5660300002)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?67ensAOoWdSjogRjf+GohnwJp/mkW60d7lQ6sfCiaY23bb7a9UVngu5YWMDJ?= =?us-ascii?Q?BlbVdwCvYcuD7mXLKpC0x1JHxcP8n8XkbcEyOec5uU+YlbmqrmB3PPqvvLZS?= =?us-ascii?Q?jDQwr5mey1FAUs3SJKyKZlMhklVBOHCxlmwSAjYog00eLkTWRReANXlaSVOZ?= =?us-ascii?Q?MDGkJt7+CB6o2ur5frF+l4+a1staPKnF1hKyDfyMyEpLNTqySZk4hpNiHA3S?= =?us-ascii?Q?BhVTP8RvVOLj0AoDHVmfhwv/NM2HnyprEDdeuLL4dpKOTr6ZO6zhsFUJLlbz?= =?us-ascii?Q?9eOgnQaTgMCoBku75WwPMZZNRIMzJNESF1VOZwrZjE6zTzb9R/DENsuKlW+H?= =?us-ascii?Q?6yaw3IDf5Xhj9S+3sfzy9lDdyPekdiMp87+nkn18Wd35pOFyO1b3mkyRuCj+?= =?us-ascii?Q?Ba/QnM4hZi8dThgBJnK7bBZsitW+VIh46depSFl2FkS7GUokQKBK+FEB+24q?= =?us-ascii?Q?ggNoJYZvMjaUtPwIw3W94M6hKJNHZM4PRRvdYHpX/YWxSo4KIleKzfH4vaSC?= =?us-ascii?Q?wzZk25YLhrmXScB4Z5Gu+5mY/iR9gEcBsoM3UWcT98k1O1YCW0O2/17g/LuI?= =?us-ascii?Q?PVZHpN7In2/sMIpphjCfeKOAY4i7MpLY2qu2lsWAZm7VYapnWXp7m5vFzGRp?= =?us-ascii?Q?n4ioRzl/4IVmCwJTPJwahvPCsVhZMZmfJK8aQuTg+l8DhsAYXOzLLEU7iW3f?= =?us-ascii?Q?1pbYlo3xiJI1DpnA+BmaYXlw+9xo95mKwV/CKGsIiZ2eY5QIUSxp6ndz16PS?= =?us-ascii?Q?6fKQFa2/AelhQ1yPwbXPXB+FAg2zylAbc4Ul8bZd5VdJ5Wxj6+l6W7WbiPDV?= =?us-ascii?Q?HUazaZGJ3cOh8W7vUlNlf3UfOktFQCVbB1cx+sKKmhcDcppn6UpDMLOKd3wf?= =?us-ascii?Q?CLXRq8CGW0icItK2rEPPat+PS8RUrm6HAeSZLD4x29CNm1AP/rcLruprH+h+?= =?us-ascii?Q?qXJ7zSnf0sDUqxqlQjd3Ca3yOO/aOj5NtKBOhbbo+/jA0rp3zOYQuuJJxjYe?= =?us-ascii?Q?0eYcbj2P4TR2qo/EWH9ixshnP/pnK4PnBOVkRFK8p9aVRQFqVrEqV3Bywuk7?= =?us-ascii?Q?Ay7tcR7lPGQqJBtzHLPblUd9xBv2JI2v37ncNVPCwXD/cpGfXBIsJgdysodk?= =?us-ascii?Q?eqm4e9uMvZg3pb4FQgt5JefsmHhi+vfnXti/s6m1DRG8c1tjfSajYfQXkTYJ?= =?us-ascii?Q?RaDMpLxBjfxOaoAtJuOQvvXtVY0iYvWNOmKadnNJskK9ojs8j+PmXANRDPzT?= =?us-ascii?Q?wKjePQPbAdMptUr+cjMytKe8Do5YVlo2eJ7LkctnPvUFlsf31PLFe7Ry3EsB?= =?us-ascii?Q?VepQCHTOFr+ci1ORLwBt4Ncj0MbM7zseV8F3R/P7V20R54Bp01VY7gjH7at+?= =?us-ascii?Q?ZSLuTnTkw/M98opMJJo5Ygy1iqwU2nDIhfWAHYU9bZy3ywaCEg1+lIVFC9X/?= =?us-ascii?Q?i3jtxFs4+ChvNKjQunMf6YM94yMq1/+5hu1D7DzoT7GTaC+CEXGmSuMmqzTO?= =?us-ascii?Q?pTMNvetbXd/RJW0ExYAos/MO43XbAqAuABGFGC5yy0fSjinpKYbj84W569ds?= =?us-ascii?Q?Y3yEPt8BdJFZVFImZQJdBiY5f5XSaEnEFmkW5t1G99iTR2admEw5rZfuzx54?= =?us-ascii?Q?ItN3J264hqQV+pdeasU9erg=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0f1adc34-7ca3-410d-fa52-08d99a964fbf X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Oct 2021 04:41:02.5445 (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: szWsI24ey3zx7rmzyheOx5xzNDiGPDCbKgVVo5xXqkltJpkGr2kw/f5zRaVi+aNIFKUv3I9cDxuF9brPr+CqGQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0401MB2652 Content-Type: text/plain; charset="utf-8" This patch added the infinite mapping sending logic. Added a new flag send_infinite_map in struct mptcp_subflow_context. Set it true when a single contiguous subflow is in use and the allow_infinite_fallback flag is true in mptcp_pm_mp_fail_received(). In mptcp_sendmsg_frag(), if this flag is true, call the new function mptcp_update_infinite_map() to set the infinite mapping. Added a new flag infinite_map in struct mptcp_ext, set it true in mptcp_update_infinite_map(), and check this flag in a new helper mptcp_check_infinite_map(). In mptcp_update_infinite_map(), set data_len and csum to 0, and clear the send_infinite_map flag, then do fallback. In mptcp_established_options(), use the helper mptcp_check_infinite_map() to let the infinite mapping DSS can be sent out in the fallback mode. Suggested-by: Paolo Abeni Signed-off-by: Geliang Tang --- include/net/mptcp.h | 3 ++- net/mptcp/options.c | 2 +- net/mptcp/pm.c | 6 ++++++ net/mptcp/protocol.c | 18 ++++++++++++++++++ net/mptcp/protocol.h | 12 ++++++++++++ 5 files changed, 39 insertions(+), 2 deletions(-) diff --git a/include/net/mptcp.h b/include/net/mptcp.h index a925349b4b89..04f53352a1c9 100644 --- a/include/net/mptcp.h +++ b/include/net/mptcp.h @@ -35,7 +35,8 @@ struct mptcp_ext { frozen:1, reset_transient:1; u8 reset_reason:4, - csum_reqd:1; + csum_reqd:1, + infinite_map:1; }; =20 #define MPTCP_RM_IDS_MAX 8 diff --git a/net/mptcp/options.c b/net/mptcp/options.c index 7c3420afb1a0..932e19645910 100644 --- a/net/mptcp/options.c +++ b/net/mptcp/options.c @@ -816,7 +816,7 @@ bool mptcp_established_options(struct sock *sk, struct = sk_buff *skb, =20 opts->suboptions =3D 0; =20 - if (unlikely(__mptcp_check_fallback(msk))) + if (unlikely(__mptcp_check_fallback(msk) && !mptcp_check_infinite_map(skb= ))) return false; =20 if (unlikely(skb && TCP_SKB_CB(skb)->tcp_flags & TCPHDR_RST)) { diff --git a/net/mptcp/pm.c b/net/mptcp/pm.c index 6ab386ff3294..86b38a830b4c 100644 --- a/net/mptcp/pm.c +++ b/net/mptcp/pm.c @@ -251,7 +251,13 @@ void mptcp_pm_mp_prio_received(struct sock *sk, u8 bku= p) =20 void mptcp_pm_mp_fail_received(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("fail_seq=3D%llu", fail_seq); + + if (!mptcp_has_another_subflow(sk) && READ_ONCE(msk->allow_infinite_fallb= ack)) + subflow->send_infinite_map =3D 1; } =20 /* path manager helpers */ diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index f3163647c501..70f2e0e212fa 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -1226,6 +1226,22 @@ static void mptcp_update_data_checksum(struct sk_buf= f *skb, int added) mpext->csum =3D csum_fold(csum_block_add(csum, skb_checksum(skb, offset, = added, 0), offset)); } =20 +static void mptcp_update_infinite_map(struct mptcp_sock *msk, + struct sock *ssk, + struct mptcp_ext *mpext) +{ + if (!mpext) + return; + + mpext->infinite_map =3D 1; + mpext->data_len =3D 0; + mpext->csum =3D 0; + + mptcp_subflow_ctx(ssk)->send_infinite_map =3D 0; + pr_fallback(msk); + __mptcp_do_fallback(msk); +} + static int mptcp_sendmsg_frag(struct sock *sk, struct sock *ssk, struct mptcp_data_frag *dfrag, struct mptcp_sendmsg_info *info) @@ -1358,6 +1374,8 @@ static int mptcp_sendmsg_frag(struct sock *sk, struct= sock *ssk, out: if (READ_ONCE(msk->csum_enabled)) mptcp_update_data_checksum(skb, copy); + if (mptcp_subflow_ctx(ssk)->send_infinite_map) + mptcp_update_infinite_map(msk, ssk, mpext); mptcp_subflow_ctx(ssk)->rel_write_seq +=3D copy; return copy; } diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index 4b9fe56bd572..906c65fca04f 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -419,6 +419,7 @@ struct mptcp_subflow_context { backup : 1, send_mp_prio : 1, send_mp_fail : 1, + send_infinite_map : 1, rx_eof : 1, can_ack : 1, /* only after processing the remote a key */ disposable : 1, /* ctx can be free at ulp release time */ @@ -852,6 +853,17 @@ static inline void mptcp_do_fallback(struct sock *sk) =20 #define pr_fallback(a) pr_debug("%s:fallback to TCP (msk=3D%p)", __func__,= a) =20 +static inline bool mptcp_check_infinite_map(struct sk_buff *skb) +{ + struct mptcp_ext *mpext; + + mpext =3D skb ? mptcp_get_ext(skb) : NULL; + if (mpext && mpext->infinite_map) + return true; + + return false; +} + static inline bool subflow_simultaneous_connect(struct sock *sk) { struct mptcp_subflow_context *subflow =3D mptcp_subflow_ctx(sk); --=20 2.26.2 From nobody Fri Apr 26 00:24:25 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:956b:0:0:0:0:0 with SMTP id y98csp1148668jah; Thu, 28 Oct 2021 21:41:17 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx5sDxpZWErk0JUbU7fc+iJ8/oFrLmMXKjk8bdhuPef9Bcmdi1tQeyJXReEXkqW+LgIuGHy X-Received: by 2002:a63:7a11:: with SMTP id v17mr6337733pgc.435.1635482477377; Thu, 28 Oct 2021 21:41:17 -0700 (PDT) Return-Path: Received: from sjc.edge.kernel.org (sjc.edge.kernel.org. [2604:1380:1000:8100::1]) by mx.google.com with ESMTPS id b16si5937680pls.289.2021.10.28.21.41.17 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 28 Oct 2021 21:41:17 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-2321-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=QYS728qX; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-2321-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) smtp.mailfrom="mptcp+bounces-2321-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 E0ABE3E1018 for ; Fri, 29 Oct 2021 04:41:16 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 0F8D52C83; Fri, 29 Oct 2021 04:41:16 +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 DBAD072 for ; Fri, 29 Oct 2021 04:41:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1635482473; 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=ZSJH5Mca7FU8D/ECu9ZsxQ7V8K/yx2u/5UXvWDUNi6k=; b=QYS728qX99U7xD6ydJ9YeLir8jrm7E5gjonVjAQxVfNdDze7JfbJj9uGyJmbCthaa7pC3o v3Zc0qni8JTcHNZHSUoL4e2j4fBrBcJoGZTdNDfUXBx/RpMz/uIL8nAA9L1+yPZW6atGi7 d6JDHcL0TT92y5Goyq8RI8En3erbR5Q= Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05lp2107.outbound.protection.outlook.com [104.47.18.107]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-36-oHizatGPPtK6N27KtboABA-2; Fri, 29 Oct 2021 06:41:12 +0200 X-MC-Unique: oHizatGPPtK6N27KtboABA-2 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=i23SBNOTlLP426nUpomxadxssaGufakcFMf3s5dUkJzRBZE+R6hOF0nC4Eu1NeCdMce7EVxzud4kIEXxLqNpyqvlz5AL92YkTMfWZjFOBzokqexo00COkmAO4/VWeYgC1hOp9TVCHKpL3JRY4VfSYE9I0wI5fTOR1QopHL4YrX2ZylZu0nPmaXmaPeoisrAO8NhT2GraWAlGHuay8VuR/wND/PBNfXfBcDwf9eV9uSh/MM8HffKdQotdGJWVex7FFhlx09+2R8EHseu1xl+7D4rpuRg04SlnosESPZzopY0jZuydzOOfMUqJRFtDC4Ohy8/6IXQRHM2eAW8mbbcY/g== 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=/AxlS3wJ1YSxVHCfMwUhVqXVweg3QG9xp4I13mYPjgk=; b=OQsC56vhl1rWR3IaJrCiu+tlqpb5rghoN9N8xeHxVolX1igV0QVT212gDdxE83iXSDUDSIs7vBbEMCGCY6/NQ0uhQ4ZiuoMu7sUDxttwX0HQwJX9nY+MskW3EEJ0IPMNBcK/4zC2dcphlpXI/mtHSI6qTDxzIKeoIhDUjk/SEZBrnxEib9IgPMoCEh8cYtJU3kND5AFqePgzA7NKrwuy1BGYXx0CJHMPRe+Sf/qbiDazCSDS1LQZYYcAKjOfokdwRzDvdz6rwxyHGDrv+vXEfypeK2+v7oLWAVdk9YkNk2CY/tsFmv+l/CGFtROlFo/SogW/z28AkzPvdNR9km8ZgA== 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 HE1PR0401MB2652.eurprd04.prod.outlook.com (2603:10a6:3:83::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4628.20; Fri, 29 Oct 2021 04:41:11 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::15cd:f2b4:6acf:99af]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::15cd:f2b4:6acf:99af%6]) with mapi id 15.20.4649.015; Fri, 29 Oct 2021 04:41:11 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang , Paolo Abeni Subject: [PATCH mptcp-next v8 5/8] mptcp: infinite mapping receiving Date: Fri, 29 Oct 2021 12:40:15 +0800 Message-ID: <22e015ac1fda01b24220e7d61986ea6e999a5182.1635481641.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2PR06CA0011.apcprd06.prod.outlook.com (2603:1096:202:2e::23) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Received: from localhost (60.251.47.115) by HK2PR06CA0011.apcprd06.prod.outlook.com (2603:1096:202:2e::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4649.14 via Frontend Transport; Fri, 29 Oct 2021 04:41:10 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 939bb5b8-e7e8-41c3-010f-08d99a965505 X-MS-TrafficTypeDiagnostic: HE1PR0401MB2652: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1728; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: xAy61V/7zjs0i9xfZQnnr+IGV3ZTAPSy0gfRh17OIv0J7/xOOB9O5u++5Sr0frD/pxvf5W1EuL/UqWPMQohPbDHkqdRgJdhsA5m7qzYBdyIuhseSJJGpV35JtBbr0AJP3RkDcDrS3cgSrLzCUVmsuFxPMoWWU5megRwxJ0Q4iaZLnvzmRG5SxRlYiJCN7NoUuP1yd9OssY5vUtol1eIBxlTSg7gUHIS/dvzuPjiivzfOzD3+ig8hvWckaoEbu60sodynRtRhnVMYx4mbtfQuoBt4xL1Iap6yXj9IrZnphEisaT6NjeZjtQMX+lQehBvWXZxTHslxr0QEc2/OW7dUg4zoMZGKTMsOJ8GsEvUi1lA6BjTndBizN9lylsqExAiHItiXRbbt4S1h6HH26seUv5Mj/wi21r2Cg9Rkkpq2mh3wQa6uClZYQ3U6ldcCVfFsitAChk0GztYxEiTu5pjDUwDi6Z3x9HopXmXZFHj5ubGgH+f9JlYGD3fGYVsb+SVbdgqqi9bo0LzQDzFnFG45nGRa5imFDve6xN1kqoQ7uk6GHnQX0p4j38SBOBLCIvZJoXoIClRGVBHQ0rXFGeahVmxNFme7FjtcGcRTvh3WmgBuPUQxYFlNT5w4gJf92QWUgIEx/FnERB0WBOjk2mpzUw== 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)(54906003)(508600001)(4326008)(66946007)(316002)(6496006)(83380400001)(55236004)(8676002)(66556008)(6916009)(2906002)(44832011)(66476007)(86362001)(956004)(6486002)(8936002)(2616005)(26005)(36756003)(5660300002)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?XbUNRWdUlMtoDcnX41Yb7aXTeY/rX0xfQDTnKFZ6YI6R5NBC74eomhY997EX?= =?us-ascii?Q?ewLG4aFWfAy4y4prWI0eqvCo2xQaYTppBTl+FLhARGC4BgVt3j3hHPVMVzzK?= =?us-ascii?Q?0DxPn7CzSL5jqykexxOO3sav3d0HBjzUjfee2cPkPMjGeFatE4o3TlEbWM36?= =?us-ascii?Q?+jOOewJM8TZ0FXVbowMTV6ILEJr9wRIGz2vFiCX4Fv80d16l8scBHY99jD3m?= =?us-ascii?Q?XyEHl9jM2+w79a3fZBz/V6GQo0D2oMMPFcUNs4DF7U5l+3dRt3j686HG9SaN?= =?us-ascii?Q?JnnO7BIna/Fj7JW2NVGSp/WeWvXuT9c6pW8JUV0cfWVBRZ71843Dmv33SIrc?= =?us-ascii?Q?ayK8frPBZDGHrPSLdm99FI9YNBrlbN8ozUcrq4fHVBc1v1qNIeG2tKCKOtrk?= =?us-ascii?Q?avAg1emEERupaXLqJd5gTNuV0hUHQZDxlRP2NeOYCvTR6QTVoNaIPqCqX+W3?= =?us-ascii?Q?7oUQUcxqWhuZ0GaHxzRr3ehZJbORHFQROLo9w8UjKj6+KCIFXukTn+y+BgeN?= =?us-ascii?Q?WWWQ9QgwyxJYy2jZBoGuiWU4xeO25ImGxrqfAXTJu/mGw3N7xrJn8BAKGAJc?= =?us-ascii?Q?D/1q9WGmSn2iMR/kmPFQ3+OrmzWDjb8ZYFnZBzN8t+xezHzPQ2TsG/S89yvC?= =?us-ascii?Q?QF3iorlGjRDj0iJP/zhILdvnWB5vzmT5dtLspX8IjpJ9Ns1Vih+ygx/hmxM5?= =?us-ascii?Q?WwFZQ5iIxmm5xZRA6tNiJHRIE6eu0Ib5hEq3pvV+uqksGRWBMIPpIXC0qrc1?= =?us-ascii?Q?Tkq4mzJWMDGZVR97im50AyHmUZ9CHofsOPVKLRz5Lpbe4Ko5tWRSdOv63TNv?= =?us-ascii?Q?uccZuP3nUS2DAipg2orbZPRSvgcYAUPARpsPYXK3f6WmyvwEZaey8zqWd5Qu?= =?us-ascii?Q?asksOpQtYz5iYnLY1VWA1EzkmgWpxQrjh4yYzLXtnovGDAhSN+zRpSIVqm6L?= =?us-ascii?Q?0sRIAdtlWvnRnrPMMGAouWHaHEL8i39os1EDLXHI6sFMhmzHrWzShObUSAGS?= =?us-ascii?Q?hT5uBp0/+lNScLro5bF5LgJkLhK3U4dPBVqb3frTlTzHroyh3bDlhOvAV6b3?= =?us-ascii?Q?JoWKqt/u2+k0GfJZ/ha23ABF1bDAZVaOnQVrU1L5EfgV19BfkU+5jx+bJ3VR?= =?us-ascii?Q?LkBp5yEJt41D1dHxNU3WXAtg9gSPvDXvyF31e3hJ59n3FpaFzx0pAAuAetWG?= =?us-ascii?Q?THruydlqvfPBqvy+9zObRKajfKxcJcU536WPdixQZd+3SDCDmyT5Gw03jlJM?= =?us-ascii?Q?1X/PWGo+5dKbb19C7TrHbGdphGikHQ7n+fLIxSVtzfFB7+GLrImHbb2sPuph?= =?us-ascii?Q?vXKFr5c0MsFJOF3Ytc5Dke25l7urQXr7/Zb6YH0yfSzo9kUkIXpj/pU8pyz1?= =?us-ascii?Q?pyvpqu/+K+csWyFkAjz7swYypj6rUdThpYr5pv19T/ziu3rl5FRc89F3EBMg?= =?us-ascii?Q?E8vkDnWXIDJ4TFSCB3CfPOUcl/fAN63jp6QylExG5n0UwN/1BK6/fwUutyhf?= =?us-ascii?Q?qttBZP1a7bqFcJE1z2sa1huiV/x2V2/7soRI9YPMWxdBYWYuesL0e1/uTJ54?= =?us-ascii?Q?Wl2ISXn+8M7X7jG/D0uB3sTSLgvF/fDnWlv9R349ctqm56jCXkjpvUl0aAyB?= =?us-ascii?Q?d3/HAX+hVtMUlqUt0dV91uE=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 939bb5b8-e7e8-41c3-010f-08d99a965505 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Oct 2021 04:41:11.2802 (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: ojKP0Jbp5nAtI+r9Nc5eolxgOrKQlAgSEYRyh9ufaDvRnpDZoop6PVn+7QpVc8Nzr4qaPY4WlNHVrHIiMXj52A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0401MB2652 Content-Type: text/plain; charset="utf-8" This patch added the infinite mapping receiving logic. When the infinite mapping is received, set the map_data_len of the subflow to 0. In subflow_check_data_avail(), only reset the subflow when the map_data_len of the subflow is non-zero. Suggested-by: Paolo Abeni Signed-off-by: Geliang Tang --- net/mptcp/subflow.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/net/mptcp/subflow.c b/net/mptcp/subflow.c index 93bc298bd41d..9e54122f18f4 100644 --- a/net/mptcp/subflow.c +++ b/net/mptcp/subflow.c @@ -968,6 +968,7 @@ static enum mapping_status get_mapping_status(struct so= ck *ssk, data_len =3D mpext->data_len; if (data_len =3D=3D 0) { MPTCP_INC_STATS(sock_net(ssk), MPTCP_MIB_INFINITEMAPRX); + subflow->map_data_len =3D 0; return MAPPING_INVALID; } =20 @@ -1181,7 +1182,7 @@ static bool subflow_check_data_avail(struct sock *ssk) return true; } =20 - if (subflow->mp_join || subflow->fully_established) { + if ((subflow->mp_join || subflow->fully_established) && subflow->map_dat= a_len) { /* fatal protocol error, close the socket. * subflow_error_report() will introduce the appropriate barriers */ --=20 2.26.2 From nobody Fri Apr 26 00:24:25 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:956b:0:0:0:0:0 with SMTP id y98csp1148766jah; Thu, 28 Oct 2021 21:41:26 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxYIu35dwNyGNBZR7RX4vteuuWl0Yy3wqU3Eh240XwjWZegMoveg3cCe+Eh7OFYNEIF2kHA X-Received: by 2002:a05:6830:4033:: with SMTP id i19mr6635588ots.320.1635482486738; Thu, 28 Oct 2021 21:41:26 -0700 (PDT) Return-Path: Received: from ewr.edge.kernel.org (ewr.edge.kernel.org. [2604:1380:1:3600::1]) by mx.google.com with ESMTPS id t7si3790699oiw.84.2021.10.28.21.41.26 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 28 Oct 2021 21:41:26 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-2322-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=RXezJXSH; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-2322-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1:3600::1 as permitted sender) smtp.mailfrom="mptcp+bounces-2322-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 DB8B31C0B5C for ; Fri, 29 Oct 2021 04:41:25 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 9AC732C83; Fri, 29 Oct 2021 04:41:24 +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 6BFDF72 for ; Fri, 29 Oct 2021 04:41:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1635482481; 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=K57jOR9ngASuud0UrjcK753zcAkB9tfrgvKPgpaLyUA=; b=RXezJXSHN23mE6VLVtdokAx32LD+W110bS2wA+8NB8VHDivbHqVzrbGETu733IDafpYcAN lXSZ2LBalCo1uhGP7pawiMMv9lmu21qv+Wsu+QKeH3CCdCoEfD2dIU0viLzWdi9KCIxvvm RtH+BcZ+HMG2oUgsv2cui3QuOcsUCLk= Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05lp2112.outbound.protection.outlook.com [104.47.18.112]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-40-EzRoI2GaNz2OtoD3nR4wBw-1; Fri, 29 Oct 2021 06:41:20 +0200 X-MC-Unique: EzRoI2GaNz2OtoD3nR4wBw-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZbqcyQWPzZZYByCYzGfQ+jRwD1NlBMdh9FksJY97DHywqpb5EUX46gzFyto90L0FQMlxlbyDNXERX9Zj2ALqPeGRfZ9ANoMIyTzgw7KF/BWQFjPYf5H4fPLNfZwlq6wT/72P8GhWussHFVWsI4u2AEmURWzseUt0HXfnwoGYn9ZOzMREHfpFGHgueWoCTYqaNAnzFNHfL65p1et3OGd8BVYJkQlLAxMfllZpyu/cNhVpxftDvLwG/FRRyI+gvUKbKL88HoEvp4zQQZElcI3c8NPNgOAqmFjU8NgAE2/zlFS0tHI9G5M1FOHmILNMnoUED+7hfTrw0QtCZj8sEzOVOQ== 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=ghaXgkPK7E+HngmTVAu0klD5dODvPkSosYGzV/Mu6eE=; b=mTb7VvnYgoFT2Yc9JJ6MwxqwNqrsm21k2ZIFkbxTF8dJLYGVBJFPK1qX76dfhYUBVqAAldUiXna5vrfhMzYrJTNRnl73MfBuqARdK87RkZsk0K3tMrVSZkiz/KahYEp8ZNKMFp5pYkP3lD+CjH5e3av3CQ6VpqbPBgjd1Okh/DwCveGFRFyRlw9XgTwMFlHAbuaDV4U+t4Hve5SwOlKvIBUusfRXSS1kSaI55NuQSMlrKU7H2Aq4z2MhMyhui8IEcUoYHOfCMfNFLtK4U3rRTg/0WM+6y7w7V+RsR8iJy3XoSU1tbSsDj7zgEBkRidIQHBx/kyGZkHQ3KCnekviphw== 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 HE1PR0401MB2652.eurprd04.prod.outlook.com (2603:10a6:3:83::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4628.20; Fri, 29 Oct 2021 04:41:20 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::15cd:f2b4:6acf:99af]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::15cd:f2b4:6acf:99af%6]) with mapi id 15.20.4649.015; Fri, 29 Oct 2021 04:41:20 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next v8 6/8] mptcp: add mib for infinite map sending Date: Fri, 29 Oct 2021 12:40:16 +0800 Message-ID: <7f0fc192434a43191e70d7fbd02c377f3c1a87b4.1635481641.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2P15301CA0008.APCP153.PROD.OUTLOOK.COM (2603:1096:202:1::18) 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 HK2P15301CA0008.APCP153.PROD.OUTLOOK.COM (2603:1096:202:1::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.2 via Frontend Transport; Fri, 29 Oct 2021 04:41:19 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: de84b182-e3bb-48b3-69d6-08d99a965a33 X-MS-TrafficTypeDiagnostic: HE1PR0401MB2652: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1728; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: UxAIzB5GZW8dJKUAZAMQ6D9qUMxjlKKgrv4fTNFys8MG5kd/VXycrjorlEZUJKqni10L8URdsvYw/uF9Ang8mKVwas8pN/NJfToGWrwHMGzs6pWl3Tnzwv6PiASn4/m8iqYYL4pSJ7olgK9Qu91Z/oFQj0tQoBq6OVtNH9LwLDBRaBO9UkA8twV665508sSoFwX8bQ87k/xWwVkDgFpMVSaXF7tuDJc+t1tPbxzgN7Wq1kcAlcaRaPnlFrOUxN8DML+ZBHPaYmXWbGTce9tCsgIXhee9V6OMP+aXqKF5RkBwwJDXjfynOOPnt1LcZNQ3BzeFMcmtbv/7GcnYkl9piB3hbptKo1+fK2k26pQvZr3oRX2OHikOZMEFXIIz88ScWmGPHyA5Bxhu8C71lhkDCz42B02IVyo0IlFasRagP6po5hR7sNe6htmcggd2cl7+4ZVKXGwyZhuFpq1mEpgMhQW9komNou7IxcBCMMshHxrf//3t0J/5/o9DjlU3eZ5+HEUPyqNM5jwAEw8Mj1qXeeO2TSoIdmhWvUnB+gO28OriXsf4egc/TDKe71RqTJNsqmEmuEzfvElWoEIA2ZyLkZEF6HzgT2FDAy7fSEmJslvJ57ITTbpWVvS2P/m5zENIzoYN26XvhSwEcRtyTv+obg== 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)(508600001)(4326008)(66946007)(316002)(6496006)(83380400001)(55236004)(8676002)(66556008)(6916009)(6666004)(2906002)(44832011)(66476007)(86362001)(956004)(6486002)(8936002)(2616005)(107886003)(26005)(36756003)(5660300002)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?6BIndgjA5fHKNfZ8UQpCyFFYe/UOqdRW9uI6okxisMWC9+87xzEcVSyugaO4?= =?us-ascii?Q?AxQzGCbg+9lQfBPkG6E1WGW0F22PKD3GjvZlxsNvB5VeNs3NYI6Z13De1ted?= =?us-ascii?Q?xWKLbgp/Jv3VsuskUBugv5z3a5RzyRgy6x/AKWI8TBo0GPXji8Q3pTDAtxD/?= =?us-ascii?Q?rTJ9eQXZjt2jwvW4BT6CWfzIasxLR7oZZs4i7PiaX152bw34ZfyA3/GGNTB+?= =?us-ascii?Q?pKN/gu4m1dFoSosrAWFjpGuS6tQ12Oa6bOpeUhXvHL3XyB6iN4M4YXJKxeM1?= =?us-ascii?Q?aa0mGI+2rExIa1uICP4i+z16w+Cc3BHF8dh7036M6DJzSAmiVpKJmRBRDR2x?= =?us-ascii?Q?Jd9w7mHpRylh1L7gLNTwpIZpmjiHCaJrAF59rOpGGf0NPPbL9dv/7OAMu3Sj?= =?us-ascii?Q?n2Bg1O3HwRDW9phzd/MldISUPWzQGaMs6IoB4Kig/1+t4LK24FtLQOqv4/JJ?= =?us-ascii?Q?pwf/LE7MWNEwuQBs39C2IvGQkFZGnXjfwwDLcjBKGQEGTR7Ja1CtNub53b6u?= =?us-ascii?Q?0+hcP+JkpxmAFZY5eAZVfVzmokUGc6qEuBvT6rnG+w8sLVPAeSrvUGT11Mgz?= =?us-ascii?Q?V8egy5e9w50n45S2NcHqF3n56ahsEm//uQMIM3V2qwbUcuY8QwJhh3F73MO6?= =?us-ascii?Q?RTDwuo/WLxmrtkL8ds1a9skYBWG1q95t40cwEl2zI4Pzkvn9UTDak176pvou?= =?us-ascii?Q?gw1WdpDudZmKvKhcqlK8pw2FwR1pYolhwVi1oZtQAYYPJ0Gn1j9wQDTsPm5e?= =?us-ascii?Q?aDhL+BoRrjpIXUqHWrYKa77zHALZHmByJ65WAW6F6YgFYifphLXUmLm+JT8J?= =?us-ascii?Q?bX3Ta73KEHLbaiUUZIx38uAafryxJUmdqhkgf/uiKu05Y8Wt953FANa3RFCJ?= =?us-ascii?Q?5hzUmteI2EUGMUl481C/S4lsxtyMlvPA7A1M3eyImnMZCmrrmpn+q3PrNxZb?= =?us-ascii?Q?+9aZCqWXhQLzVkOT17w2G31GJ3PUpBtsHNpgsWxBdOrsvaZI6mHCZRxRV3GL?= =?us-ascii?Q?7zyeFfOwrwPfMfhv0FW+TPu0+idMSKSomPK15I5ceMz2obX4+//Ecy9jpckZ?= =?us-ascii?Q?coTJfMGbDQHyd4SwGYU0vW/ARkDiRbLP5bPvEKa4s7sv0ZU53/QgEgY+I+Xt?= =?us-ascii?Q?9ezchxGYpuvcffhOtmI9t3hmh4bLOwndAka636cvJ2SH+1E37owgkDGX/ifA?= =?us-ascii?Q?l5ld3v+gspS9SWDKfTIbhooVnNoxjFqSKNEV0c1V1M6cpPKdbA3LJDzYXk/O?= =?us-ascii?Q?p5nwA7X7qi4pXfwRXHdx4LrjH8ZGPazkjeEOnWv6rFIV/qsQpdtzV03sV1/C?= =?us-ascii?Q?yDduoGZuyUnBOf/cKPsMxlEA89Zj7kohax/V8F1F6vSGKsXtp4ccpQSFvRIw?= =?us-ascii?Q?XVTyuH4IDaAIOVmhYkR7oDRjyn2JHBRF8fKqqlgt1nqFeohfYVUay/of6iFI?= =?us-ascii?Q?Vz6DNRE52OQg6lgG4FoyscuVFLDmjyQLAvk3JNRgDj/AXRhrn9ceV91A5AfF?= =?us-ascii?Q?3X8cUieERLu8f22GrdkZhLCG6Jfqaho2P8q42FxeJoP6y778qRrSpht8J2Z3?= =?us-ascii?Q?B+IlHGTeq3z532Pye141t99h/NtkPLchpHsXb4gKEwvA5MLyzAp+3i66m5xx?= =?us-ascii?Q?X+yVHzy4HI63PRO0rTxnEoo=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: de84b182-e3bb-48b3-69d6-08d99a965a33 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Oct 2021 04:41:19.9729 (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: iYXlJYUgOax5RhTUY/KRZ88qxA2V4gqYDH3aKTsJpwRzL3FgrIHfymaKELcFYd4MMle5eYtHlBaolaPBBSAPeQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0401MB2652 Content-Type: text/plain; charset="utf-8" This patch added a new mib named MPTCP_MIB_INFINITEMAPTX, increase it when a infinite mapping has been sent out. Signed-off-by: Geliang Tang --- net/mptcp/mib.c | 1 + net/mptcp/mib.h | 1 + net/mptcp/protocol.c | 1 + 3 files changed, 3 insertions(+) diff --git a/net/mptcp/mib.c b/net/mptcp/mib.c index 3240b72271a7..c12251cb0d44 100644 --- a/net/mptcp/mib.c +++ b/net/mptcp/mib.c @@ -24,6 +24,7 @@ static const struct snmp_mib mptcp_snmp_list[] =3D { SNMP_MIB_ITEM("MPJoinAckRx", MPTCP_MIB_JOINACKRX), SNMP_MIB_ITEM("MPJoinAckHMacFailure", MPTCP_MIB_JOINACKMAC), SNMP_MIB_ITEM("DSSNotMatching", MPTCP_MIB_DSSNOMATCH), + SNMP_MIB_ITEM("InfiniteMapTx", MPTCP_MIB_INFINITEMAPTX), SNMP_MIB_ITEM("InfiniteMapRx", MPTCP_MIB_INFINITEMAPRX), SNMP_MIB_ITEM("DSSNoMatchTCP", MPTCP_MIB_DSSTCPMISMATCH), SNMP_MIB_ITEM("DataCsumErr", MPTCP_MIB_DATACSUMERR), diff --git a/net/mptcp/mib.h b/net/mptcp/mib.h index ecd3d8b117e0..7901f1338d15 100644 --- a/net/mptcp/mib.h +++ b/net/mptcp/mib.h @@ -17,6 +17,7 @@ enum linux_mptcp_mib_field { MPTCP_MIB_JOINACKRX, /* Received an ACK + MP_JOIN */ MPTCP_MIB_JOINACKMAC, /* HMAC was wrong on ACK + MP_JOIN */ MPTCP_MIB_DSSNOMATCH, /* Received a new mapping that did not match the p= revious one */ + MPTCP_MIB_INFINITEMAPTX, /* Sent an infinite mapping */ MPTCP_MIB_INFINITEMAPRX, /* Received an infinite mapping */ MPTCP_MIB_DSSTCPMISMATCH, /* DSS-mapping did not map with TCP's sequence = numbers */ MPTCP_MIB_DATACSUMERR, /* The data checksum fail */ diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index 70f2e0e212fa..2283efda1bc9 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -1237,6 +1237,7 @@ static void mptcp_update_infinite_map(struct mptcp_so= ck *msk, mpext->data_len =3D 0; mpext->csum =3D 0; =20 + MPTCP_INC_STATS(sock_net(ssk), MPTCP_MIB_INFINITEMAPTX); mptcp_subflow_ctx(ssk)->send_infinite_map =3D 0; pr_fallback(msk); __mptcp_do_fallback(msk); --=20 2.26.2 From nobody Fri Apr 26 00:24:25 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:956b:0:0:0:0:0 with SMTP id y98csp1148856jah; Thu, 28 Oct 2021 21:41:34 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwD9rXlhn6+kYqhRAIIuXjoebM/8mCf4ETep39d4s8eIaKk5e1nwzU9WkLPh/aIlfU7fEss X-Received: by 2002:a4a:dccb:: with SMTP id h11mr6045952oou.41.1635482494433; Thu, 28 Oct 2021 21:41:34 -0700 (PDT) Return-Path: Received: from ewr.edge.kernel.org (ewr.edge.kernel.org. [147.75.197.195]) by mx.google.com with ESMTPS id be34si5705739oib.228.2021.10.28.21.41.34 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 28 Oct 2021 21:41:34 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-2323-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=GaB4H8Le; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-2323-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.197.195 as permitted sender) smtp.mailfrom="mptcp+bounces-2323-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 AA50A1C0F1D for ; Fri, 29 Oct 2021 04:41:33 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 44CC22C83; Fri, 29 Oct 2021 04:41:32 +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 1491072 for ; Fri, 29 Oct 2021 04:41:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1635482489; 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=xXuITHNdZ2wu5hnxCr9eDUHnR5m+cdpaMRm8nya8zA8=; b=GaB4H8Lex4Qtn1jV7NT9+jGF/3ubKQ+Aspsgzj0vJtmWmt14Lou3N66NFRc8Ra3AMsW/A8 xvoTPUrP+9RMb7YLuvK4kN199xjFPcu0LaAp1MNhu6t8WRdla6fXw9piP44g5l8M5dB5Iq pXJSuaMuoC2ozzxbCu33qPiFmoJavsQ= Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05lp2112.outbound.protection.outlook.com [104.47.18.112]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-6-lMS9JjenMiadQJclNow6ww-1; Fri, 29 Oct 2021 06:41:28 +0200 X-MC-Unique: lMS9JjenMiadQJclNow6ww-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Hi0eWXy/xRQerHM4oO+56TunThRPfmajs+O4uyaAwig9NnMiEb6olthbT6CQAH6j2oud7GemT2/NRCESNeBG+w/tnziCKB9jZORVncn7lOXTMmVFedcecrqH7H0WIoQ5prrxHn9du48VvQOpjFlzQibngxiftmFbziHBJQ3TnXxvvonjA6IE17L7GWjp9fOQJdhdSQHfl3eUS2NeBQzLizA3szefpsSlDj6ozBAR2Fv4BqlbvHDja43xPY6efruMcw5QeqyDB8/SF0Yy4etsAE7AkA04WKXl0pZ840IAczmGpo/gEi+wRr39GZLcHAa0XV3LZsqTWgtPKRYvS2OZUg== 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=m/3dzJWU9K6mhMU9fPxycNxZeWEAFwpgrKqNHPG9+YY=; b=hIY2ErfchwEinsayvI9GhgntjrK0r5RC36cI7oaMGWe5f172HJsQey9ApeMLfJXHdnAzF0RjGtJ8Ft8K2KcZgV1OXYcYQqbW3JOyYxXBiT5OomIGHL2XwgEhh5EvS5BHu8z/RF0kv/N1y3lkctTcu5JyjGmKP/jhofIRonnO20fQSlFI1XLH/0tQE221CcbXdY4FAUSqJ0vxr55Bizf4IuPUSJ+7Y6BTBnBalM6oXhpvS44o0m4/yIyll/9USRjIvAj+yrOSEGuIScsSnDQ5kouePEnW9Ah2WXnIJcgxzoVdq07I/zlWgiCvee0aNR9GHQCj10ffkC2Db0s6FuoTfA== 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 HE1PR0401MB2652.eurprd04.prod.outlook.com (2603:10a6:3:83::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4628.20; Fri, 29 Oct 2021 04:41:27 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::15cd:f2b4:6acf:99af]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::15cd:f2b4:6acf:99af%6]) with mapi id 15.20.4649.015; Fri, 29 Oct 2021 04:41:27 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next v8 7/8] selftests: mptcp: add infinite map mibs check Date: Fri, 29 Oct 2021 12:40:17 +0800 Message-ID: X-Mailer: git-send-email 2.26.2 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2P15301CA0002.APCP153.PROD.OUTLOOK.COM (2603:1096:202:1::12) 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 HK2P15301CA0002.APCP153.PROD.OUTLOOK.COM (2603:1096:202:1::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.2 via Frontend Transport; Fri, 29 Oct 2021 04:41:27 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: fdebe253-ef5f-41ca-c515-08d99a965ed6 X-MS-TrafficTypeDiagnostic: HE1PR0401MB2652: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:551; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: /XlFtQj/Jdt2Pv3Xf6KQgTLIpkN6GPxmfHSVFgffhi8KgXmoWfXZZOnXyODZclCmmmjC80wtKP7sWWrahuX/zQi+q5lZMnzuBPRiYTshWqYdZKfEdaX+4E49d/VZUjRwn2ukcOa+15zc5WWTPc+C5ylSF1MIrHgXBVo7/NKtsFL4cVNq1ZNbmtCy+o5tWwXV++ogNMQc49sdh7Z7wctAW4cN4D/MwFKc+j4uVpG4w4zmYdVurIACvZG5Vx+S5dFy6PtNRuYbKdvgbg1ZH7UxvAknrcFU6om6c7ilTyJT1nMxIelBBSlJ/nqF4FI/dP3s51TI/HHdV7w3P3hg6N6zvli7EAm4ZEjFdaj3UrhCu2MpkyZ0L8gAuK4L2DNJo0/zAUBUz8GwYX3bQan16DpNS4hno84/WTDkSsLeO8dqR66NwcLgvQrf2fjP91iEcawpzsLQIX4Fghot2pSAj56e1AmfyruLWUsfQW/S6MYOxW6lpqakVy5IqPjvasxLeQolT35/U000FnEly2xVqkLMvm0Wjjb3JsMm2gMDhy2MRhKeMRVqNu3zmBj+RMhkSCukc0OHU3mXiuQVkZ3ukKVP9Qgx9bBGx3/NcVoCi7C3I5wr2Muukl5NxzjCFDiqp6aOCQE2nwBPsu0jr0KWlecb3g== 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)(508600001)(4326008)(66946007)(316002)(6496006)(55236004)(8676002)(66556008)(6916009)(6666004)(2906002)(44832011)(66476007)(86362001)(956004)(6486002)(8936002)(2616005)(107886003)(26005)(36756003)(5660300002)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?u/HcrHOCZQ3GulgIeQGF+ZgbaZaRjMc1JuTmiCyLthcrlLUGrECqqLBCWk0D?= =?us-ascii?Q?FZA2Wqlebgdw7uxndgalaJCC2eJV4l3cXwuiDz7XyUIiRPSW2QlD2o3Ip2Uj?= =?us-ascii?Q?MWdnRTJghEo2JBeXnTsn5NwRp/YmhLsOt2Bv/Idx2CTjL0Rs6rNCS7cHg38O?= =?us-ascii?Q?ymJC3OB5sCMj/QMskLnomAn2b67aRoRRKAV3az7reXL3Dha5NnuqaAmwN/x3?= =?us-ascii?Q?43j1f0algd8E2tRMm2UVVJyuviaXWgFhR3VGaGXd5DgPnzVE89F6RP2qoLnz?= =?us-ascii?Q?6Lf3/9mET7MUpxtIcaV5ntKHeTb9/FdPmpN7ysCXd7tIT2eAv0Jo+4K+4Vtf?= =?us-ascii?Q?+PCY0FKzyEoDhbsDeC+R0uC92VYU+v0HaaEAwGiNSMv4gu767zmeSdFEZcsD?= =?us-ascii?Q?1TjNjY/rQTP63rMgxDDxwztlqh2lNOAjzvkigEJXh6kxolIBHGlHRE3Emako?= =?us-ascii?Q?kbNZFs213Fh0a5ViTHuWVwSuDHgylaASKdlQ/JvsVil4FAXd91UEgJ1OqBwS?= =?us-ascii?Q?4Fnbk1ueu0RwENkZECy4CZ5MsTu9u8hkPOg8nxfIrdPfn/tLMdIo5dxfEJNU?= =?us-ascii?Q?xN+deCuRRSq+WwPHhiCfIbT3oqJDu4SvKziuc2epH3UD6RUq1eRJDWzFqAhE?= =?us-ascii?Q?1yy6XiHtYy52Vvrgd8XcMdzgCI0chFJNahJzKfjXkFVeWi8NNsjA9fwxdAi6?= =?us-ascii?Q?l8q6Abgy/g1GwlDVWOe6qy4gq1MaLvGLqxodpH8OVit+OOBWQ1nj9aeDujgF?= =?us-ascii?Q?xlbooJDypF+tDK6OcgU50wa6BSkBhgsck0AQ3I4WrTmF2k3ec8mgPBvmq9Zw?= =?us-ascii?Q?FxTVG/aF++SmeN1XOlFQMyi0hhkv80bdpRiSPl5JFuVYjMVwN0m3SQP5vnDe?= =?us-ascii?Q?6/0dFQ+YyXCzHckAWEvEGCAmn0c5fuxlxCzftrNnvmUfZW467pKOhM+TPINu?= =?us-ascii?Q?0gJD/MAjT62yylS9zHGdP9Ya837S33oXtVvQJGWq+0Z9+yFmVdJmqF1mfoo8?= =?us-ascii?Q?2zOeGxBNCsvLR0skXj9cHd/ULrS3lpHXdTsGLEVVMSE7NP3xhNTtPcfbw0eS?= =?us-ascii?Q?AbFnN1PmMYHn6/p4w0B1R9tfCtQAxkqM2tGkswKkYV8UbosjUYz1Zx8DeeWZ?= =?us-ascii?Q?cZzUYXLiV2MzZ38WclgtR96Um1a1ecUACfULSBfzL8RH/LG24RXQwh6Rup2e?= =?us-ascii?Q?+w2f1UhSk3B2rn5qbB+slJm63agS/3YvWMl8GiOXJfA1Sv23ZLACoaDLAo/o?= =?us-ascii?Q?0TR/dl31m9UXm3GzoNMv02XW/AK+GdjStmYDTLD7+tJtXME8p4A/2eqq/awl?= =?us-ascii?Q?PhO5DJLig25ZGBQgPRrHF7V0sDrzydiMlcta5UyyCsXKwXfC2QE4mlow7C1C?= =?us-ascii?Q?HoVh7YOqa9YHpLallI5ntjHzpUjVK3acLlslxq7RvCbkzYhHRxllik4aMXPt?= =?us-ascii?Q?X7CiY6AaPE4LNazT1nGwxrf7k+lPzSgUkDiTSt4RYiSO1wPlY+sVFQo2NE+5?= =?us-ascii?Q?G/hkd3PnVG/dKYlV3l1TOmwaSQRi/r1zdSIHO++gFVdQy7eEInuMbWHQuOq/?= =?us-ascii?Q?TOx4MDQbcvCoKM09G9o/R7GKfHZ1o1LHX7FcONGXVefwFqwtGjP6a70MO2s3?= =?us-ascii?Q?2dcsNdNFxm+qZ+hW4dkjCRw=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: fdebe253-ef5f-41ca-c515-08d99a965ed6 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Oct 2021 04:41:27.7579 (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: Flx6jbRrxwbMScVFomAsRMmzccEaEQXi3TeEuSevGLnjaS1a0Nyv+tAYjzoVM54MdYbMkacePZxrZpC+IYp9TA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0401MB2652 Content-Type: text/plain; charset="utf-8" This patch added a function chk_infi_nr() to check the mibs for the infinite mapping. Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_join.sh | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 7ef639a9d4a6..2684ef9c0d42 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -615,6 +615,43 @@ chk_fail_nr() fi } =20 +chk_infi_nr() +{ + local mp_infi_nr_tx=3D$1 + local mp_infi_nr_rx=3D$2 + local count + local dump_stats + + printf "%-39s %s" " " "itx" + count=3D`ip netns exec $ns2 nstat -as | grep InfiniteMapTx | awk '{print = $2}'` + [ -z "$count" ] && count=3D0 + if [ "$count" !=3D "$mp_infi_nr_tx" ]; then + echo "[fail] got $count infinite map[s] TX expected $mp_infi_nr_tx" + ret=3D1 + dump_stats=3D1 + else + echo -n "[ ok ]" + fi + + echo -n " - irx " + count=3D`ip netns exec $ns1 nstat -as | grep InfiniteMapRx | awk '{print = $2}'` + [ -z "$count" ] && count=3D0 + if [ "$count" !=3D "$mp_infi_nr_rx" ]; then + echo "[fail] got $count infinite map[s] RX expected $mp_infi_nr_rx" + ret=3D1 + dump_stats=3D1 + else + echo "[ ok ]" + fi + + if [ "${dump_stats}" =3D 1 ]; then + echo Server ns stats + ip netns exec $ns1 nstat -as | grep MPTcp + echo Client ns stats + ip netns exec $ns2 nstat -as | grep MPTcp + fi +} + chk_join_nr() { local msg=3D"$1" @@ -665,6 +702,7 @@ chk_join_nr() if [ $checksum -eq 1 ]; then chk_csum_nr chk_fail_nr 0 0 + chk_infi_nr 0 0 fi } =20 --=20 2.26.2 From nobody Fri Apr 26 00:24:25 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:956b:0:0:0:0:0 with SMTP id y98csp1148924jah; Thu, 28 Oct 2021 21:41:41 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwf3KejeLfBOEGbKYZ/EJIkRKx08243Qr0b+XmbrrxD0W7wuWBTVN2vtXypeZqjjiy94Llo X-Received: by 2002:aa7:88cd:0:b0:47c:327c:d9a4 with SMTP id k13-20020aa788cd000000b0047c327cd9a4mr8531336pff.35.1635482501277; Thu, 28 Oct 2021 21:41:41 -0700 (PDT) Return-Path: Received: from sjc.edge.kernel.org (sjc.edge.kernel.org. [147.75.69.165]) by mx.google.com with ESMTPS id u36si5962144pgl.231.2021.10.28.21.41.41 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 28 Oct 2021 21:41:41 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-2324-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=mQmUxS9J; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-2324-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.69.165 as permitted sender) smtp.mailfrom="mptcp+bounces-2324-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 CE46D3E1030 for ; Fri, 29 Oct 2021 04:41:40 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id AA7CF2C83; Fri, 29 Oct 2021 04:41:39 +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 46FA572 for ; Fri, 29 Oct 2021 04:41:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1635482496; 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=hXNM/YXN8K1PeAkM3YsTjrYAZv15tZMooEMHa/CLziQ=; b=mQmUxS9Jw92t2uRenCzIthFslhIXgsoXBOhC+d9SgEXRUyTpsuFI6pwWapVCY3gzggCmq9 M31QDSplayXkYhDbntWi+KkNPOa2GZ/1knnTRw6R9I6EWWoLiUeDQ0NYYzai1sOtGcWzJf Q552dTQJ7zKeMjX8HtynWmyHCbOUt9A= Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05lp2106.outbound.protection.outlook.com [104.47.18.106]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-10-T528rcd7OHqrXH_lVxxVGA-1; Fri, 29 Oct 2021 06:41:35 +0200 X-MC-Unique: T528rcd7OHqrXH_lVxxVGA-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EbWqRnOSvKozjMi5CFpKLQ74Ij4V2nz/8R8Gjz5T0l3Ei72ixqJiDwtO+1FY6QBZL25HSoDzrLFMSG69fJuMjMMokXG9jVMy2pu3fPD/YS2lCk4xeL95icu8yQ9tlOu0fTAAshaXEW3HQ3G0FAvBf6A3kHkId81XPNcyLdIHi6eSdKu0IRlpsd0Jz/IznkPzqdriGwbJjWsiA8o332tSRCvqv9kwwhAv+6/5Sn0yJGuUpiJIXxzjoEeVEzUI/vDBRzszvr1DzGNu5bwWmPqxuB8yQiVCU/oKWgy5FGgxIV6L7jNfOW+SlnQf7uBUYUyvd3Rf3pQPJub91Z4ogyUsPw== 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=OqEHyzgkLpnFPm+YwgANN06MLwa2C8ytrg2A5A0Ut7g=; b=lPua7bk1FYRQYqd+5vKN6F/Mue26B1ln8Z4i7XcCz5u1eFHpvDHGV7Y/gzZRRXBSUaeEIcFzVPTL9QjwhA1wUbV4PPWIaTjT1yfZWp98jA67Ntdq0FFbzqEr7mTqqG2RzfHoIxjhiUOHcVpIJhO4gbFoKoXDcAdciK6a3V6VIfzgomctcaoFmp09GvS1TC3BizeBueaOttiwHPBB1xfrwpPS+BJJYwO1kUQVz6pdGyRmi3cVe9e1F7CpoBYaXR/rHtpYuW52OLkanCTfEfKwR6dFnmyGJaoJfckPINap2V/Wg7n/XE/lxF08FL8VFJMtPbbGVJ1jIlX+p/o5OY0g8Q== 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 HE1PR0401MB2652.eurprd04.prod.outlook.com (2603:10a6:3:83::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4628.20; Fri, 29 Oct 2021 04:41:34 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::15cd:f2b4:6acf:99af]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::15cd:f2b4:6acf:99af%6]) with mapi id 15.20.4649.015; Fri, 29 Oct 2021 04:41:34 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang , Davide Caratti , Matthieu Baerts Subject: [PATCH mptcp-next v8 8/8] selftests: mptcp: add mp_fail testcases Date: Fri, 29 Oct 2021 12:40:18 +0800 Message-ID: X-Mailer: git-send-email 2.26.2 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2P15301CA0011.APCP153.PROD.OUTLOOK.COM (2603:1096:202:1::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 Received: from localhost (60.251.47.115) by HK2P15301CA0011.APCP153.PROD.OUTLOOK.COM (2603:1096:202:1::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.2 via Frontend Transport; Fri, 29 Oct 2021 04:41:33 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 14cc7c9e-9ddc-4bd7-ab32-08d99a9662d2 X-MS-TrafficTypeDiagnostic: HE1PR0401MB2652: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:449; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 9yvjSjxYXrWqdY1bW+NKgEMY37aEgPN44quP3QCHIAvtoK9yGdm/iTr0PrIcPCv6WDP5YnS1PqvMTTK4JDK51UQR5T1GNSaV6tv05mzC6Fb/aquhM1ta/ZfMpqK7i32ExYoBR75mGoC1v+wlC8CiWPmJkanHpGnihe+CvP+6e138bb8hutkTHvYPepE92Hyw7Ra3oQnU2WtWuLlSq0IjWZgnYjpu/tJfflkrcga4XZPNVVKKe5xgG3wtNxLn2tFulOHutfYecFl2FmLQoxk7Rx86Ll74dn5wQAsPBohpmpA4CdQ7/myYPoz+14XiNB3nXQ+99BjrMbm6vWoPhVhY3EfQ/iN3flJJVTpla35Z7elStoRj8E5TWnRxZn6d6KpH33wWRTlueFy7NgXiRaYdEdEeDrOgJrZnOsSgbqP8G6hRDQSO02Ll686FgozqVOu9yRS1De6yM3T7W9BQWCGIcx4jMLsAsGTwuTItzxpYJBckUFyPEdp5GT1WGR0F+hH7cXRVAUZsQ+c7QogLjHNOnNnI7dJoxuewEIcAjyvJttTxewBsWAhnTbUYBAfyqEU9dd9DttKErY51G4egO+WLaJdInj3FQfsi8SzqMP1Pz5374PqkE1n+uH86VoQ7Gl4T83W3ve/wq+DMQUo0mRo1zQ== 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)(54906003)(508600001)(4326008)(66946007)(316002)(6496006)(83380400001)(55236004)(8676002)(66556008)(6916009)(6666004)(2906002)(44832011)(66476007)(86362001)(956004)(6486002)(8936002)(2616005)(26005)(36756003)(5660300002)(186003)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Jxr6+J36mbMONs+0ZT6YsYI6BOvI8o3SrB3FrW87gQx8cU3NLtNIetVEOEfr?= =?us-ascii?Q?PvjHaHvMevOrRccyxehBb0xToVjxXvtL2Ro3xb+gG1g5O5ZmPocOVBjMweCV?= =?us-ascii?Q?6VzqcJusLATfwjTH4WK7eCCBA1TjXJo5Voi8KINXcru0o6RPKRUJR95bUbzC?= =?us-ascii?Q?H7W9yLYpV7KQupW8wXabNR0nHbDuqLSXZ7mJPVQbHrTP/yuvc/oSMfXW94Hx?= =?us-ascii?Q?3pWJfpbja9lo8hJjv1SWOGW8QRN5kAaXMq8XclD7G+kL+fdfCAv4Ek8L4kEs?= =?us-ascii?Q?chmjedCqErmaziHN6dZ7x66iIjoOS2Ez+AWHNqkZTth1wJGhtf+NvPEpdCIP?= =?us-ascii?Q?PObGZ/p54llbcOQEd+9o4n9bcxjpTNNiU/jvQPDURehLuCl7hqNfD1pFbMFL?= =?us-ascii?Q?fiR2cKzs6SLDZ8l3cLOUcx3HcFz/c+Wgg/kkqOHw+0AP0rL4mKlPDgKmgwvr?= =?us-ascii?Q?rIcsNIr5kmvem+KF0oDT7pKoY5H54e1GJQYn4mbQudQ3CZpR1kPCUGSdYgbU?= =?us-ascii?Q?meUfE39hrYsT/wMef0oT0YOcvohgy1pFBB5K2joRndG/b5fzm2TTRu0PudIv?= =?us-ascii?Q?7jq6VFINMnajD0G3iKn546Vp37rX7WGGAtZMqES1OPCVncY0pM+MDAaSQxQ1?= =?us-ascii?Q?QE3AJWlr336bP2BHKVrG31g9VKdyjz/o3k1yhHxUUHxMMOG/7pZYUFWMKys7?= =?us-ascii?Q?dwGepTQQYcsjb/Kp0AtrDFR+B2Lb8oPRSCLc8dPsUYSLWunQTNBlXdPX4PvM?= =?us-ascii?Q?k9Fr6lzARJev9gArCeS5kqb6z8ZP5cjG/+X6F6hSTqe/aeJPTI7gOnpj2OaP?= =?us-ascii?Q?m8Ei9nIPNPmDvxWx0fclDF9l/9bcLhbL5RkOgVMzx2aWkhkI+bRPWyqw1MpE?= =?us-ascii?Q?njaW+dao7y/SVM2KwIggeWNe7gT78WAjAvUwvlR1tSE0WKbNq3ZeqNLBQ6jz?= =?us-ascii?Q?tjzj6hWvPUHnHulU65UI34ntskj2aN8YwtoBWmLHiBs4ROJtgUlqjQ+ou1W8?= =?us-ascii?Q?WQTPRkV80vkdOAYMoa0oTtU25NWNkmEagKE9hUd2Z2HTKhkkJGzJ+jXTNJX7?= =?us-ascii?Q?9jHBIpr4ocvWUFeSTuFjMKR25/yXpwvCwGrs48CjptovBdx2xrUK8993cQmT?= =?us-ascii?Q?iIkPgqk/Vyf7l5lOI2dhE2cDkT29xNvLIWvWvF7d8CafFxCVswesM2kSF5em?= =?us-ascii?Q?gqhjPcnTI8AZAmJPAHr+XBQxBncpnC4XZVPrLoSOmQ663PrpON6tuY8t1KYl?= =?us-ascii?Q?tOipt8TdaU6MrlFTkgZWqrChR29nX5hO6z2mlv/9ftkD1RgV31g770TW9Q2c?= =?us-ascii?Q?OO2zo1bWyYKcoc9wHOJX5bkhvA87AaNvBwLTT9qB5izJ34pOhIrMAcKk4wL8?= =?us-ascii?Q?HDrCOU7MOvTUQt81OLchiUEmHFE5FzQpBVw8kMYSAHxF2sC74rJX2BbtuX8e?= =?us-ascii?Q?9GemFiS1T93J4bz66pW7FusOlSFcybWYg5yEbLrA1mcsfJexwwWQzfCBNn/T?= =?us-ascii?Q?pLrr8Wj+rGp0QSSXDFh1EbgnmvMBRYALLzcXt6PXReSVDDTcgeSKCh7M/Ojt?= =?us-ascii?Q?dErUJahqQYCLccNgw1OALLylRYk6lYjNhqj71Xp3ZOY9g09ryfHjCGDEqZ/d?= =?us-ascii?Q?fA+V80NJkRRXJ40KFGLueqc=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 14cc7c9e-9ddc-4bd7-ab32-08d99a9662d2 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Oct 2021 04:41:34.6545 (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: 38EyxMITZmdWTY1w+6dNvh1SyDs/wY5A/74uK8aFeiRXq39XiGqXiXcQesDO9osuiXIeIL58jFeu/fqLnL0xtw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0401MB2652 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 Suggested-by: Matthieu Baerts Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/config | 5 ++ .../testing/selftests/net/mptcp/mptcp_join.sh | 75 +++++++++++++++++-- 2 files changed, 72 insertions(+), 8 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/config b/tools/testing/selft= ests/net/mptcp/config index 0faaccd21447..f522288b2204 100644 --- a/tools/testing/selftests/net/mptcp/config +++ b/tools/testing/selftests/net/mptcp/config @@ -15,3 +15,8 @@ CONFIG_NETFILTER_XTABLES=3Dm CONFIG_NETFILTER_XT_MATCH_BPF=3Dm CONFIG_NF_TABLES_IPV4=3Dy CONFIG_NF_TABLES_IPV6=3Dy +CONFIG_NET_ACT_CSUM=3Dm +CONFIG_NET_ACT_PEDIT=3Dm +CONFIG_NET_CLS_ACT=3Dm +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..d33cb5ce0ff3 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -178,6 +178,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 +238,28 @@ link_failure() done } =20 +checksum_failure() +{ + 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 \ + action pedit munge offset 148 u32 invert \ + pipe csum tcp \ + index 100 + + while true; do + local pkt=3D$(tc -n $ns2 -j -s action show action csum index 100 | + jq '.[1].actions[0].stats.packets') + if [ $pkt -gt 0 ]; then + tc -n $ns2 qdisc del dev ns2eth$i clsact + break + fi + done +} + # $1: IP address is_v6() { @@ -371,6 +399,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 + checksum_failure ${addr_nr_ns2:5} + addr_nr_ns2=3D0 fi =20 if [ $addr_nr_ns2 -gt 0 ]; then @@ -542,6 +573,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 +586,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 +596,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 +691,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 +735,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 +1872,25 @@ fullmesh_tests() chk_add_nr 1 1 } =20 +fail_tests() +{ + # 1 subflow + reset + 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 2 0 "fail_1" fast + chk_join_nr "MP_FAIL test, 1 subflow" 0 0 0 1 1 + + # multiple subflows + reset + 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 2 0 "fail_2" fast + chk_join_nr "MP_FAIL test, multiple subflows" 2 2 2 1 +} + all_tests() { subflows_tests @@ -1853,6 +1907,7 @@ all_tests() checksum_tests deny_join_id0_tests fullmesh_tests + fail_tests } =20 usage() @@ -1872,6 +1927,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 +1963,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 +2007,9 @@ while getopts 'fsltra64bpkdmchCS' opt; do m) fullmesh_tests ;; + F) + fail_tests + ;; c) ;; C) --=20 2.26.2