From nobody Thu Sep 18 06:42:58 2025 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a05:6a06:d3:b0:4cb:58ce:be2f with SMTP id l19csp1483736pin; Tue, 31 May 2022 02:09:59 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzqTEMyj0U7tk311osUK8gtbDmT8NZqLFJb4y0+1GtqTKFha4B3zNo+qiTS7t5K/2W/SMou X-Received: by 2002:a54:4d02:0:b0:32b:558:b593 with SMTP id v2-20020a544d02000000b0032b0558b593mr11541948oix.82.1653988199351; Tue, 31 May 2022 02:09:59 -0700 (PDT) Return-Path: Received: from da.mirrors.kernel.org (da.mirrors.kernel.org. [139.178.84.19]) by mx.google.com with ESMTPS id c12-20020a9d6c8c000000b006069585671csi13085665otr.300.2022.05.31.02.09.59 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 31 May 2022 02:09:59 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-5483-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.84.19 as permitted sender) client-ip=139.178.84.19; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=mimecast20200619 header.b=gg2EyEVx; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-5483-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.84.19 as permitted sender) smtp.mailfrom="mptcp+bounces-5483-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=QUARANTINE sp=QUARANTINE 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 da.mirrors.kernel.org (Postfix) with ESMTPS id D8DAA2E09DB for ; Tue, 31 May 2022 09:09:58 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 8EAD5210F; Tue, 31 May 2022 09:09:57 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.109.102]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 639AB210B for ; Tue, 31 May 2022 09:09:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1653988193; 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=D5e9kmLCen3qW6BxWyCek/8GIY90xE2O8l4ztQ2D25E=; b=gg2EyEVxC3YQeJcRkkTk0/TAJPPJ8thZdgSDobuEOlcpPPXtkPQW15ueECinL/v/ucDVMp JrQi3zTHHd1YbEYXq2JKChAU/BXHmTUBVTHy2wMoNfkckYbux2a97P5unmMepS9S+yCmN2 i6e4MEtBTwwSOJJWaPr6o249Yt5YF2E= Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-am5eur03lp2051.outbound.protection.outlook.com [104.47.8.51]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-33-Cu_DymFWMI2NcvozVkTWNA-1; Tue, 31 May 2022 11:09:52 +0200 X-MC-Unique: Cu_DymFWMI2NcvozVkTWNA-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XXaLwI9ZEa8z1C8G/umIsxGaEpc6J9hrhmRzF0yeqNzicbtWszPXMJyngkoIfTYVBh0ASB/JGywrdjCln04NSpGErZj12qkKZ/pPgSoC6gYDcyjhKRhfuQ1VIrWGL1KZeq5mmeZ/ZrM6CqD/WwHTgsxGCVHFg/AOBljgx6hbewsYkW7e6+dpVIDo2t6Acj4IyP0r/Pg9KuRwQjB66m2ELYqA6cbH1FSQuXplW4HsgFneQ8uqtc+MvOYfzvCxlor12YMUrw/e678VLEer3qbduCu6xb/l1/uUlyzwqaFIhsVSePQpbbt2w7GoJLOYtsQXu8bWbeWb6shmUCGU/OYfuw== 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=6C+ohQ1ix2M+7gCHiC+pCz9ZvHrv/F0gHVo5Hf6hMLU=; b=IgTc0UPJJI0/D/IUq239Jzc45hBCFKoqumEcj9aDTqsHgasaMcxaagK1ZVqCCeLLnEIubsKBT2m3Yqb2bFNhwUhjRFzOptERWbH5RXXWhzD7+XVlk9tqYiWk/0eCsqNR82DsX5hGM7BCdc1rvu8FUzmsqHr1kGLoNVXOtgh3wsgIL8U1egrxNqqjH9xOcAsgYKph58ExuBQWyTfYzWJHXE1aNSO9jL5JSZAsGG0PdEAb3L1fKoSoTL3PwAH1E6tEXEzjBRj1r9pZdT4XCXfxXy+CFIX7X13OuS1ftpwUCrC7HbrqyURaw8AlnJ1vobWVLLOrSgwvq3VH53J8zcKalg== 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 AM0PR04MB4356.eurprd04.prod.outlook.com (2603:10a6:208:5c::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.19; Tue, 31 May 2022 09:09:51 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe%5]) with mapi id 15.20.5293.019; Tue, 31 May 2022 09:09:51 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next v4 01/10] Squash to "mptcp: add struct mptcp_sched_ops" Date: Tue, 31 May 2022 17:09:46 +0800 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2P153CA0030.APCP153.PROD.OUTLOOK.COM (2603:1096:4:c7::17) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 41222bcd-ae66-4a73-eb14-08da42e5519b X-MS-TrafficTypeDiagnostic: AM0PR04MB4356:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: uwMidYAF8oFLxIPBWBydttBhdSKbHPyh2Y7fqNefaguGgRFawFizKSsrhRiYlgXxdYKGUrP4BBsgXNgtB6MSSvpW5XOMisD4UwfC75NtwGMcXc0akk051Eo9aKfRZZs4sSq2oMEPuy8qNwaC7YVeDM7Hi2f7e8RnpQYD7xJiSIpdEcT72R5FDU/vsEWybVNhH1tJ/Ddt3psQCjvHH/wErko3GJykz6GsWiueNqAZbrkJuvUseky5mCQLEs19WmTkdS5Du0gIgJ5HKVfWNpm5HeNdNBCcKiRBYlYPGxqm2PA2VupO6zwHeUH/+Mw7DaNEcruN3kAG+puRPw88aXx/NWhrkZ7RUWiXe57V78iit7aQzqjRlTNekctOJnbd93/ZzaJDTU5s/xivd4qeGYSBusH1KVWPRmg6Vi5SMig4s4MlgexTRFKA+pNC1zOOaThO5x/qklcazr2uabO0JSIbFGjRvkPlOsV98Ou8naDdTO0wlUpj3tKPTcxlmg/Qmn2Fn5BrTfpdBZxDkFCu7Cwd8MwaMre074i9G3XyfzT81Opl1FS/n/pex+7u/fJpMzu2TNyXkLYDyMgrsh1YETLhOUbubyRe6HOANC/GUFbrVFR3q/lGs0/QJGHwL7jXk3LthJB69QFAwdlJzmrqGi6d8esCMMQyPwvULwkPJpkIoBI9bNHSjAW6mW6TrKVWM+KcUs5yMT46mwWVDTsU8lgQ3A== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(38100700002)(66946007)(8936002)(6666004)(36756003)(66556008)(4326008)(316002)(6916009)(66476007)(8676002)(6506007)(26005)(6486002)(2906002)(6512007)(508600001)(44832011)(186003)(5660300002)(107886003)(2616005)(86362001)(83380400001)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?FhHMN0PXg7NMONUuv+aSSAZxKk4dU/cX7tiQH/m79nJmfJ3EkI0wbvGrocTy?= =?us-ascii?Q?LR18GgbC9KTYzpP0mXr9gSKJHLEFWTdzuylmM57pbqnbmxCqc/pvFhwBAXp1?= =?us-ascii?Q?xnrBR99nztrvelpMawooNkaZxsGb4WhTEmHYm7bcOLvIYo/I7HHps750WS3f?= =?us-ascii?Q?Pz+HVPOcVPaMim+CS77tlbZ/OC8wUnaJ75jfHeICHpK2mRiovyi6EK1c79jx?= =?us-ascii?Q?gKDCUW8UpMYJCfHIoVQ6l8/kHLVlrMPho/sNX6s0lT04lZsaHAmU7ND/AMO5?= =?us-ascii?Q?SC8380Pzv6cjfDuwWO40nRnW08fNjj3V4gnDY/E7dbm4sqQ7bRPC3MifKfjp?= =?us-ascii?Q?jK10bmrRc4NeOQg/pHVWD3WS43fhMQ7s3CDI7GB3XRoFzX6YkQRoCtTLHTEP?= =?us-ascii?Q?qOxI/+71/ipffXz0e62iXCIFHT2hl2EmFf0qg4mg89EGnqwxj3HXnKdZPi6t?= =?us-ascii?Q?AYASFgbmG5O29ZzD30FXX/nrELW32/KmYjqkxYLGB5NKnNiZ2EG1MdVr2TRV?= =?us-ascii?Q?wEPRjxCyyg517lRDSlpho3rsMiaANtDK3HzBO7dNOKw6VEW5V3uFQkEmDscH?= =?us-ascii?Q?OKy2fzlnrcc2DVB3kpGGcSI8OFmcTiK0GS0Zdk/6ozDbMqjJmztRLmabRV3s?= =?us-ascii?Q?u1nuhZPnziHRFUfMZOCOEIHgTTqNMWmphuLjwFroMvyXCByuMgzRPBrlEFdN?= =?us-ascii?Q?6dXBcJpeemZF2oj3iE/f6tzfHZnclQ+2VHq2TVCtPxKTKt0J9g7CyG/5zvqv?= =?us-ascii?Q?q9DwER40a59eAOGGzKUdilP2VRJsSk5NqHOXaoBcHgfOy4M65d/lo9J04TuP?= =?us-ascii?Q?SUog/JRnw7JTixcmT5yMCJmlYa0tVhO0l+cUMtxw1sTr3uqsVRegKATLBznd?= =?us-ascii?Q?kU2nA7Ss8NLoQqagOCOXv1Y/1I9cAh3xVYqFy4DjPHG1sm86iFTiEAYwafz5?= =?us-ascii?Q?Tpl5wj4ssa5F0M9POaIA9Sgm2XVnda0Q2zELah6Nz1W6HjfR4uMyeznpEMEL?= =?us-ascii?Q?zWmalq12nEa0GNuxQBtq6l7wwZZaEIYltmQo0144e+IFAQDMBmZ1crrpaSuM?= =?us-ascii?Q?yfOs092VrsiQy8Vamm11Ez+1VFLh1eDOAlXHSs0Gm1w5/1Bl3TgRA74FCYtM?= =?us-ascii?Q?BO6b1IQSREG4zbCt7vQVFPL9CEH3c064yl+xOETcBqaiUFr9kRk24B/zJM8R?= =?us-ascii?Q?nOvUcvhN8aqzCHfUgoKTgi1ZO8PdrSaZzExA+adGclQzsQNKo4PRMfCLDmUH?= =?us-ascii?Q?wkGJZ0qBHuhwuIxxCHL1eZJknuHhIF/BsmYYaoVmrpKkhp5/1dQ5DgzHMVDz?= =?us-ascii?Q?x7yAkqOfHPF4nlzZo+5FkA92pt9udbQMi8iwtsFc3tdAtGVlE9nY5RC6c9gf?= =?us-ascii?Q?8Cith9rF2bXvMB8CWm8A495Na3eQ3dIRDnsdRKuVhf+BNyDd8EsB4SCB66o5?= =?us-ascii?Q?J2HZHhgUnZZn5ixb4X1EAEMsRhBbRT2NWKlu1Onf/k63cdA44glb7rBdoQuy?= =?us-ascii?Q?pFH6lx5PyNWjRCpkBaSKTJyfL/rd/Dwya5cEJTKgNdFFw46BVUzqQzl4A47B?= =?us-ascii?Q?K2eOgSfaWdfVwanHIFEQQnKkJicM238RTU+GnoZpALhGkw3QLsOENCn5ftbF?= =?us-ascii?Q?xW5GEpgaQyXMuSQwjJyadCd/9zPIQ8RC4F0r72POXS0sEsqZC/u3hQlDEANo?= =?us-ascii?Q?EQ+TIxES5z6NK8FVKX5xjoRqhBQZMZfvYJRr0oCVrHVEfAfJEyr2Tc2wGEln?= =?us-ascii?Q?NK9s1fEbkxb6nxOH6ONA64uAWlcZz1E=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 41222bcd-ae66-4a73-eb14-08da42e5519b X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 May 2022 09:09:51.4056 (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: RFdi+AsePVpg0zP8+1ddkFfybNc/CaMbMGQtuJ5S9ry2MTwrmEtTZ8tNp55agZNUTA3tGOxgwNGjSpHZATzmQQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB4356 Content-Type: text/plain; charset="utf-8" Use bitmap instead of sock in struct mptcp_sched_data. Please update the commit log: ''' This patch defines struct mptcp_sched_ops, which has three struct members, name, owner and list, and three function pointers, init, release and get_subflow. Add the scheduler registering, unregistering and finding functions to add, delete and find a packet scheduler on the global list mptcp_sched_list. The BPF scheduler function get_subflow() has a struct mptcp_sched_data parameter, which contains a mptcp_subflow_context array. Add a new member scheduled for mptcp_subflow_context, which will be set in the MPTCP scheduler context when the scheduler picks this subflow to send data. ''' Signed-off-by: Geliang Tang --- include/net/mptcp.h | 7 ++++--- net/mptcp/protocol.h | 1 + tools/testing/selftests/bpf/bpf_tcp_helpers.h | 11 ++++++++--- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/include/net/mptcp.h b/include/net/mptcp.h index 6456ea26e4c7..7af7fd48acc7 100644 --- a/include/net/mptcp.h +++ b/include/net/mptcp.h @@ -97,14 +97,15 @@ struct mptcp_out_options { }; =20 #define MPTCP_SCHED_NAME_MAX 16 +#define MPTCP_SUBFLOWS_MAX 8 =20 struct mptcp_sched_data { - struct sock *sock; - bool call_again; + bool reinject; + struct mptcp_subflow_context *contexts[MPTCP_SUBFLOWS_MAX]; }; =20 struct mptcp_sched_ops { - void (*get_subflow)(const struct mptcp_sock *msk, bool reinject, + void (*get_subflow)(const struct mptcp_sock *msk, struct mptcp_sched_data *data); =20 char name[MPTCP_SCHED_NAME_MAX]; diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index 8739794166d8..48c5261b7b15 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -469,6 +469,7 @@ struct mptcp_subflow_context { valid_csum_seen : 1; /* at least one csum validated */ enum mptcp_data_avail data_avail; bool mp_fail_response_expect; + bool scheduled; u32 remote_nonce; u64 thmac; u32 local_nonce; diff --git a/tools/testing/selftests/bpf/bpf_tcp_helpers.h b/tools/testing/= selftests/bpf/bpf_tcp_helpers.h index aca4e3c6ac48..a705054f38c5 100644 --- a/tools/testing/selftests/bpf/bpf_tcp_helpers.h +++ b/tools/testing/selftests/bpf/bpf_tcp_helpers.h @@ -231,10 +231,15 @@ extern __u32 tcp_slow_start(struct tcp_sock *tp, __u3= 2 acked) __ksym; extern void tcp_cong_avoid_ai(struct tcp_sock *tp, __u32 w, __u32 acked) _= _ksym; =20 #define MPTCP_SCHED_NAME_MAX 16 +#define MPTCP_SUBFLOWS_MAX 8 + +struct mptcp_subflow_context { + bool scheduled; +} __attribute__((preserve_access_index)); =20 struct mptcp_sched_data { - struct sock *sock; - bool call_again; + bool reinject; + struct mptcp_subflow_context *contexts[MPTCP_SUBFLOWS_MAX]; }; =20 struct mptcp_sched_ops { @@ -243,7 +248,7 @@ struct mptcp_sched_ops { void (*init)(const struct mptcp_sock *msk); void (*release)(const struct mptcp_sock *msk); =20 - void (*get_subflow)(const struct mptcp_sock *msk, bool reinject, + void (*get_subflow)(const struct mptcp_sock *msk, struct mptcp_sched_data *data); void *owner; }; --=20 2.34.1 From nobody Thu Sep 18 06:42:58 2025 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a05:6a06:d3:b0:4cb:58ce:be2f with SMTP id l19csp1483819pin; Tue, 31 May 2022 02:10:08 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzaLmYBfaIzuW5c9afbARp94sXeA2ltD/4mgaUP8KSPBv8ajqU2VzPG5a+TO1JR9Zdf20lr X-Received: by 2002:a63:5b0d:0:b0:3fb:9316:88ff with SMTP id p13-20020a635b0d000000b003fb931688ffmr19211985pgb.530.1653988207853; Tue, 31 May 2022 02:10:07 -0700 (PDT) Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id 12-20020a63010c000000b003fbb432d3c0si13851656pgb.643.2022.05.31.02.10.07 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 31 May 2022 02:10:07 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-5484-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=mimecast20200619 header.b=YmLe5rcQ; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-5484-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="mptcp+bounces-5484-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=QUARANTINE sp=QUARANTINE 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 sv.mirrors.kernel.org (Postfix) with ESMTPS id 74675280987 for ; Tue, 31 May 2022 09:10:07 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 59EF8210F; Tue, 31 May 2022 09:10:06 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.109.102]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E5953210B for ; Tue, 31 May 2022 09:10:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1653988199; 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=lD3YpcL/yzVcOCLcNB8pHFjVzjgYhkAYPu2g0JB+GoQ=; b=YmLe5rcQ03Gf1nzhzVtTlNgSaPPNBk70EY8TK2+Zc8OQQE6o9uwS8lsUBSjZpyQ9Eyy5yS tSAbpbRQ6wSJ+dIZugO/n8VbQYr8ImpwWLiyI+S381Ct5/juWVPBIONLRz9jZkJykTU6y8 rFVGX4aL3O/eHUOOWs7A1Z2vOFMkYh0= Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-am5eur03lp2053.outbound.protection.outlook.com [104.47.8.53]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-7-0Lb5VufSN2-CGjI_sC6EbA-1; Tue, 31 May 2022 11:09:58 +0200 X-MC-Unique: 0Lb5VufSN2-CGjI_sC6EbA-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OKdNz6kGma6Wgumoan/57DPPDPyKynYYwVbtdzo5cLHOcP4LdZS8Ee3ZAibsp05Awq5k+n48rHPAxr55gknY8j/7WPaxbOXjiFI1nGTBsF4VmvA92XBzemrMntwZpxFcgLJb9D8U4AD1VxhKNUtb+n1v85N3wu3Hgmcqb6PlAWq5FqN6/6OzSFqlwgNK48jyo6mKY4QW0UE7fkK+PG/a/i64veJtrpSby9rcGWs9+D+2wgkBPJ3yVVERdFjl/Cf7nruyyNOhV7hx3w/HGmv1YbuF9NyFdxSnurgvhdro1SOXME4u3AlyN3c7GY4kFRW5m+DGkrnG11RafiWLnSHSxA== 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=5yqfZNBp2WMEMf2q4QaPVcmDw/WsWp+7euI9Q+2M5Ys=; b=bxfruuMrRHjL0HrwyPwc3Ic6KsnQ15ADyVrT0xhqIpuqWMfC2aJIIvr6pjuntezMxf9s8LCCxYtjZ1e+cbPArCUdI+b1fLIFtEFHP+WJZJIY7QA3n5BAElDCeT7gZHW/7izrJdHpRR2IFqYRWkRO9oZvVrqOdu5V5AFWSSiqb7b8LT/oFTyFSniINJd9OE0s/LQ1CQPFQoAhq66eS3DS1gko2EgJGKrZ9bGYKN68PEFhqaNSV8bYhNddZXe6usggWxW6LNQ/+ZFWSZKTlN6P0rEI2xOx9lRnlLAr279vnAdMP2Aalba02JXqPgXcJwWiREGva9ZryVzcAKvx78sCsw== 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 AM0PR04MB4356.eurprd04.prod.outlook.com (2603:10a6:208:5c::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.19; Tue, 31 May 2022 09:09:57 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe%5]) with mapi id 15.20.5293.019; Tue, 31 May 2022 09:09:57 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next v4 02/10] Squash to "mptcp: add sched in mptcp_sock" Date: Tue, 31 May 2022 17:09:47 +0800 Message-ID: <0fde90d3ffd3f3a32f97714a1e608314baa5531b.1653987929.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2P153CA0026.APCP153.PROD.OUTLOOK.COM (2603:1096:4:c7::13) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c63ce8ff-4323-4ae9-fd25-08da42e5552c X-MS-TrafficTypeDiagnostic: AM0PR04MB4356:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: NC3qc88pTsCnJapDMUQFLYM3i/RdWudZ4wTND4B4+c/upeo6NnNCB0H2L4aQ1tktwejOzSrwQxREgQ9LSah5jLgM8QeysYQ9uDLUmQNUQhUR6WHqWe6mm6yflk9IqBJc1xAaOI1+fAHKRR8XVEbxIU2KrmK29LYFiSDZoy2j4nBBBTDRWJC7wWfaPcwPvGTO+C31Mots+6oD4OdV7dtZVRrtMZtla/jdk345hGDLHnI0xDUSqRuT2X1Vh8RfrSfMfLKl0rnAu+huXCzOIIIP7mWhzbeFCGL8Rf0nNeTOFIFIdhqZhN5Fb4vmvTKlTaLN4cy3QCY6Ob8u05sujbv+Ybqq2gVY/JJSpL894slp5I0Dflw8S8EO7BsmWEsdvH99QhDhPrSdl4DFG2V9nhwESh/Pp8kUbCKlLGltmQfPPsqN9G2n+OjtUI66ZLbCkqI/7KEf2XHQHNANoPIlrdlojim/vtx5KOrEpMpd/T23RN7HMpidYcvoAPJ33yePV2HjLl973DIoiI57jPIToqznJLTvPiW+prn5dJsqlvzX21Vx/VIo5hUAW5A3vF9/m/C6wZLky3IIxdwpYaLtyiBmZDlFh8Mx2adceIneQDb/PRUprD+QDzBRL7Xbow05K3xxFUcGkRL632rRd2x5ziPtl+Ib9txzW21EXUarGbaXMPFINzT3YRFhmfto3QeaYGSoUgxkc/CP6efeubslbodJJw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(38100700002)(66946007)(8936002)(6666004)(36756003)(66556008)(4326008)(316002)(6916009)(66476007)(8676002)(6506007)(26005)(6486002)(2906002)(4744005)(6512007)(508600001)(44832011)(186003)(5660300002)(107886003)(2616005)(86362001)(83380400001)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?D+jl33I2MFO9eO6TpxkBfv8IujBAq5mamIQU/Kr1acTIlYCskaMgjRRmzGTM?= =?us-ascii?Q?ygV0PVbWh0T2pwWVLCqXxEmxmSdStb+XYE4ehe1ferBqJk6lzLDTSExZcBD2?= =?us-ascii?Q?fUAr8aem7cGFEhMWpW5yeg8XQ/JAL0Ra5sHHtaW9OBOiCu9xD/TB8rpetaJW?= =?us-ascii?Q?/gVGKU4+SXyoPLXH87jDauYArMIU2k7/ddqVjQkY+egK49nRBi0SkGew+Ka6?= =?us-ascii?Q?Ac1ODcKgEaCGjP9nImbt3cnM/FFtrJyROyEr0mhM6h/gSbb6UyJr89AY43WY?= =?us-ascii?Q?PqDib22VEQmsUbrbj5ek54c6HqeXjdSULjwcAwy7kAUxoIB/vpZmYjorwaUs?= =?us-ascii?Q?9MUJ5ccr299xyfojCrNoWe5NORynoz7QSRPkzN4m1GMaTmP4uzknK8zmHt0W?= =?us-ascii?Q?2owa+N1y88alIv5Bru1B0K+1p6P5YO+YvS/OpO/prYAW7VLPmlhKNUtFt2CD?= =?us-ascii?Q?0TIVL5OIWzzdVUyTKUMXhF7M2myK9Q0R8ZxgbVE2YEzMh9BLsDpAfYgcdu/1?= =?us-ascii?Q?YbWNiqJDw6oxK3Ds0jYX6PxE+94umVnLl5Jdb2Blpr2HMqP+VqTr5U4pD6cR?= =?us-ascii?Q?31PdnVOqggBamlwN/vBNo4+CJibHghEv/iog40jEUyWfWfV4FSSWqFnuvxNR?= =?us-ascii?Q?k5iD+9UilavSy+qKwzlgL/9wLy4jUz//NX8pPpBCWjjTG6eMSdzDZZBXrsjA?= =?us-ascii?Q?LWyh+S5L2TGZBRRwYhdyvHmU0MCk+TDYHZTSCgFzspQCCy7FkpZ2iD3Be+lu?= =?us-ascii?Q?ILpcg+bL332bYTszeyArx/XUbrF2IiGAXXPIeSnOP7L/pAWD8Vts3nDQntCU?= =?us-ascii?Q?85OXtUXh9CTmuLP6jourRpZspcudqFJUpGDmaiSoz+d3PFh/APdDHVL2CgwT?= =?us-ascii?Q?GL6h/OtnQ7su/4WTzVtlv3PBe8fJ+hqTyeOA4O5nkCau6X0/pDq7bUgDd0KE?= =?us-ascii?Q?7EGfOjh0F5gCS5YCd88bEVgMDRNixmbAUa6yN1lgWl34DG65ZCEZwvPHCdgb?= =?us-ascii?Q?AiJpXR6koLzqcLcqyyXX0/o/Xz/kuIp8X6nfyTfccu7L5uRC8eCAP+g6OtnQ?= =?us-ascii?Q?AB+1VjINcdw0R89Gvugrjix6oxXPNqdR2vGubnWfJAfJwDsvucL5P8xsmkwY?= =?us-ascii?Q?djKqd0OZ4UUCU3dlkTH3tbGVH31nPkgap+C01JNTHyVqGdsdVRtTFs5E0NSf?= =?us-ascii?Q?kzIbWEALSc3B8vejOUwDdY/QlmLQGJpnKTBDSP18PxZPKUiTHUMe/v8NnuhT?= =?us-ascii?Q?H0vRQNaILh1KLmFHYXc6cSfKfYMVrtrvbPjywDO8EXx0myXtNlq1tmKsLdIg?= =?us-ascii?Q?ujnBiNLekpCcvt7JN3ypVaVDAsANXpjGMTen6Uv8Kh7SOnzVSq+m1T0yrfP/?= =?us-ascii?Q?YxQ+SxQiRdj7CwfSXwE3oPLavSl999+TYyOgBxPoh6wN9KdNcv2m+lTsdewa?= =?us-ascii?Q?vnfDHxSzcvY7YT4c/TXBEJc9Y0/yuXkWpuigZ7TEr8n2BhKxmusbLs6+ybc4?= =?us-ascii?Q?wxd0anPgWvHVU7C1pjRH5d74IoayLXM6HjZysHM/gVxZ7ubjZgMF9o8pRXSb?= =?us-ascii?Q?gMxCJf+VH0qdBkGQSN2Gmo38GuMpyomf/Qra5IWuDTWCLx96tjd3sli64iTx?= =?us-ascii?Q?tNNeqNY7ZG3w0e6DMKbBI/IymcO1Yxk/T48gPBYhW8xXFM7HOyGpwQXjgI5L?= =?us-ascii?Q?DDotLfKIcMD8oN5gyGS8xI4/dC1EYZIwqMe5APy2zuG98Jagm+c2p2BkQbXO?= =?us-ascii?Q?HgneKkQyOwMA79dDPa75kuH4luHV1ZY=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: c63ce8ff-4323-4ae9-fd25-08da42e5552c X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 May 2022 09:09:57.1864 (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: PUurDdMB7iAMB8/V9EEamgY+rLp8dgJ8qXk+O8ALRoDNyxusBGmdU3QTLvcNJKfYKPnSKbB5pRTNISVBVovJpQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB4356 Content-Type: text/plain; charset="utf-8" No need to export sched in bpf_tcp_helpers.h, drop it. Signed-off-by: Geliang Tang --- tools/testing/selftests/bpf/bpf_tcp_helpers.h | 1 - 1 file changed, 1 deletion(-) diff --git a/tools/testing/selftests/bpf/bpf_tcp_helpers.h b/tools/testing/= selftests/bpf/bpf_tcp_helpers.h index a705054f38c5..870deb5cf5ed 100644 --- a/tools/testing/selftests/bpf/bpf_tcp_helpers.h +++ b/tools/testing/selftests/bpf/bpf_tcp_helpers.h @@ -258,7 +258,6 @@ struct mptcp_sock { =20 __u32 token; struct sock *first; - struct mptcp_sched_ops *sched; char ca_name[TCP_CA_NAME_MAX]; } __attribute__((preserve_access_index)); =20 --=20 2.34.1 From nobody Thu Sep 18 06:42:58 2025 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a05:6a06:d3:b0:4cb:58ce:be2f with SMTP id l19csp1483929pin; Tue, 31 May 2022 02:10:18 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw47bERTAZeNlds4LD6vUmVg1vnEZtontmipWm4eFj+7B5CR1N5JAd1oY+loa0es8fVH1ut X-Received: by 2002:a17:902:b588:b0:161:64fe:af8c with SMTP id a8-20020a170902b58800b0016164feaf8cmr60484995pls.26.1653988218675; Tue, 31 May 2022 02:10:18 -0700 (PDT) Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id w5-20020a6556c5000000b003fc48964390si2908409pgs.613.2022.05.31.02.10.18 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 31 May 2022 02:10:18 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-5486-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=mimecast20200619 header.b=LmL9sVKK; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-5486-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="mptcp+bounces-5486-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=QUARANTINE sp=QUARANTINE 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 sv.mirrors.kernel.org (Postfix) with ESMTPS id 46319280A75 for ; Tue, 31 May 2022 09:10:18 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 52961210F; Tue, 31 May 2022 09:10: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.109.102]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 89D86210B for ; Tue, 31 May 2022 09:10:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1653988212; 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=6qeaeLhCS49ag5oPQUlPBw/DfNU+X0en57Oj78sWy2U=; b=LmL9sVKKjtODf9ev1ERObaIJs/GeKPkiyR2fZ35lYSg3RMClvEyVI3KaaREejkGQ3Ht0ev VZ0HTnlQzVoLvb4XDA22l+5jMsqxEGZRx2rVEb7Bkv6wfkwvbtlcil5ehHhgF3woOgg8+K jXbh1SHkIO3XdztkhQJkEDyGhUevhU4= Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-am5eur02lp2057.outbound.protection.outlook.com [104.47.4.57]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-37-DB7Cw6m-McyeNiZQd9DDvQ-1; Tue, 31 May 2022 11:10:06 +0200 X-MC-Unique: DB7Cw6m-McyeNiZQd9DDvQ-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=n23vZ4tlZKUVx8mN+NnqEC/Z/KT6QcuSVuaEgg8XQoZqKhfb+Nv6O0Cs6FZ13KclgCd+uk0HqX7wWx2A0rsJcxJeOmz9+zZviksz+R9jZyD2MPD4ZFcKn+mzSrJmdDmpbqmCtQRxeADYVvLu9Vu9j1azE1aTfZhIWlILc8cSpGAwk6X0nhM7ernqJwcqLuyWfvB7ccAg5cbLx2bLY1CqdeeWaec0Wv+gI1UZOxx3VqT00S08c16Ixhp7nXzAof5ZVn02TPRCjyJEalDk0QkhFKIKigf7sdGaG3f1yuCNk08BhNVMJRZtououS5WqOtZz19neirlpnVNJr3myD6hOVw== 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=4yO1a+YtcJ54XPUQMZ+djN76nbPAj4ZonspXA11NptY=; b=a8zpmd9qocS0e5rANap4PKG/RpStCHeiZErxwLSDrQvNLb4sIz29WgV2gdLp7jk4MHDgaYnIciFqjqDgtCC4At8XRAC8ppFIg+tHchb9bKr6FuPuC8WwF6HCMuSEUkcyHSg+PEpdVwJ+ao+M7Hc+cADq3PLpL5MuR5gGYVsSUnfKtMXcjtqC5nmfk1ToEY2DPVcG3E6F4SW5ip5LkbSBpj/L2ubOtvgc+FveJiMYO6/4U8FaR+dWP58/8OW/JS9Jw3kyIiYOWhSw2YpIFEubz+82ZSKO7kA4LiZatSuE8c9Y68d5eOOUAqJ4RrsXXG85O9iJaiYMWnjOPWawEHl0sA== 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 AM0PR04MB4356.eurprd04.prod.outlook.com (2603:10a6:208:5c::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.19; Tue, 31 May 2022 09:10:04 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe%5]) with mapi id 15.20.5293.019; Tue, 31 May 2022 09:10:04 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next v4 03/10] Squash to "mptcp: add get_subflow wrappers" Date: Tue, 31 May 2022 17:09:48 +0800 Message-ID: <38eee17dadb62fe1e21a19c875cf63e1cadb0f1f.1653987929.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR06CA0245.apcprd06.prod.outlook.com (2603:1096:4:ac::29) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 36170318-7a7d-49a7-174b-08da42e5596c X-MS-TrafficTypeDiagnostic: AM0PR04MB4356:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0X6uHCy6qzSBVb5CGL6GVBKwH+xF5EojDfEKN1ucSW2p5rgCT9BF3fszJT2f8KwO+i2KUByl1aL2lzTjactMOK6Y3IZs7+64wpvYD9Juz0bLWPBmtPmhiq+Qze+QCjtY5hudPmBOJlyR7IHd5vv4yi5giRmsEEim+fU1TQsVMLUANLQN8QwA45Nks5K7itvF1nEFf8Kv3i87ME3UnI6pzyM2X+z1lP90ak3RH5BR83SnMZVhGVHps4EoI5OfDLRFzJlH2lg/TtMGVxu+bKPqjeAsQNLnuN+K3Pc5xR4KLzxwV2hs6KVllkhBmeYuCFnK+T3uiGVNTBZN2Vg1F9mQnzR8wKyR43Wr654QM7vraXcjY1/8+nfVd3IEqh2lzUq3q29sYu1LuEf2PUzSmqo7dTGPteofZtT0I1yvjutEh7A29RzePoMVH4BzCm8XF4/MNcP2VlrWzhf58b+v5bS1TFxNjd5diz5qXawpBcadrG0QNYOnsKYW+mNkiIfNBmWa1NUlnEwx6Y8VGhTQUsI+ijh6afby0DLiUbT6C0qZdMbZA7hvkh4fddqrUCN97m5RkPhGccoY63CFjviQvWrM+uhfavxMqLq21hBwAevHYl8hNTFtgCj63kmcdgK3iNAEF4isa4xj/xb7DYHG7FzqezfL4rtRAMmPOIP78HMV5zW/i1lXX+jZhe5Vajlpf8Ncb63mFoG8u9D8IRqjC3Ubsw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(38100700002)(66946007)(8936002)(6666004)(36756003)(66556008)(4326008)(316002)(6916009)(66476007)(8676002)(6506007)(26005)(6486002)(2906002)(6512007)(508600001)(44832011)(186003)(5660300002)(107886003)(2616005)(86362001)(83380400001)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?oZlSJ6zMnsoJTRTeLrBUgM14F2x/qOQ6oGHHxjLOt0KmZWl5b3ScS16WRnOc?= =?us-ascii?Q?2cUCjh9PBpFnU9UNTO8Zc0OtvsXqWwhMqJ/m+VJU4Ur9paMo9JaXm6sAorEP?= =?us-ascii?Q?cYr9H9RjrprUj2CrQj/mI3wjMF59wZQagcC5uunMaE+TYDkqmmOoM5MWTNAZ?= =?us-ascii?Q?whWwt9GWjmUgPa16K4uB5DvUxpaZbYTOFWQKrRURkCBizNOKliiES9Eb70Ew?= =?us-ascii?Q?L31aY5qp3jeYyv1MTHBBVA/zQmFtRYH7I9nA+1kaSejvOkmjje0fG8k1fVKv?= =?us-ascii?Q?S3iofY9Ndt9NNLTL3YSp9X1UzwhH5HVYTGxV8LBTMZAmrOOXva0aOfdK64VN?= =?us-ascii?Q?V2XMlgtLovOcsBzMkLRsuSXXWeMDwWOeUkZlA4OnanK278b93APaBnPtnH0S?= =?us-ascii?Q?aSLdv/Oc/lTjzyMOmqN4VkcSwCe/g1SWGV6gB2kyG19s/WKcvl57ccL/cIjZ?= =?us-ascii?Q?xdZeRLAuIALGKfjBmOMq53SbGg76KHwFq/2PjRCrefo+2o9B0mN3LVIfhgA/?= =?us-ascii?Q?AgvqO7B73L89Mfz0/G3wUgHVZYGm1jvvJF9LzQn23hypp8WcfgvNqDL8M5CD?= =?us-ascii?Q?6ukiLC92z/rd+WDo70PuP1qIYGRWsSgGn+R4JvXsLZN0t9yebBRfXht4SlvY?= =?us-ascii?Q?ZJ1ic///ZFuVnKsasx4bXn2kWf+MaL/ZFUI3hZLTHPsC1k9LE/rHxVAHkNWI?= =?us-ascii?Q?F9c4UlBKkfvUlaBffllpANhSa5O8ca1lQSyk3p+AAuzuVjH9MrWamJKfQLdS?= =?us-ascii?Q?bw7404vfThzIbvciWN4SnvpoH3Gj6aY181Ks6E4YdN5N9kcWTjg4KsYbAmpn?= =?us-ascii?Q?CQFIxYeQVLPATkZ+304EHKbyCMZTAD0F5BLTOJ+8xRo2BuphPPsfWpaoz2lh?= =?us-ascii?Q?8priKWj9kOrWo5H08/5hUZd7QKCb96kZYZotNZSI6PgsyQBpX2SPnYxCTR4a?= =?us-ascii?Q?QKXVN3Lt1b5F3fsa3s27pkP3LtNMdIt4aDcC9YC5kbehSoBsWXEyTLoGgviE?= =?us-ascii?Q?BdvHzVzQbU5QXEj68vYO7UAydkqn5kPbRqV4i3Zob27M5q7Av9C6gpp6l/Vx?= =?us-ascii?Q?IaZerjccNkmYoqqKtfLQmdsvMBzmod1Eea8G+2xQl+dNzrqFKtsH2W0vNA53?= =?us-ascii?Q?9Y2Xe7l6ytJS+m8WcwB3Meju345WsbX05EVzZz5vHecVNoJ04mybeOWiJjWn?= =?us-ascii?Q?Y/H+m42pmmKlB8sKpvQxD/5rQbWvbxKAHhkMrfA+mfrq36+nHjxwZ+8Vu0Hf?= =?us-ascii?Q?NsD/XrONRfh7f5e9pGql/zd8b0ZuDuyRmjgAWCJGOUYQuz9MPiXeIsxcbQXc?= =?us-ascii?Q?PW5Dzx91B+95mQ56zgw90oMcQzO+aWUfpXreT30dBInnD43lri7c80mPuycI?= =?us-ascii?Q?ndb428J+krRS+qsbqXBtJSU8DIU0B7PmlyAQs30M8E0ylCnwLXKbtRJlIJUe?= =?us-ascii?Q?uFnWvxo89Fk2pgontkaag0IqyG+mYMc6xe//vhbrXNXVEvojV5+hyR4/17My?= =?us-ascii?Q?2bBfhDU1a6bPjck/KEu7d/qrfse46lP9TgyuL50iQoaQMiuewAs3tbuwy5gg?= =?us-ascii?Q?IywlGy9i18tvbGSAhI7MnX9Er4jWKlY5e7eK84DNbFrd7zlfv3dMqF1u26+F?= =?us-ascii?Q?z0BhSDR6HaW6zKJSkRLxgowzm/oFAbe4iJonnGlPEx1YXw5m6xhTgp2syk3N?= =?us-ascii?Q?OXwvsNLRP+fXjxmwHLgpQ7vr4hpXEpQcvcrMWImlFFuXP1GG8qCpTBN4x55p?= =?us-ascii?Q?n2DAeMpW8c2XD6MJNVIg7XC+hU07Dhg=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 36170318-7a7d-49a7-174b-08da42e5596c X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 May 2022 09:10:04.4358 (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: 631Sxa+hOZMHUTMYfbHMhAKkWpDrcQfdGnxwp2Kmtk7TZTl3o44r37c3pUyHFeYI4kBItXqtsNaH+F3demvHRw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB4356 Content-Type: text/plain; charset="utf-8" Please update the commit log: ''' This patch defines two new wrappers mptcp_sched_get_send() and mptcp_sched_get_retrans(), invoke get_subflow() of msk->sched in them. Use them instead of using mptcp_subflow_get_send() or mptcp_subflow_get_retrans() directly. Set the subflow pointers array in struct mptcp_sched_data before invoking get_subflow(), then it can be used in get_subflow() in the BPF contexts. Check the subflow scheduled flags to test which subflow or subflows are picked by the scheduler. ''' Signed-off-by: Geliang Tang --- net/mptcp/sched.c | 54 +++++++++++++++++++++++++++++++++++++---------- 1 file changed, 43 insertions(+), 11 deletions(-) diff --git a/net/mptcp/sched.c b/net/mptcp/sched.c index 3ceb721e6489..613b7005938c 100644 --- a/net/mptcp/sched.c +++ b/net/mptcp/sched.c @@ -88,11 +88,25 @@ void mptcp_release_sched(struct mptcp_sock *msk) bpf_module_put(sched, sched->owner); } =20 -static int mptcp_sched_data_init(struct mptcp_sock *msk, +static int mptcp_sched_data_init(struct mptcp_sock *msk, bool reinject, struct mptcp_sched_data *data) { - data->sock =3D NULL; - data->call_again =3D 0; + struct mptcp_subflow_context *subflow; + int i =3D 0; + + data->reinject =3D reinject; + + mptcp_for_each_subflow(msk, subflow) { + if (i =3D=3D MPTCP_SUBFLOWS_MAX) { + pr_warn_once("too many subflows"); + break; + } + WRITE_ONCE(subflow->scheduled, false); + data->contexts[i++] =3D subflow; + } + + for (; i < MPTCP_SUBFLOWS_MAX; i++) + data->contexts[i] =3D NULL; =20 return 0; } @@ -100,6 +114,8 @@ static int mptcp_sched_data_init(struct mptcp_sock *msk, struct sock *mptcp_sched_get_send(struct mptcp_sock *msk) { struct mptcp_sched_data data; + struct sock *ssk =3D NULL; + int i; =20 sock_owned_by_me((struct sock *)msk); =20 @@ -113,16 +129,25 @@ struct sock *mptcp_sched_get_send(struct mptcp_sock *= msk) if (!msk->sched) return mptcp_subflow_get_send(msk); =20 - mptcp_sched_data_init(msk, &data); - msk->sched->get_subflow(msk, false, &data); + mptcp_sched_data_init(msk, false, &data); + msk->sched->get_subflow(msk, &data); + + for (i =3D 0; i < MPTCP_SUBFLOWS_MAX; i++) { + if (data.contexts[i] && READ_ONCE(data.contexts[i]->scheduled)) { + ssk =3D data.contexts[i]->tcp_sock; + msk->last_snd =3D ssk; + break; + } + } =20 - msk->last_snd =3D data.sock; - return data.sock; + return ssk; } =20 struct sock *mptcp_sched_get_retrans(struct mptcp_sock *msk) { struct mptcp_sched_data data; + struct sock *ssk =3D NULL; + int i; =20 sock_owned_by_me((const struct sock *)msk); =20 @@ -133,9 +158,16 @@ struct sock *mptcp_sched_get_retrans(struct mptcp_sock= *msk) if (!msk->sched) return mptcp_subflow_get_retrans(msk); =20 - mptcp_sched_data_init(msk, &data); - msk->sched->get_subflow(msk, true, &data); + mptcp_sched_data_init(msk, true, &data); + msk->sched->get_subflow(msk, &data); + + for (i =3D 0; i < MPTCP_SUBFLOWS_MAX; i++) { + if (data.contexts[i] && READ_ONCE(data.contexts[i]->scheduled)) { + ssk =3D data.contexts[i]->tcp_sock; + msk->last_snd =3D ssk; + break; + } + } =20 - msk->last_snd =3D data.sock; - return data.sock; + return ssk; } --=20 2.34.1 From nobody Thu Sep 18 06:42:58 2025 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a05:6a06:d3:b0:4cb:58ce:be2f with SMTP id l19csp1483920pin; Tue, 31 May 2022 02:10:17 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwBX7eG1kqgzLzUpxsB9bekhTD2mb2KrdndTEOMMrbJrTRd3/GxbC0uyBMAV44ylz1NuHSr X-Received: by 2002:a05:6870:58aa:b0:f1:7483:4c8c with SMTP id be42-20020a05687058aa00b000f174834c8cmr12535841oab.202.1653988217770; Tue, 31 May 2022 02:10:17 -0700 (PDT) Return-Path: Received: from da.mirrors.kernel.org (da.mirrors.kernel.org. [2604:1380:4040:4f00::1]) by mx.google.com with ESMTPS id bq2-20020a05680823c200b0032b74c8266csi15479939oib.44.2022.05.31.02.10.17 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 31 May 2022 02:10:17 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-5485-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:4040:4f00::1 as permitted sender) client-ip=2604:1380:4040:4f00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=mimecast20200619 header.b=g+86Iw8D; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-5485-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:4040:4f00::1 as permitted sender) smtp.mailfrom="mptcp+bounces-5485-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=QUARANTINE sp=QUARANTINE 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 da.mirrors.kernel.org (Postfix) with ESMTPS id 7BAE82E09D4 for ; Tue, 31 May 2022 09:10:17 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 438E72111; Tue, 31 May 2022 09:10: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 8D1D1210F for ; Tue, 31 May 2022 09:10:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1653988212; 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=Z8RGFk7PKIVFAOWpieckyljWElcFxmCHWWGrIjbRq64=; b=g+86Iw8DtLWqHd757BbiNYtAo+HpBmhSSukEWFTwX3U/fkCXARmpDdfyW34igBBE5Wn51C ok/7WZRCp2W1Nnqc+ZKdx9Rl1PPBXvK4KEOLRUd+08lV8X6SDsETNOJoKlv+I7JzgWr8yz 9S+sPLfbpE/X6zI6R83APhtskW6ELSA= Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-ve1eur03lp2058.outbound.protection.outlook.com [104.47.9.58]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-22-k-opyaP4ObOWEOABk44hBA-1; Tue, 31 May 2022 11:10:11 +0200 X-MC-Unique: k-opyaP4ObOWEOABk44hBA-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=d6wJbDiB0ntcSlgyWnX3bR9Ur2ekydOGLU50R0jaAMxnV2g7jEO+aDlhO/9POQ1dMxj4nIijdw+w5U53QVoAjHaf02L5uN3RdgMSd8jP8sOKjDMZSjhepWOouKWA6B1mHxhMVlw+zO0PANFa6H6UimLuJ9kTWrLLwz1dKYKwoIYVGPY5BEXUcgiueEYz/Yz9UwB/qKiB18i49+yTFL3yZCf7WJ426ElSZb93oPcQfxjWmBd7LV+/whUQ6C+YgFsPaCCNMykGEyKjP95IYsGVTKMGiVypuijEPMslEEKqDXFqjZxYLFkErFoTMPOdAjjm8kDW6UWG0Ikb55DAwC/AsA== 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=K5gTcWCSYwVYLkFPl84b7uZCgL6ig6uhUNjFSjTkU+Q=; b=Benw6U3AE2WfHYQ8Xm7BMwZnC+mw6eyEZ/jVnzeNOk/ZJ5VcdtjohiYZLnI6xTF6EnN+hMO1WmC4hSjTtt/IKj03luCrnFsdoOponwc+/RVziRbqJgZ3oINi+Ia6zEaRJ9mYUCN41PzqHLl3QIV6lY2NbbC9dPAkQZHUjIinJ0NB2xwPsV+VYjKwa3YtdBRA5n1iiY+iz1PjIFnOtL4SVCc4chGDnb/oK6kbmUgkbQK4DiSMgDnQMrsbph8YWZgGFaS/96xRR4JEBrkC2F/nXWlEa5ljlqYIQRbRz/UUxiThoeTfp6bwlllTMMy5rJZ66SECWQBsEQh+vXsm+FWi7w== 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 AM0PR04MB4356.eurprd04.prod.outlook.com (2603:10a6:208:5c::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.19; Tue, 31 May 2022 09:10:10 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe%5]) with mapi id 15.20.5293.019; Tue, 31 May 2022 09:10:10 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next v4 04/10] Squash to "mptcp: add bpf_mptcp_sched_ops" Date: Tue, 31 May 2022 17:09:49 +0800 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR06CA0241.apcprd06.prod.outlook.com (2603:1096:4:ac::25) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: dcf60fb9-d4a7-4180-2958-08da42e55cfd X-MS-TrafficTypeDiagnostic: AM0PR04MB4356:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: c84XqLWJ33LKyDxXX3x6LtPRMB3yfO9OA/iNW0oSpdIq08O7pr6WJzWHA/brxqD31XJaRnAbTgsiYWwM5B4V2No7OxEMziRNUJlV4HHombD8cXDTNVk/iez1KcIcUGLCYmfisNSKJlIiUwqwJMUZ/yQl/dyTv1LeiTzPQTcqqYyU3ZyKL6RPfbIE9kkCBLSHc3IrWLEME8BMpjt1fBI+K9qUJoGiEzj/vDA+SmgVqSpcFY+YqF/vATFJkSsoTUvgN3vx1onBKSPGNc0RdcpW7+XIW4Cm4b6NGaMca9J/QR7BAjDdXQWLXofNl2ToYr7Th2ED+WhcIAB5cf6iNEzKxPyDt3lrZ+ps7TwcV7DJ0wnkIBdyUOre0Wf++DzFwhzVIYkdF6weHaU8WwCrFZ+n4AV8DXgLV21Ae5d3bbBuPMb1gtvLOH0ZZv8mQ4fdPaMW5OmFeR4U9F59Jzchxy9dVhKxU90irKE/G+kLzfNHcbjSs8ImXJpN85hbqGobbH/JLiAKTuj6zdCTWT3D910kEz5oTz9dnk6f0P1xNjePOnm+XbS2jg92isIdriiFFl2TGhfwleRVZDnqtRLV4FmOketXMDkMLlpHOsdgz25Kq17/reJXfo6FJIQLJJnYVZF0U+Yeh8cXSCtoyyzqThqGOS7bAaKSJtC0p48mc1+y3z0n5AYDf3A3CWaF0j0xwbM4 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(38100700002)(66946007)(8936002)(6666004)(36756003)(66556008)(4326008)(316002)(6916009)(66476007)(8676002)(6506007)(26005)(6486002)(2906002)(6512007)(508600001)(44832011)(186003)(5660300002)(107886003)(2616005)(86362001)(83380400001)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?665667cv83CAISBjDResyJgoE7lFkK6XwamhJHwPx+XIHTQByFL8F3YCfK24?= =?us-ascii?Q?OEpP7uOk5B97kK1NJm51Z5wg89PO+uMGxcuQkUIm+c/FGDn2ZMaMdYtcV5D0?= =?us-ascii?Q?CFo3I0+8Do1JefufS1z1igyuKdtogMXkXPglkThGTd3JfpnECqr2xKdsyWj5?= =?us-ascii?Q?xBqbhBrYtZengAmX+BTHXKeX1kVoskOZRBF6hvwKEKJNR7qx7TtQAuVbHbV6?= =?us-ascii?Q?b8a+YUjJOd8hGSOY3cTT91YLHP31Fary8jrTRdRBsULffKV048JXv96VxOw4?= =?us-ascii?Q?9QLeFsMzw8UtctoTrcTMhBO1m1J7TdA0rHBNJbKUtjQCcucYluBbwzwQyxi2?= =?us-ascii?Q?7cDq1VHwWTGzKWrBiasdE3Z9AwV2fiEUP3B6vekMe4fx5TQ8aAMw9z2rt+8X?= =?us-ascii?Q?xfYIerJZvqDyKVtQmMyCV8o8ZZEjYyZ6PBh84YVwHYX7Hp5dBK0c4peyTKMO?= =?us-ascii?Q?VV5Pq19lFIw6Gl51xLMTrnEqDmgbcbSp9ow+pITEzQb0Bl035xJwOOvbH/kJ?= =?us-ascii?Q?KEH7TswlSfFduXOHujw6jwiZicUGH90YekU3pcANfP0JFmrNDiPS+b2c3Ogb?= =?us-ascii?Q?ttbKYDLaZbjOPmTHndu/9UNij21HToZKfyMfBHM9wX7r1vkb5k01vwciZWJ6?= =?us-ascii?Q?/pUggjDfV2nI4n9vmjTXk7RtrDeXcEgnJt4WP1n28hTWCvEgMpuZOltHvPP7?= =?us-ascii?Q?Ubt2xEtA4MDEhl6IyrzNgxvMu7bwo5zvabkhanY2R+6LOpJ4XyBHzJVCvc6b?= =?us-ascii?Q?L6wXQzMHXqoJyhD14LmNvjkovvCKQd1jOzuNrSKF8HhoW8cFiiGTFsu683Ud?= =?us-ascii?Q?QKAkBX3PsRQXl/0VvDFztLG4Scg8KcSqrUYxqjh/xsaWyKq7lvhLdesKZjga?= =?us-ascii?Q?35oNFIoZk0MYm4GB9up70mzfD6RSeGRtiq6mY7bkU/AlcfECqgl6cc+a5nPm?= =?us-ascii?Q?wAzdy4WsOtgqrSaHZr10zMN8IWNNHwxZy3+p7YoaY+gl2d60Rup8E1MKzcXp?= =?us-ascii?Q?5AsFPDjhLfoCU7wT1i4yqk0SbY0t+jnnl2xpoLxiTA820cADNCCJGBPOra/m?= =?us-ascii?Q?m/Ko0C4uDpQNLQdSbzSqnhPKLQuYOiEHDfOFuCmEzLtQwWs8vfXutTo7aPoz?= =?us-ascii?Q?bsqi6gZXRFZfv8s2DA4MZiY1b9ov2rijZYJfW4L4dwAmKXpzOv5NsSTF5hpQ?= =?us-ascii?Q?srgdk5pO9e4szwaORevxY3Ptd4egzSzyQVxLhqksVGxwP8fCXpmYDdsmvv/k?= =?us-ascii?Q?Cbo7B4oBHFje0tgQxa2AytBcEwbtKJ7r/QU9Y9JbS3LBjogdfiht5j1uOBfZ?= =?us-ascii?Q?8Mht4IM0NTL9iF4yJhYP5pkWCmyeZmQIpiczTNWANZhUy74C4064xa6cjP9l?= =?us-ascii?Q?H1O52M5Pv3ydcMo8HweygCfr125cXZ12Ky8jHjtRcUKaH/d3a3PU2jmwQFch?= =?us-ascii?Q?J/bz3yZxLseJmrZFh/jUGkQ7PRbwH24Sa80s44g0sT/FOS9uFYXKgvabV9ld?= =?us-ascii?Q?WM/ed6sDodJD4YCxKsHO50tP28CjbnUZABuw1ew0TU0xdszas6DaM31ztfnh?= =?us-ascii?Q?tgotAhQ8yMKAF4KlVyeVe4hdL5fePypbJpmPvrBTtgtDYxv0G84EpdvzBAem?= =?us-ascii?Q?92/SHrw3KAFDjtstQYIJAN5MMiTL4fl0yHLKvL7pBi5+ATfaCO2QBLPFzLlM?= =?us-ascii?Q?ZKpvTHV5EJ+Mrdu40Zn+yDzXtua8J9BsAgYqPiRt1MWyo47Ss67Gdx/+wtmQ?= =?us-ascii?Q?F1Pvo6LS5R+PBmCAHGyye0bBQMhh7FY=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: dcf60fb9-d4a7-4180-2958-08da42e55cfd X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 May 2022 09:10:10.4510 (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: PTE1DNfEXlYaVqoUPTb5tHOw4swURGsjI6ZfKgSomedk2bH37/0lJlh9ZF8HesHNMqxRH7/l1t/szMcoNLLV5g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB4356 Content-Type: text/plain; charset="utf-8" Drop the access code for mptcp_sched_data. Signed-off-by: Geliang Tang --- net/mptcp/bpf.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/net/mptcp/bpf.c b/net/mptcp/bpf.c index 338146d173f4..0529e70d53b1 100644 --- a/net/mptcp/bpf.c +++ b/net/mptcp/bpf.c @@ -42,29 +42,27 @@ static int bpf_mptcp_sched_btf_struct_access(struct bpf= _verifier_log *log, { size_t end; =20 - if (atype =3D=3D BPF_READ) + if (atype =3D=3D BPF_READ) { return btf_struct_access(log, btf, t, off, size, atype, next_btf_id, flag); + } =20 if (t !=3D mptcp_sched_type) { - bpf_log(log, "only access to mptcp_sched_data is supported\n"); + bpf_log(log, "only access to mptcp_subflow_context is supported\n"); return -EACCES; } =20 switch (off) { - case offsetof(struct mptcp_sched_data, sock): - end =3D offsetofend(struct mptcp_sched_data, sock); - break; - case offsetof(struct mptcp_sched_data, call_again): - end =3D offsetofend(struct mptcp_sched_data, call_again); + case offsetof(struct mptcp_subflow_context, scheduled): + end =3D offsetofend(struct mptcp_subflow_context, scheduled); break; default: - bpf_log(log, "no write support to mptcp_sched_data at off %d\n", off); + bpf_log(log, "no write support to mptcp_subflow_context at off %d\n", of= f); return -EACCES; } =20 if (off + size > end) { - bpf_log(log, "access beyond mptcp_sched_data at off %u size %u ended at = %zu", + bpf_log(log, "access beyond mptcp_subflow_context at off %u size %u ende= d at %zu", off, size, end); return -EACCES; } @@ -144,7 +142,7 @@ static int bpf_mptcp_sched_init(struct btf *btf) { s32 type_id; =20 - type_id =3D btf_find_by_name_kind(btf, "mptcp_sched_data", + type_id =3D btf_find_by_name_kind(btf, "mptcp_subflow_context", BTF_KIND_STRUCT); if (type_id < 0) return -EINVAL; --=20 2.34.1 From nobody Thu Sep 18 06:42:58 2025 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a05:6a06:d3:b0:4cb:58ce:be2f with SMTP id l19csp1484004pin; Tue, 31 May 2022 02:10:24 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwFX6t0TX6n7iGIf8IQPOBP43X5LA8fQtqSaq1jGBwp1fMkd3eNVrSXwsCO0gWA1290Q2+r X-Received: by 2002:a05:6808:148e:b0:32b:a754:2cbf with SMTP id e14-20020a056808148e00b0032ba7542cbfmr11624258oiw.287.1653988224698; Tue, 31 May 2022 02:10:24 -0700 (PDT) Return-Path: Received: from da.mirrors.kernel.org (da.mirrors.kernel.org. [2604:1380:4040:4f00::1]) by mx.google.com with ESMTPS id u9-20020aca6009000000b003252f1c5783si11597639oib.34.2022.05.31.02.10.24 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 31 May 2022 02:10:24 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-5487-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:4040:4f00::1 as permitted sender) client-ip=2604:1380:4040:4f00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=mimecast20200619 header.b=ZurhPetK; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-5487-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:4040:4f00::1 as permitted sender) smtp.mailfrom="mptcp+bounces-5487-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=QUARANTINE sp=QUARANTINE 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 da.mirrors.kernel.org (Postfix) with ESMTPS id 7B6342E09E7 for ; Tue, 31 May 2022 09:10:24 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 16F17210F; Tue, 31 May 2022 09:10:23 +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 A4D8C210B for ; Tue, 31 May 2022 09:10:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1653988220; 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=cuD34DTemg3ytzjSRpqOMdXBBzTb9A3wwgtjNJcrl8Q=; b=ZurhPetKzYwDfhxGkC3DXAeLGTlYLyzbxm5zScA5r4JrVrHMmMV4UK9v4ASDxCg0fTfaok OmuI6UoSYIeBeIPq85yOiMYMC+2v3q+9B7Vlh/tWzFcZq5uz+egBO7W17RUwmdIIpeqg80 hrz80IdTWEg6Hb5+WZwbRilM0dFjtEI= Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-am5eur02lp2059.outbound.protection.outlook.com [104.47.4.59]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-44-uwkbJdQ8PFO5hVYTS3A7rw-2; Tue, 31 May 2022 11:10:19 +0200 X-MC-Unique: uwkbJdQ8PFO5hVYTS3A7rw-2 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bz2Ca9Cuh2PEUXSOJzUBjUqYtW9vOyF5SezG9uX6GpYaZ3XpMCZYj2z4NvNJ0Njao0KvYvekfCkCJQplnNHkESsomLGWvrN1rieyLGHDSA1YkP4IKMZBCxYjLDg3bwaVLZDfuquGEiRzg7603ijH1dFSdRmRIYaKZ/SZYVf9ekTMAU18dVrQPF3tJmW3Nlsu5U+t+BDEP16R1irBAz2d/eqUGKZcjErjrmH8CoBhYFZR3dqGmm+zwmjtant6F91lBtexuyYvcbIJGdQ3FNDiX776+D+MKjnxktRW2H1evFUM4N+RXnd4Hto7p23OUd77tR+0bRXYOp/OJVd0o9NtrA== 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=yNahJnbwaormUEeouPE3Bw39oN54wccrluSkCLoQIyI=; b=m7HDAIL+Z830UbEcuFwBbYszgNVDvLEd6651DMd30yItkKQ/1XabjK2EfcDRDMZU/IsO1ojox5R/vASGqm5Ae/qFwv9G8vzh8Sn9NK3q44NuEE5zOBMYIgrh0w6JhelvaNkXSZwri3szBIIYjkkwAukkYvyFPznmqv5ro8IOfTmw5Hpsqry3x8WCLyG7bkTWy+9t3SZY7smFRQUDTCPgEQkcG8D0zBxOEnityLzTsZJPi8wFu1r6Cf6SApSrqLtX7IKctAKr+3Wncpqkl63GPi8p/U8sWZkPT835zNQTyLkRVx3W+gGUehD4zuAH4uXnqiaWK4PK4S2UWnTpqIyizg== 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 AM0PR04MB4356.eurprd04.prod.outlook.com (2603:10a6:208:5c::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.19; Tue, 31 May 2022 09:10:18 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe%5]) with mapi id 15.20.5293.019; Tue, 31 May 2022 09:10:18 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next v4 05/10] Squash to "selftests/bpf: add bpf_first scheduler" Date: Tue, 31 May 2022 17:09:50 +0800 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR06CA0181.apcprd06.prod.outlook.com (2603:1096:4:1::13) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 203db066-a217-4bc1-51ca-08da42e5618d X-MS-TrafficTypeDiagnostic: AM0PR04MB4356:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: DKqq2eldJlhI+SGop/8rbUEQvvPCtkmpnv3j6tTTjiuLwbakQdywK6K+FVs/YUk69SshPc6HkpJCfsejH8NL1+aen85SnZ1vS+yaP9VvFmYRi3YaoUnC6uOzJfkTuX297KUibbwzEm4zzgT4T30Le8v30dqKcqx8DrXOlD1kBJroGi9g5T63OfT9dZLjvrB85PvPYphXUkkYJpJv7DCImNXQrTdmmXUjPC+4cU+u0jH5UJjpIigADrPMhmOajWaP7ZO0JUwSRfAxRJSU4Ull1Us94pNafWwCK6H4HqbEp0jJ0G4kyiKsv87Ayf5Xf3FE9xJ75bl1pJh7m5STS6W2mt6K7VQSMKxTIPhHD1iIUUzuR7Fv++7e5vRaJ+SBllRB9hWR780BU2KhGEe7sxX7k92GC3ATsxbEeCI50fw7HgQNVJaswudJ9ZQhPrUII4DclF3Nhoz866s1YXWRcoJwjn1I53Ulq7SemFbGfGV3Gw1uJwC2FOKj+I8NyhY+LpAg8FOohbjFsy2Z425MvYMiTYMSJRq22b47gEYhWpp01P7zPedpcQQncAy4LvsQiDkuybvs2vUsWMyQQaOcPuh+PBbe1qr0VKbEYLreioDzJTkm656J6EBq1oATjAlexMjejQ38v3vN8KeY8MJuPSDSTLiXFp0X2i0xTbp743818YtGDZnV60VCxw+xJkVHq0ODIGNwpGRxoSQKyNr+Kv4JUg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(38100700002)(66946007)(8936002)(6666004)(36756003)(66556008)(4326008)(316002)(6916009)(66476007)(8676002)(6506007)(26005)(6486002)(2906002)(4744005)(6512007)(508600001)(44832011)(186003)(5660300002)(107886003)(2616005)(86362001)(83380400001)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?mfVJNhKGhioenoLU9dwLYl9N+4XTx7jN9Fl8xLztHImfywWbVnF2LBUkiIsW?= =?us-ascii?Q?khWLCx2nIGKTsEeNIlmKwMi3A/Nly5SIL5iypKeCgniZ/gegExo6/Z+mh9oF?= =?us-ascii?Q?tW4jwAAlYBhnXfAqAVontEE7cWZ+D41j/0kp9beO6CyjtUMnFlFIZu45GEu/?= =?us-ascii?Q?xjuD9giuqN/QL3J7VH++ynqDhOEjD6AA04SIKofbSAmZkoKllWhgcWCbRlNo?= =?us-ascii?Q?cTUbm5863+3pwUZCSb++M9RlhBcU2oDNnU3YTTjqh61vsWuRgtIhBCEC3WNc?= =?us-ascii?Q?cZ5F6DrePJZgkh1owcmNRhC1XDlU1JYadCd1kFiiz/4v9uh5OupnxjsUPw7V?= =?us-ascii?Q?oVsWXokXRnyOQSCDbsdOvlc+7KvrW0Rst9lPZ67VvlyhMr9KISfEgq4dG7oc?= =?us-ascii?Q?BOj7CssN0JbR6MtPNzQOp57qkAFA+AWF9L273o9uzRNrXcHR20Po+QXGRbd6?= =?us-ascii?Q?2QEulbAMg8pWoY3UHcLQC/z8fJpkKE0D+L4inMYo29kmuxW5EF7tfGrV2QOa?= =?us-ascii?Q?pvmjfxf2/44OUwOk4upnCD/u6EOMMNJXm6wXkwbgLFy24KCWM7aZm0WWkZzr?= =?us-ascii?Q?xhCPwPdDjP05G+Z2VDHJt44BUe6Mc1DcWW8Y5cP86pV/WwBG2Be0x0OU/HBM?= =?us-ascii?Q?C+mqOwzu7X162PW8ov/yJJg7bCQkUgYhlK3Pv4U/YIAm8/vkKU28U4x7vE1q?= =?us-ascii?Q?tE1/VvN7GMLisPehZKEnoOUNX7os9FEB9os+UgKrU1SRQp7zwoqg4h5tTq2r?= =?us-ascii?Q?NWgK5Ru5240BNUWPyOrGk99pW6ymwc2B3S6mpO3IXdM6tw3WwFMcbKlpdm/n?= =?us-ascii?Q?6UGyahwky6MHvbKJNoW1a2MqWguWOxnEBjt67RR4qNV76mSegtIlhTS/7cx4?= =?us-ascii?Q?Ql+vIcfT4MX+pxLBgVdbceqNPRj4I0RkoWcufkXkUrT97KGqPjqp4WgzKA3b?= =?us-ascii?Q?KoOADsdqD0Emmgg4GEjkt7tDkgljR+Ep0mwX9dDS69y1K35XDdgOqz3A7mPL?= =?us-ascii?Q?aYh/fR8oc5Ger/07rwjwgDWSun2gvRBHh+BgAgZdlkhYC3d8K5NN1pR7Ehdb?= =?us-ascii?Q?BWmXWGnMj+PBECV3mbwPLQaYKYjC6Nhu3AUhtkVDP+DZA8l6tv2W0hG4KCl3?= =?us-ascii?Q?bTPMIb/W0fXUxsXFoKdQcE2QYRuKhRa/9QdLyK0f4T01yNDirIJKcWrGt9AZ?= =?us-ascii?Q?FMsaK6kbzWMEEwlTv0/w/1m9reanHFR0KyJUBb3nWm7LNRJ7BOHa3m8V8YZ4?= =?us-ascii?Q?zcIt6MeWJfgE7nLZRELZvkmnR3L5VCDHLoepfRFYfzjordm0+1OxvAzXsJNV?= =?us-ascii?Q?/xsukFtYYvfLtY5EgU5/8B8W3lavlvA5ugWfXrlOI/y7nxkiD4WrOsTepmtb?= =?us-ascii?Q?75h3lTJiotydVvUCKyUC48kNpwr/53KnA5+AvV4NJYSzzTb6kDzIjXnobJbG?= =?us-ascii?Q?guBHruTAAcWyPXj0jLPtO2sUTyhGUhw6lQk00Pdn/ubwZtsSiMnasDSH1ch8?= =?us-ascii?Q?t8b8srPxG6FXi18VDLEYrTccS2eEW7iCvkujT7iEXF1SUOfWoQPwx+T7jDxr?= =?us-ascii?Q?8nQuOkIzIwu3hWtqw+PjsN+8/kAUnC1MYcrjdKsr1S94VfN2pkodux155AMm?= =?us-ascii?Q?nov/BxMbiIjPS7wcd8xftS+tjbgNc0h4ziyao3uRsGlfkjo+/pBeIoF0DfNe?= =?us-ascii?Q?IL/8S2zzeJAW2wbTtCaOmsUlwJ3mWvEaZRmma66+G4DKrzOMhjt7ZCU8hztl?= =?us-ascii?Q?6Hevv1+dKWkxw6qAnObTkn8RaFOfewo=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 203db066-a217-4bc1-51ca-08da42e5618d X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 May 2022 09:10:17.9348 (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: K28PsoeeB0MQWi2kjwxfj64vW1ZIOt/oWkRd91Tub4ZEvjxhKgqUirN0r2KhsVr7a8Z/TlN7RdwZinFCYcjUlw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB4356 Content-Type: text/plain; charset="utf-8" Use new get_subflow API. Signed-off-by: Geliang Tang --- tools/testing/selftests/bpf/progs/mptcp_bpf_first.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/tools/testing/selftests/bpf/progs/mptcp_bpf_first.c b/tools/te= sting/selftests/bpf/progs/mptcp_bpf_first.c index fd67b5f42964..5f866f51ac70 100644 --- a/tools/testing/selftests/bpf/progs/mptcp_bpf_first.c +++ b/tools/testing/selftests/bpf/progs/mptcp_bpf_first.c @@ -17,10 +17,9 @@ void BPF_PROG(mptcp_sched_first_release, const struct mp= tcp_sock *msk) } =20 void BPF_STRUCT_OPS(bpf_first_get_subflow, const struct mptcp_sock *msk, - bool reinject, struct mptcp_sched_data *data) + struct mptcp_sched_data *data) { - data->sock =3D msk->first; - data->call_again =3D 0; + data->contexts[0]->scheduled =3D 1; } =20 SEC(".struct_ops") --=20 2.34.1 From nobody Thu Sep 18 06:42:58 2025 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a05:6a06:d3:b0:4cb:58ce:be2f with SMTP id l19csp1484087pin; Tue, 31 May 2022 02:10:31 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzqHNFlMU4035NQXxKbRwWRyqdSbsuia554QRefOyEdDDhAr6WjPmWqKWWvSU6H1tBl604q X-Received: by 2002:a05:6808:1b13:b0:32b:14d8:b04d with SMTP id bx19-20020a0568081b1300b0032b14d8b04dmr11514990oib.93.1653988231285; Tue, 31 May 2022 02:10:31 -0700 (PDT) Return-Path: Received: from da.mirrors.kernel.org (da.mirrors.kernel.org. [139.178.84.19]) by mx.google.com with ESMTPS id x11-20020a9d6d8b000000b006055300e377si13865404otp.179.2022.05.31.02.10.31 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 31 May 2022 02:10:31 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-5488-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.84.19 as permitted sender) client-ip=139.178.84.19; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=mimecast20200619 header.b=WDqMjm73; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-5488-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.84.19 as permitted sender) smtp.mailfrom="mptcp+bounces-5488-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=QUARANTINE sp=QUARANTINE 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 da.mirrors.kernel.org (Postfix) with ESMTPS id 220432E09F5 for ; Tue, 31 May 2022 09:10:31 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id A6F22210F; Tue, 31 May 2022 09:10:29 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.109.102]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0C317210B for ; Tue, 31 May 2022 09:10:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1653988226; 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=B6Eth9dsXeWY4kS3+bXuxDVlQ7Xkhzg5XatxfAJjSEI=; b=WDqMjm73nmJDLTn/e5mNr9DUfPH3qYMxuMW/43sh0Qvr+HyfYgn6/xzp/YLP4BAPkELami qLl2VWvcrcQw5mioeEm+0qL4lXkVZqHVl/nltpfwVc3dOKCcKNx60MvFeHgVx169MDvOW8 UR1OBlrb0lDbDjSqJvfHIvKeFWhXhYw= Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04lp2055.outbound.protection.outlook.com [104.47.13.55]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-13-lk6y0Mt0MVqwKB9-iNwY0A-1; Tue, 31 May 2022 11:10:25 +0200 X-MC-Unique: lk6y0Mt0MVqwKB9-iNwY0A-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=E7WwtxHocnhll5SjkXdnI0FFNNrpMOeifsG4o/cWoBhzdSHQiS+OcG/ooibwliUAUnTf4eXT2oHP27GDzR9LB+irP7CsMKKsvVO4Cb69EW0Kl4ZZEqcSRv1V0zCrWIDDPuGVOXPkbzclHelX1DoKal8eaLDXTu4dq6zRn29pCR6Wo/djS0u7keLuDRsDg2xlgvBnJd6y8sUCTnZv7b6iV2bUIDnmfqiAGd6un5pC8Bke6K0NKc4XFKYAJDKOV6qqpREnnN0l+ljcGxJRK3CNomIfJCCVmtYFowimAO1Dub/XWZK5pksCHqVJufH/qYOZL9F7Tf4Ha4vMz8k4xRrwNw== 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=2NCFrq9klNPD7YBFHVDpPdg7F64kDPE5LA0UPye3HXI=; b=G3DjukMH074f6bOi9y+IXPA/H5sz2csp4pYnqnrIZ8UrgGj5KENgSkvRAu/jmORxMlcF+FWLZ75B+ppocYck0I6UQGf8hG1G875CpDHSN+6yRz48x4utm1vvPtMZhD6KDVe4fmz4S5YVTK5mZtriATHXIGFtNZJYnKsmzd0WT5nKtgjR58rGrkOjncGIS5Xf7kmcASl6aYT1l5dsk8N2ffMK272sA3/9fyK0/mYiKXZ6Jx9Mw54qFy9n9XYULBdJvjxFExHv6sag56QoPqRCO7QD0qaQAzHAmAOU6hTJmuQN6+6AzUdd9IhKDtByJzfzQvLeS/fG1Id/WO0AMjWLNQ== 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 AM0PR04MB6434.eurprd04.prod.outlook.com (2603:10a6:208:174::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5314.12; Tue, 31 May 2022 09:10:24 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe%5]) with mapi id 15.20.5293.019; Tue, 31 May 2022 09:10:24 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next v4 06/10] Squash to "selftests/bpf: add bpf_first test" Date: Tue, 31 May 2022 17:09:51 +0800 Message-ID: <4e6d1b17a1b2384c57fc34e3b0fcb1ac8cda765c.1653987929.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR06CA0200.apcprd06.prod.outlook.com (2603:1096:4:1::32) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c94607f1-76d7-4ace-b3bd-08da42e5650d X-MS-TrafficTypeDiagnostic: AM0PR04MB6434:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3E5zn7SfiA2cF2mEk1ZLB72XezGEBpS7ICqCu+wiUIFYVuP2vLSOOtap09hML2trYegcASLa9ueMnKvi+WtDA/wHWu1v6wn/ZCpjUG4EJwtyuhA2agXkBCbPzc4FEYn/fThIud+AY+9WYLgcpyBcFVpbm9pyQffW6lhIhww/KbiH8paJ6QXM/zqluLl3PRTvv/NdReP7kNrIAtOdSqTPwhkOz8UjkS3L1BKthWiVVJ1aydl7Q61/7/D6UJr8krwmkQNQMx7rjOD46UB/7rxgPS2qSJZYHEfzCqZpgHsyPlT1EeT0eHosUUR5omo2GqYGDv68F4DQ56GgG0XBasYnaVNqjLrPPy+jXRinU5/f/G9H9ODRCq8UFoPrwHqkDsrbSwGlnx/fq4ZJvvIP+tEFECEdtcigLUDG+VatB49tJXVePNIXw5/s++rD3v9/QqcMu24VrIWPAKwxA9S4pJf4eMazjgi1DBd0kOc7sPskrJonTra1JcTHAYlh1PaU9uGTqaZX8U0L4WhtRAgSUCfZVXbXeW2zZ3ZlBU7HBpilZaH4+h06z3q9XPeZlWP++MRSAynyIT4vo5OhBMW3acciCsygabsPo0rvVSEikqsqXxKJ205ga74MpXiqlrXZjUrZkQ9qBnoZN7VrZ9Zytohg3a3PW4ah96QZhzCTXCRr9QO26eVmokUez9kawwV5udJc X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(2906002)(6666004)(6486002)(8936002)(5660300002)(508600001)(38100700002)(44832011)(107886003)(2616005)(86362001)(83380400001)(6506007)(186003)(26005)(6512007)(36756003)(316002)(8676002)(4326008)(66946007)(66476007)(66556008)(6916009)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?0yf/AhYLY4HWXz8+8eFp72oRNKVHm3iADa4uAeTPXHzrswyBFX6mVtJvMUWW?= =?us-ascii?Q?c39gAfuBmPxOCx9tguL0Al+k1Lm4K8DSa6A63oKlBg137VeSUSIxKH6i0QVx?= =?us-ascii?Q?OH2vpx9+pRDIE3UpNIoDVL+kEAU+5s9ymiKdzD9QZtkiCTyLTVlFRYx7Gg68?= =?us-ascii?Q?uikTj7U+kjXws0Is9p+SPl4YxL5lQGDwfr8VKDjSLSVnHHH3YRDZgLEIgmWz?= =?us-ascii?Q?rX4I1V7w3fV9gXDmG4pfHSKIIWchYDIY7LKOHCFR2SD5l5rsqt3MKrlYSoDw?= =?us-ascii?Q?khwtQYeockysMq2TKFbSZjRBzeLqZeNP2lmmnQZmS83f2ZcBo+WWuihJAjBp?= =?us-ascii?Q?AvpF8DWY3unYfHqbK5AUDGORwNRzm+VSSY6ERA1kOmrkKCiHBlJS70uZ30Jh?= =?us-ascii?Q?rZ15NGsZMQBLBFO9tCp5lKub0rr8/Z1IrOXkxDy9ZusRowPRRwdzI4Tu2Duq?= =?us-ascii?Q?Qnq5SOT9wH6qbsj0DWxGlMXU31EwXiJW/DCH+5dsbHZuSN5qdb8RxeShk+jC?= =?us-ascii?Q?+KkGJ4LBY+r1sAky1cjBXqZeIv5uaQRzGDEoSet+zdGM7ZpUR6zM7B7wxE8h?= =?us-ascii?Q?36Sn5Pvg3TVRpVLJoR+OpnIW/hPnEJKeU12/RInH6L0cBXcCDySasMTX/don?= =?us-ascii?Q?qHuQTCVUPx9dcJ+VIzTd97nr/i/C6aM67CBLI5S2T2lcd18mytJhaSCC4w8L?= =?us-ascii?Q?Er8nAdxoGm+66C3U52gmhgi1aOxysQme9cyTxnUUQUy6z+rKPPnWxIOEor6d?= =?us-ascii?Q?iPCjj5sjrN9EeDVp6woN+j5rllN5G9Id+Gk4Y70krolgGm0CFAFGVGGRxw8S?= =?us-ascii?Q?rC3HrVNPiToe1jcXe/9uTYrsGDgZX+nVTYvB80b8qEpW3gn4jfPBNn8my+VZ?= =?us-ascii?Q?c6Bo3rU0sIaWjfMfi2Ric0JbEZXOtu49m2/sjHhO9oqoe30mBCSPozZpej4f?= =?us-ascii?Q?LglASCu+XdwwMufkUiGf+DEetIoGS3jDSzqF9b+XfPy9bM9gDwHYWvW6M3UV?= =?us-ascii?Q?gh7bYfV5pm+xeyCFJMnlqPjHieg6KoxFNPPtdTNLka0B1jDVsGlzEQDqS2jv?= =?us-ascii?Q?2qhZC/6uqkk4zjs6cHpNMURigWzox/+UvQB1uhScodgzbjsdVgY9/vr+TUPG?= =?us-ascii?Q?2L5PiemnGeBJQ6TFXU0WSyxCO3WGjacMeDXiGmPZlzL00bZkTe8ZA8ZJ49lL?= =?us-ascii?Q?niFo4sEnnvubLGC1apQOtw4xekJA7Wad6ZiVIba6lM4vswN4YQeESQMqeaqa?= =?us-ascii?Q?twQ+C1UERSRPInJsu52PPaYSeLjMGJPOHZAXEtmtXlZrHxG9XWZfNwijnMIN?= =?us-ascii?Q?PHkhO1UsVFUgEgV5ap6tjkh9PsQW85h0U6M7n11ZNjT9UnehG6vcKs0rzhXb?= =?us-ascii?Q?56HmyvdVxsxyc5p43pNj0MmXBeXre6Cjfu91NBy3lMD+FP6Y9sF7Hkj9E3eb?= =?us-ascii?Q?3VQgUB1v5B9byDaBL77PK3D1lM3lUPBdgJWuI1m2d9JNQYATBiW1qQZpJ6x2?= =?us-ascii?Q?9lfR0qd1pjp6ZbIY+OxXpaxGaDhNK+HVUkyLQBeu0J7HW4vfkF0xfAcCaTNv?= =?us-ascii?Q?cma/ogic7kLHa/eqzE0k1fMMzJg/qHpMzyTLsOm0ns4AhBhVaecIaGlxEVz6?= =?us-ascii?Q?GF+Va10sqSeCCUu9Z0z+B2kw77CZOaF+Sljk8wFYXedKiMBNtXu0wv/Or/zA?= =?us-ascii?Q?yPlF0Vfi6A++l+HkF0n5rpHZ0fkpMZO3tTNqmUzKTw+lT2rLSzK1bxLuZWeN?= =?us-ascii?Q?J7F7nrIl0c+hmXDaLm+HsceDArIQFk8=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: c94607f1-76d7-4ace-b3bd-08da42e5650d X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 May 2022 09:10:23.9655 (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: FX07es+hrGLYOeLE8Yt9VLCzciepDyibbjq8xX0uHk4UbO2bktbCZrVKDlqyk6o2PVuTJt1rWJBDFORtn2OZcA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6434 Content-Type: text/plain; charset="utf-8" Add two helpers, add_veth() and cleanup(). Signed-off-by: Geliang Tang --- .../testing/selftests/bpf/prog_tests/mptcp.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing= /selftests/bpf/prog_tests/mptcp.c index 8e9764275b07..eaea4105728d 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -250,6 +250,20 @@ static void send_data(int lfd, int fd) PTR_ERR(thread_ret)); } =20 +static void add_veth(void) +{ + system("ip link add veth1 type veth"); + system("ip addr add 10.0.1.1/24 dev veth1"); + system("ip link set veth1 up"); +} + +static void cleanup(void) +{ + system("sysctl -qw net.mptcp.scheduler=3Ddefault"); + system("ip mptcp endpoint flush"); + system("ip link del veth1"); +} + static void test_first(void) { struct mptcp_bpf_first *first_skel; @@ -266,15 +280,18 @@ static void test_first(void) return; } =20 + add_veth(); + system("ip mptcp endpoint add 10.0.1.1 subflow"); system("sysctl -qw net.mptcp.scheduler=3Dbpf_first"); server_fd =3D start_mptcp_server(AF_INET, NULL, 0, 0); client_fd =3D connect_to_fd(server_fd, 0); =20 send_data(server_fd, client_fd); + ASSERT_GT(system("ss -MOenita | grep '10.0.1.1' | grep 'bytes_sent:'"), 0= , "ss"); =20 close(client_fd); close(server_fd); - system("sysctl -qw net.mptcp.scheduler=3Ddefault"); + cleanup(); bpf_link__destroy(link); mptcp_bpf_first__destroy(first_skel); } --=20 2.34.1 From nobody Thu Sep 18 06:42:58 2025 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a05:6a06:d3:b0:4cb:58ce:be2f with SMTP id l19csp1484160pin; Tue, 31 May 2022 02:10:37 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzwTltB1S3aUXXEN7o5XQzW/+kFgUkbGswgmup+8so1nC9X3mtNpL0umHAMbJGdjnJyRFb4 X-Received: by 2002:a17:902:e849:b0:163:df09:9082 with SMTP id t9-20020a170902e84900b00163df099082mr8971771plg.163.1653988237705; Tue, 31 May 2022 02:10:37 -0700 (PDT) Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [139.178.88.99]) by mx.google.com with ESMTPS id s7-20020aa78bc7000000b0050bb3e9c4bdsi16603230pfd.355.2022.05.31.02.10.37 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 31 May 2022 02:10:37 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-5489-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.88.99 as permitted sender) client-ip=139.178.88.99; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=mimecast20200619 header.b=nEReuYu8; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-5489-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.88.99 as permitted sender) smtp.mailfrom="mptcp+bounces-5489-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=QUARANTINE sp=QUARANTINE 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 sv.mirrors.kernel.org (Postfix) with ESMTPS id 5FED7280A7A for ; Tue, 31 May 2022 09:10:37 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 582FC210F; Tue, 31 May 2022 09:10:36 +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 9C9BB210B for ; Tue, 31 May 2022 09:10:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1653988232; 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=pYublUNBZ+A7i4qIxc4G3H8J0EBhnuQTjtoIdIrGdrU=; b=nEReuYu8Rx2QFMzaq0zLQsA7a7qmyh+2T6/ccdqt+DzRrHg56xlxDejM50pWJEEE17JT3R 9ybi3KiF8hvV9Ocn0ptJTvugUQemEDPBZ5YTN93KDI8HNncU/vuGz0wc1nE1g8n4EKi1F5 RjiGdbuqVZAjGqKPu7YfIhweuVs0k4E= Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04lp2054.outbound.protection.outlook.com [104.47.13.54]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-36-LZFJbNkbNIiayLagufXQCA-1; Tue, 31 May 2022 11:10:31 +0200 X-MC-Unique: LZFJbNkbNIiayLagufXQCA-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TssWd1N5edOHlP3Mpv/DLqrpWdG9qmPPE0nD+37jf4uVa/oopfHhkD5PoeQtNy9BqxMhIqS/BksEpCvl70aEAsSHxxfEEnx8kWOXUW6iCXvAAh14MwDyczNvgaWYDTD4+3/YYMnomYbXf8QyzwPSJGdj0SjFl4eHGXTG1Tpb/6pNCuXfqlaxxnxvbjWc0r5nzBb2IiCGjWEFKUJ6OBw3WfX/X8k3Boa8CnEHPQIfM6gpBBPZ7xvNJ5vptve821+NZUqEhwXX4TFHpzoxON9Sr/k7jUxUBz8MUVDKPq2IQ/48G6UgMXsmSocW40fasA8ufvpNCnUC5AqWO2bH0Lt4Hw== 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=5cGSjXHpU3qkUSuwr5iWOW2osejYDiANCbsOgUU5uK8=; b=mmWrH4p0PhnHtThY/RMmo1hpQIc5MoueuI9qgIYIZS0oLzTGseo0wCbPHbIorld2ThLiNANLsKJj+uGvzvh6Dh1/csXPCZyDXM+AOMFQSt6Smdg3PLiCmThy0d3k13ELJOIc/K7v02nGnEYyHyMY1e2ABN5Adoi/z2+cEnylkQd4wIDw8k1DAulJ6L9BNmMOPs/CF0tUs5KZGS/ggUDaAJoeHB9H2SZ0DMYQLrzGJIKYxrC0gkqTK1PcpPx3GJhmCbNRbfL6WI0539LxWTsVJiM2rqeuqC/ko3KMTgWcSc33wGLSxHtjbFWLeNr4B+jVjFyceLGL/Up/R8aX3mfIDg== 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 AM0PR04MB6434.eurprd04.prod.outlook.com (2603:10a6:208:174::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5314.12; Tue, 31 May 2022 09:10:30 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe%5]) with mapi id 15.20.5293.019; Tue, 31 May 2022 09:10:30 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next v4 07/10] selftests/bpf: add bpf_bkup scheduler Date: Tue, 31 May 2022 17:09:52 +0800 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR06CA0194.apcprd06.prod.outlook.com (2603:1096:4:1::26) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: bb44dc73-b21a-4e85-e88f-08da42e568e3 X-MS-TrafficTypeDiagnostic: AM0PR04MB6434:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: SWD3+AAnjyLc5w7AMAzzO3RPkkovrnF7gc35VxTBL8I8GnFqZnq7BkLcGhu389HsJPyjEX5F8rG4ZARMZymeAnCRppk/6iSmcwCxmnpP5XX+5JQWwU7RtAu1FE4+vl/Ne4wd2LSkFaOSSYh0bdHmZNZCPt41S6cZQNxcpVFQU3mZ4RlgbJkQQsHy7QZZulbV1n73Ij5TYaKBv9doXlX/bgVTSznyoEgijmCy32KrEVhSeDFG37SOihg0y1GDO2LlRGnUjh1cdBW6xIgy1AYF7cnRHQVO6FAiANJgaS2jK2kd0PXo0eBnjhmJq1EX+sTZnJ2edMH8iJCBKquN+wNQEPmAte/jhXAJNpnppmFoEDXcfvTxKe+FYCpr/JzjWAcE9JR/8EHCS7USu3jjTSiDIXO/8ddb3BmCBz6BDrisOoXvdTCQDA0YZcy26rosWc1nytV9Cur7ivmQ8FdqdM6Qjhr51XkM7/3/tOrVl9Es4jHMoGJnRfU7uuZ8oVa1vmJZ2BG1Cn6BnP1mCQq7hnt5NhRZnbvznb+ZgDMjvbhk6YvKR9gCyGTJJxdCvnKOmB2JbGhAPGOTwDniPHRa9gF25JfVzglxYUy52H61ru1C6RlHbO4MpY3dXgM5APPjrlms762Eu56Pv+uHTXTQ84J/2lPK64H2G3WTSi+IAq3HctVWGFjya2CLcw03Obp2xpHg9wP5J7ENdIPPzrVfM6Ipgg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(2906002)(6666004)(6486002)(8936002)(5660300002)(508600001)(38100700002)(44832011)(107886003)(2616005)(86362001)(83380400001)(6506007)(186003)(26005)(6512007)(36756003)(316002)(8676002)(4326008)(66946007)(66476007)(66556008)(6916009)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?T/J6VGZx2F7IjDX9C356xP18aWicD1v/JcMtiVsIQlDoyiqmddJK0jU+vbHC?= =?us-ascii?Q?naEe+ob2Cn1HMTRIrQz7yYOL5F7UH0yzUB3u46C6V6MG+rFbv4JUT558POlm?= =?us-ascii?Q?vt4TIFMBryA8UcWIY7e/DANggmz9M0aytHQzEACS7Tp9Gyqbbax+dcY6Ku5C?= =?us-ascii?Q?S7EYEjOJ1RZEBWz9lfqzK/QmLecgTb8eBiFH86GI2naZbKEXisnRy//F/Qb8?= =?us-ascii?Q?JkYT4jWZTlp1OoaaG1eU7O1mIAK9YD6xHvw3w3A7FGbejFL9Zq3If1j50m3+?= =?us-ascii?Q?iDP7du6f3lelsAX4/C/jcWCAnkHM1A0t+ue8ETvRUH19vX9HnQMHFzubrpC2?= =?us-ascii?Q?p6cTT305vroTKJE3Je8s+0ixUVIezs4EL0yItGN3okmjYCVtz+xKvEbNjoPa?= =?us-ascii?Q?XBs6Z/ivVAVOSzsDsn5EXEMLYU9ENMI1oGtuytbzMemKx5OmoGGAOhdca1Wc?= =?us-ascii?Q?iPAshZIGS7d/i4ie+vAWl5u7YGZFhtMKPxzajMA3dzrdK7GfVyvwr0J1CqBl?= =?us-ascii?Q?prdjDjU5wZ99m6vbTNiFfo15qPfgI9m83sWI6snT2JWcrRnp6sVNKfZC96GU?= =?us-ascii?Q?u3uWNDSRPDy3+aQhaP5dtASKE0pn6vCFcqrIjzu4AApLjA+s4n3s4ynb7DVU?= =?us-ascii?Q?TdF5TSiCHZsuf3G/F6HCQYRh9zK2BMvOseQkza+HYeoCy7SfknL7YLHLWM3Y?= =?us-ascii?Q?CpLnkYVTyuC5U8FrQwJ+/zVoEfC+z+pHNU4W3BiPqRDJP5TcSZDQbBe1wGn2?= =?us-ascii?Q?vKLE6Zscr8JCfUZruTpUY15RTs2CwA1LLzqra5av5Y9Ypc1Ej8MUy/84JBdC?= =?us-ascii?Q?8ij8oF5oWhpPekEa5j3Gd5Ig2z8H/tGrMq6Z91e3wviJFYed6ve+P2uz4HM2?= =?us-ascii?Q?pZctjbJMhcgS2OBWjQAInH8QusXdnCFokHSyK6vN8sBzhgJwCmNiTFXTWrfV?= =?us-ascii?Q?TE0NfZ4BVZ/V0R7VkQ4iqE6xf08ZujVFhJDIbHzK52p+x0ZUMDA4p0xC4Zh+?= =?us-ascii?Q?6T0AQbBtjJR/aBRHjsiWkeqqHVtq0s3bEjiQvnLYME41gILJrrHO9bP9tGYg?= =?us-ascii?Q?R15Bz0PPDd9yMvPm2BidAzAZ73PGJaIWUQni1xETtr/jdGNfDHkNtJzcaVKn?= =?us-ascii?Q?0ID/jp0rwYqrbsvo/iqNaLdOQzolx+fAzd1eGzngN9vrUG12p+zlE6u8LLh6?= =?us-ascii?Q?tM+qAbqHGbdaNvQGLNc1/7X33DcYi/7pMM42ezL09JeeqclZMaiaLpiCP58D?= =?us-ascii?Q?fbINOoh3LFB3bpOOjg9BgL3ihv8VorOMGAGGfND55lKIrXXGs7QHhSONQQmj?= =?us-ascii?Q?1b/LCTkM0kPg4OdImfWa8cJMN+bQLpdG1KWJIanzlzw3E6m5aMFcJ6rJ2lTf?= =?us-ascii?Q?JvQ1jTVR9p36nArpKiw3tN0xnQbG2SlDAN2p9u18FcolFfIZZoE8GfdzdXZw?= =?us-ascii?Q?0kIu/8vyjTFN5PaeS0HZcNBB3T6Q/VNcSOqVpPu+01e3Hb2XW5AmGPjyHqsB?= =?us-ascii?Q?3fW8mK8NJzNZacrH6JLqUL/gYECL3qrYSgp2SoGz6Bk5diuG0wIH88QExSGY?= =?us-ascii?Q?6hrv5e42kljHf6/8cR4JV2MK+Kt1I0QVh2bqCOSHpmg5tzV3aDDKsLr7AyCw?= =?us-ascii?Q?MQ6IJ3nBRh/CHNxzk1lxPcIEL/YHQw9+EEbZPt8tOMySljGWijd4SOTVuz05?= =?us-ascii?Q?GO6J16MeyAyehXvGmb3uEjDTQC3Z36dr0St+Xst0VzbhUE6nMvYnHxo0LJ84?= =?us-ascii?Q?OMe2pDrNbXJuPBGJ5xIM1+H6Uv7RX6A=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: bb44dc73-b21a-4e85-e88f-08da42e568e3 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 May 2022 09:10:30.4181 (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: pMbDeuIrJ0NUqQmtD7LqBw4IitSpRGK+s1eI0Cq9pdYPNqPhULiZDUh1nYXm6LN6EGfaUdkuK5qpsOaaitcRwg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6434 Content-Type: text/plain; charset="utf-8" This patch implements the backup flag test scheduler, named bpf_bkup, which picks the first non-backup subflow to send data. Signed-off-by: Geliang Tang --- tools/testing/selftests/bpf/bpf_tcp_helpers.h | 2 + .../selftests/bpf/progs/mptcp_bpf_bkup.c | 43 +++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 tools/testing/selftests/bpf/progs/mptcp_bpf_bkup.c diff --git a/tools/testing/selftests/bpf/bpf_tcp_helpers.h b/tools/testing/= selftests/bpf/bpf_tcp_helpers.h index 870deb5cf5ed..6fa496a65bef 100644 --- a/tools/testing/selftests/bpf/bpf_tcp_helpers.h +++ b/tools/testing/selftests/bpf/bpf_tcp_helpers.h @@ -234,6 +234,8 @@ extern void tcp_cong_avoid_ai(struct tcp_sock *tp, __u3= 2 w, __u32 acked) __ksym; #define MPTCP_SUBFLOWS_MAX 8 =20 struct mptcp_subflow_context { + __u32 padding : 12, + backup : 1; bool scheduled; } __attribute__((preserve_access_index)); =20 diff --git a/tools/testing/selftests/bpf/progs/mptcp_bpf_bkup.c b/tools/tes= ting/selftests/bpf/progs/mptcp_bpf_bkup.c new file mode 100644 index 000000000000..ad2b2b4de8a5 --- /dev/null +++ b/tools/testing/selftests/bpf/progs/mptcp_bpf_bkup.c @@ -0,0 +1,43 @@ +// SPDX-License-Identifier: GPL-2.0 +/* Copyright (c) 2022, SUSE. */ + +#include +#include "bpf_tcp_helpers.h" + +char _license[] SEC("license") =3D "GPL"; + +SEC("struct_ops/mptcp_sched_bkup_init") +void BPF_PROG(mptcp_sched_bkup_init, const struct mptcp_sock *msk) +{ +} + +SEC("struct_ops/mptcp_sched_bkup_release") +void BPF_PROG(mptcp_sched_bkup_release, const struct mptcp_sock *msk) +{ +} + +void BPF_STRUCT_OPS(bpf_bkup_get_subflow, const struct mptcp_sock *msk, + struct mptcp_sched_data *data) +{ + int nr =3D 0; + + for (int i =3D 0; i < MPTCP_SUBFLOWS_MAX; i++) { + if (!data->contexts[i]) + break; + + if (!data->contexts[i]->backup) { + nr =3D i; + break; + } + } + + data->contexts[nr]->scheduled =3D 1; +} + +SEC(".struct_ops") +struct mptcp_sched_ops bkup =3D { + .init =3D (void *)mptcp_sched_bkup_init, + .release =3D (void *)mptcp_sched_bkup_release, + .get_subflow =3D (void *)bpf_bkup_get_subflow, + .name =3D "bpf_bkup", +}; --=20 2.34.1 From nobody Thu Sep 18 06:42:58 2025 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a05:6a06:d3:b0:4cb:58ce:be2f with SMTP id l19csp1484204pin; Tue, 31 May 2022 02:10:43 -0700 (PDT) X-Google-Smtp-Source: ABdhPJynANvHh0Yzj+nvSTPOLseYeFXnpPrmAuPnIqjc1tCNv4bJEHE78iA8RPbI2GyhWCIBNQVG X-Received: by 2002:a05:6870:796:b0:da:3d6a:101d with SMTP id en22-20020a056870079600b000da3d6a101dmr12464825oab.20.1653988243723; Tue, 31 May 2022 02:10:43 -0700 (PDT) Return-Path: Received: from da.mirrors.kernel.org (da.mirrors.kernel.org. [139.178.84.19]) by mx.google.com with ESMTPS id f39-20020a9d2c2a000000b005cb2fc1387bsi12255441otb.247.2022.05.31.02.10.43 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 31 May 2022 02:10:43 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-5490-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.84.19 as permitted sender) client-ip=139.178.84.19; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=mimecast20200619 header.b=elhTihtW; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-5490-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.84.19 as permitted sender) smtp.mailfrom="mptcp+bounces-5490-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=QUARANTINE sp=QUARANTINE 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 da.mirrors.kernel.org (Postfix) with ESMTPS id 7929D2E09F1 for ; Tue, 31 May 2022 09:10:43 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 1B059210F; Tue, 31 May 2022 09:10:42 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.109.102]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A3FBE210B for ; Tue, 31 May 2022 09:10:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1653988239; 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=kPpItPyHr8AOCZ7aCBte/4Si/gXU9rjNGCX4IwloFuM=; b=elhTihtW8gJWaSixuQfCnGlrSVKJSDu/gIbhP+HwFoexfUvVfwZuziJyEnuI3A+93RtSLH 8gW1dVV5nDPrDscc2rzU5tk07mTx+seTcGerbrCd1VoUXXQxSgIY3MR6VPz3IlwI2RZ713 gLwNlkmS83nPAwow6qMON+PWUAHo86U= Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04lp2057.outbound.protection.outlook.com [104.47.13.57]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-9-sypY5npgMOOHrDIReKvWjA-2; Tue, 31 May 2022 11:10:38 +0200 X-MC-Unique: sypY5npgMOOHrDIReKvWjA-2 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fp24A/Kw8INqljj4UPOnS0a+lxKGdUp0ci+Y7qD8cTJn3wawr+eG6TEh9HIrTDKPSOsaFJcHfyjVL8ddyh7qO+lWvMwQebKML5/UwPyzM3KjVFS14aVPVeE+tRdIBuWXzSn4wCjunwp5UKtyGVS1jz0iZquMELRGDr9xMHkmjjY6nd1HG0hbQqT+n7hRXrC7Scy63eYcGm8CzfVgFiCAE3YBTTpfxaYXagMjZhcn1ev3z7U/mZ2WdhfqY8SqK4VGFtg7qjgeE8coI4DR0VlWzscv3WNzqMGh3zDihRykY0gfNI5TfgdEb/ohiw9Ro97GtimjSsFjjn1b9rCUQrO0xA== 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=Ael+io80MwquXOhtY74KR1TipgQJZGlW9Li+R0twraE=; b=nXW1PGFzzJCLk4blZSj3YLrVwS+qnEN5Ak090rHf1ACmwAM6hwpnR7W/ipvJdQdKiMsI5amtKX3HrMgvuya7SRIo1vxYnKTtA0wFGm6VIhy+cxwWRIubsdmBSHG9DND78BoGrJotiM8XlIcQjvysfdJ2yHfGK8fw5uD1Lll3qx9yxdvsdJE6gRbFrD41TaofNJNtucGCDVo2W632JsaFp5L6XqeqcRJ/OljS8ADSlaHLlL+KJYJSCUiXGmjDS+rV+pL3kP3icNG3ZLngpNtTB5dpbT9MrDkRyH3p4PSQvX2nLdqc5UhGsn02Xgib1pkiOUrvm/0Cc4sov1C3ykSwig== 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 AM0PR04MB6434.eurprd04.prod.outlook.com (2603:10a6:208:174::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5314.12; Tue, 31 May 2022 09:10:36 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe%5]) with mapi id 15.20.5293.019; Tue, 31 May 2022 09:10:36 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next v4 08/10] selftests/bpf: add bpf_backup test Date: Tue, 31 May 2022 17:09:53 +0800 Message-ID: <9037c9679144745dde14866e1f975d221df90f94.1653987929.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2P153CA0049.APCP153.PROD.OUTLOOK.COM (2603:1096:4:c6::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 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1dcbfdae-d45f-4a1e-5add-08da42e56c96 X-MS-TrafficTypeDiagnostic: AM0PR04MB6434:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: mmPHn6v5SX3VBPoHn1+wdIQh7BVifsp45aVx/tbuc4X5L05kAgglyata6GN0EGOl0f5y7NZxa/J96zjMQxcf3LUKyoPPtrWsuAwS0O4U2f09oWD6rgJlsnbf4+gIyYgdi8279Wd/3E2rIo3+nPW9zOeYdzY3SOHxShqxS6U1et3ukNF0O4yfJArfmz2/7oyN0xUOaRcwD7PnF84JcuKxjixcQLXPQq9pHX2CBscA7CFmpjsh7CNDNNIAByu4qgiffuNBUgNPZZKgSfC0E44cqjBZEdrwaXsoD06G+4bZ0DgLMP0p30PQPFweYKds/YnBwRZu9RVn9svBW4s8y6n1SauqJAYOjgZOkMvGObZY/Fal12GcwkRFpyKs5Jrcn8yHYHowgnzkYNVVCrA2nOkVQd6TZfYf8+8mDn+b4iNT/iCvUxjNte1hlr9mVH/RVHwBMcfIrPJaqOC2JUiLlsIlyw339MTDD4o7n/JJotIE7eYjnZlbRYR29/9d9Ja2Z1WmonrmN12yFwtjhgFmZBYT7/RG4tDK3VnC1eStoF5zJZ1cebl5/iw82+lFi2Uhl8jV5BoJorgxs1Okdb7J+yk46kkC63IO1UCbEVkjY7Z9xoEgFNx+3G8mJt51KLh1URQ/Z+085jM+uqRZYPoqZ8s356X8Ivh/aRGim3ZN8aJwfsMwzAUa/I4CyI7wCoHPM+dI X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(2906002)(6666004)(6486002)(8936002)(5660300002)(508600001)(38100700002)(44832011)(107886003)(2616005)(86362001)(83380400001)(6506007)(186003)(26005)(6512007)(36756003)(316002)(8676002)(4326008)(66946007)(66476007)(66556008)(6916009)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?EWSDAl8JcIPWavCRgI6lHOMEeuu3rcS7RKA+2EVROUjxgF9pmXWCBIByb4iI?= =?us-ascii?Q?bsFALcrunS7UrM0qleOWNgqvJ0Vem5iTAr3XG8XOeS90bWMEmalBmk/pmQkU?= =?us-ascii?Q?nBHf8bJe0X3JN9mA9+0jF8JYQX9XzTox0ZeeiW4ddbEOje7eHY7dpRoBIBQE?= =?us-ascii?Q?3yb9MNrmlciQRB0HpN0wnp5iaHFtGE1hnJ5w1FkZRtVkxCLo6ha0JxiqHpXG?= =?us-ascii?Q?ptMjtZ6+sOOqS2nHXFEwpy18CLKY9K5eq3bHrziqXakLMvwDl4BONFcevuqJ?= =?us-ascii?Q?L1DiToNBiFiL6MvkHyZbUOVNJnvXkq8sU7BN6tJdfO4q2wBdFJdMj64XBSU3?= =?us-ascii?Q?FW/BHVylNND+YWb3nfc9mOPid2kk9Aj1MqGvRv7sdcvK45p4n3WqRSgDdXzk?= =?us-ascii?Q?aGfdfBaWzSjPlkZmN2BJE/VZUe+ujNfS+S+inqewdnsCGQXj+o7mV4IycZjD?= =?us-ascii?Q?ai//3HaRq3dyCMm+4gD4WhwbE1329xbagJl6XhtHJTsKp+yYyY6siD1rjACj?= =?us-ascii?Q?EwvJ9zGJm367iJjtKjKfIZAaytbENRKTPm+qNxE4q62P/eSwxJDx+h4Luthn?= =?us-ascii?Q?dV6DNsMu/AsFPdkTr+SIfGSLUdlp5EzSRflTS88pyXb/fOmtVvYsWDqlsUyx?= =?us-ascii?Q?jU6HlnEVJ+3JY7mQpdlW3+GOhZ3Bj0xsWrCpylZ0EEJkUJOsdq6mDoleeyH6?= =?us-ascii?Q?sBBEXsoUeaomF9KV85EL2BO0QyBumTTQ6WxBN5+uQC7jdhdRnCW1Xaw8VBxi?= =?us-ascii?Q?MsOrlkNNOPygd71ZaGN39HLQP6MuJlLAAswuTL5x/eylGGgNPTLWMcO8cD8J?= =?us-ascii?Q?hF3XBNMK9qkrbTD2eK6FVJ3ytquyyhneLghTNXNbZDxoun+aiTzWRsiZndwM?= =?us-ascii?Q?lHy+53Ev+mYd4qZEe6ZT+DR2pamtodK40WNZqsbhlZBkw8FJ9qDAv3wHb9CF?= =?us-ascii?Q?2PFIwyQsOTST4EWf7zNRuVcW+IiDD2C7/I4uRcVqzXVXG2KtidJ1aOYsrcN3?= =?us-ascii?Q?LA6g4AkNoyOYGz88TxYu69IiRtq0lnj3RaGjIQGEq07NQ7HOi249z4jxW7DD?= =?us-ascii?Q?lJz4uZoSJdMke4Gk9AkyHNIzbSXBaMH+h/HSGD8MhfHfNRvRSFVYPAz0uirY?= =?us-ascii?Q?4FL4CEXmT//qjh/TkSoB+ALwFfiLBTPXQI72XvH69JQAikepAWcrHjoLZlMl?= =?us-ascii?Q?6c94rDncZH6M2RgNc8MQnGQpmkNVtj/oaiTXpg8JPi55YmaFHfRCrQhh36+2?= =?us-ascii?Q?jSAIKtIX185gwcXgJ17jGWtklnZ8H6wNAdEBJppxZMH85mft8g2uBtnJQ1Bp?= =?us-ascii?Q?fWTL8P23Xc/SdbuxfytExL02M4TiuX4pOQPJDBNWa8QkZJiUf6ee4mQyE8Eg?= =?us-ascii?Q?/K98NCmtbhNeMYTJGLc3Mzsypl5w4fRP3nJOrQyjhDIIB/6JKFL7bdhWWawN?= =?us-ascii?Q?n++MkAtY6uEvUNNMZk+PTozf8hw8UDUp7ExnC6bVWGUuVWQ3e/K6E6bPHK21?= =?us-ascii?Q?Ll2S9VXLUtas4dsOxORMegAi1OwnK9SPc7yF5ufy4W7ErU34WQrJB4jBHsoM?= =?us-ascii?Q?U9CxDtKvIfWKVhRluGBdZG6zKGSm69jEGBPme7zmrqgXQHZWc1FJMB8KK3Qc?= =?us-ascii?Q?563w4tqh0hCyTvQy1ptsE+fMpmmXenL29l7ycOZGQcxXDlGqS39h4ecDQ0SE?= =?us-ascii?Q?YJxwrQGGDQBC3hNSswW27roVHTvStq+Zxyp77sUk+LhLRPUCp0XgTqXQnyLJ?= =?us-ascii?Q?hFxxVDsCVfQLFNqGpK2eC3fkOkO+Y4Q=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1dcbfdae-d45f-4a1e-5add-08da42e56c96 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 May 2022 09:10:36.6051 (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: eXRPGH3cxphERKESZ5uKNazZvDPXCSLEKSw7s4GVC1WKPMaBBdeaWPjLAv+Qm4V4KiuVBCnNlI0yaXO+MDGY7A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6434 Content-Type: text/plain; charset="utf-8" This patch adds the backup BPF MPTCP scheduler test. Use sysctl to set net.mptcp.scheduler to use this sched. Add a veth net device to simulate the multiple addresses case. Use 'ip mptcp endpoint' command to add this new endpoint to PM netlink with backup flag. Signed-off-by: Geliang Tang --- .../testing/selftests/bpf/prog_tests/mptcp.c | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing= /selftests/bpf/prog_tests/mptcp.c index eaea4105728d..f3c73cd2c786 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -7,6 +7,7 @@ #include "network_helpers.h" #include "mptcp_sock.skel.h" #include "mptcp_bpf_first.skel.h" +#include "mptcp_bpf_bkup.skel.h" =20 #ifndef TCP_CA_NAME_MAX #define TCP_CA_NAME_MAX 16 @@ -296,10 +297,44 @@ static void test_first(void) mptcp_bpf_first__destroy(first_skel); } =20 +static void test_bkup(void) +{ + struct mptcp_bpf_bkup *bkup_skel; + int server_fd, client_fd; + struct bpf_link *link; + + bkup_skel =3D mptcp_bpf_bkup__open_and_load(); + if (!ASSERT_OK_PTR(bkup_skel, "bpf_bkup__open_and_load")) + return; + + link =3D bpf_map__attach_struct_ops(bkup_skel->maps.bkup); + if (!ASSERT_OK_PTR(link, "bpf_map__attach_struct_ops")) { + mptcp_bpf_bkup__destroy(bkup_skel); + return; + } + + add_veth(); + system("ip mptcp endpoint add 10.0.1.1 subflow backup"); + system("sysctl -qw net.mptcp.scheduler=3Dbpf_bkup"); + server_fd =3D start_mptcp_server(AF_INET, NULL, 0, 0); + client_fd =3D connect_to_fd(server_fd, 0); + + send_data(server_fd, client_fd); + ASSERT_GT(system("ss -MOenita | grep '10.0.1.1' | grep 'bytes_sent:'"), 0= , "ss"); + + close(client_fd); + close(server_fd); + cleanup(); + bpf_link__destroy(link); + mptcp_bpf_bkup__destroy(bkup_skel); +} + void test_mptcp(void) { if (test__start_subtest("base")) test_base(); if (test__start_subtest("first")) test_first(); + if (test__start_subtest("bkup")) + test_bkup(); } --=20 2.34.1 From nobody Thu Sep 18 06:42:58 2025 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a05:6a06:d3:b0:4cb:58ce:be2f with SMTP id l19csp1484257pin; Tue, 31 May 2022 02:10:49 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw/aTYwNE2Z6ZhwMPfmRzQ1vUvdUqjLBYiZibQJ0j/X7x/Vp7CteZCnFmMt2b0KhM2trWrZ X-Received: by 2002:a63:e905:0:b0:3fa:ec8c:9013 with SMTP id i5-20020a63e905000000b003faec8c9013mr24412089pgh.599.1653988249328; Tue, 31 May 2022 02:10:49 -0700 (PDT) Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id h4-20020a056a00230400b004fa3a8e000csi19852083pfh.195.2022.05.31.02.10.49 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 31 May 2022 02:10:49 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-5491-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=mimecast20200619 header.b=AWP6DdWC; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-5491-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="mptcp+bounces-5491-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=QUARANTINE sp=QUARANTINE 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 sv.mirrors.kernel.org (Postfix) with ESMTPS id F1CD3280A84 for ; Tue, 31 May 2022 09:10:48 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 0EEA3210F; Tue, 31 May 2022 09:10:48 +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 2B2EC210B for ; Tue, 31 May 2022 09:10:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1653988244; 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=POnbnWuA2JpW18vt2j7lxtwvfRkJCXnWq2ZsnUQDhj8=; b=AWP6DdWC6wYUCVJ8E+SSuFB8flz/qGvYb99Wy7YaSklJTktsItzwI3/Hi/AHe6wb99l9AX wDn4FzEsVFS8tJn4/YIT+DrJUe16ghCc1ps+Q3adlvxXAXXqaWe2hMr0pUzIh8CKFvd8rk 5oGUd4cZYTW0XO0rYGBrJxhM6lXUiXc= Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04lp2056.outbound.protection.outlook.com [104.47.13.56]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-28-CVOIYptKMl-mGVm_AAGPcg-2; Tue, 31 May 2022 11:10:43 +0200 X-MC-Unique: CVOIYptKMl-mGVm_AAGPcg-2 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SqxGTZavv9CRNJTF1G4tRsri/gG7hAA3iIDiVQjmUC8PycBk8KgJ191MmmIJGqApResqfBAbk/kGrX0AyrquLJBKRIxFroCzd9V9jqR/qvzzf4t238vQrfmSi1URQ962K2tDANeDleW9ERWM+8b7Dq6llmqM4bfeZ0CsEVBIntE5yFDk5eAyqINDsmqnqLAwtBV2qfjXWCPkrjeZ0NleWe57a4fI2k9TKvs2dytdLSbbmHFDvasbIes4eIuUTFmZlVq5TXRXmFEMv6a8vFdQd2fkhiTNPgVhjL4GpqcLIs5Mk5LXaFUwsc3Qt/fLcgSFLUvSaCXMYwGA9i8aTvqOAA== 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=aD96GYkHjWpnzZzoi+2wezF/lvZ30SDHa4Xu4fmbWX0=; b=NIEWBFzlYmGFJR3Rvp8lRewL/QtUTnzQRK62y/iRe2a8pGvRIuX+6+hfCYHcS2FSI87KUYAbeSsUF8jxLVT2m9FvJjMMHGk+pew9vR2Y2LNAjnoupE9uEIl4hmXNt6bY0+wo61qWV0MV4hgwmfpqzvjp2R0ZEdHvNHXyDvTZTHLQoo71WNfOmN4TinWseUmFDc/C6KmrcfCLSQ6Lx6jlhz4H0XZr2H4HZd9vsOf/Ubp9+UfTHhe2RNZ8oJjqzfZcRVY9ant3JQbBLowTVGEBO9W+Gqn7kQoe6fWrzy6epl0Kk/NNec+Qm/N3K4O/Y1Cd9319ZFVegHS4jUs15W2Gkw== 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 AM0PR04MB6434.eurprd04.prod.outlook.com (2603:10a6:208:174::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5314.12; Tue, 31 May 2022 09:10:42 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe%5]) with mapi id 15.20.5293.019; Tue, 31 May 2022 09:10:42 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next v4 09/10] selftests/bpf: add bpf_rr scheduler Date: Tue, 31 May 2022 17:09:54 +0800 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2P153CA0039.APCP153.PROD.OUTLOOK.COM (2603:1096:4:c6::8) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 70f944c6-85c7-43e1-8157-08da42e5701b X-MS-TrafficTypeDiagnostic: AM0PR04MB6434:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: +WChmg01rHBkGQ544CXCDDYAuwCYIicKlNODcWg3NokuolBhmATuq/oWGfPE+CPymAlf/7Jyv1ftDBGLGC3y5IKahIxYBFXW2kt4kajXSYQRYdQ5gmcYUOUHyZN9gGN5bcGPoRbaxpQsGJFlMkipu4GoU1WxJTyzUtUEUVs3PJ8EoF/Hxr9sJNV326lVt2sBWNyqX1QZbmdNq4x8oozY1w8nluy4BziF6nnASxFbUjCwLfPCdjy8cbANAK3BKJwxOUxHfc8I0WGajH58OLtGk34fAYS7qen5U0hJpBXpLW08ahb/spwWKK1sbVkDl48gI2O2mlPvNTvVM2X3kzillFNXzAGbbOV/dcCRUFJKQbWQxXX5yxv0kuZNhOLHoyf3D1SBS8v39sjf5H75w9Jqf9vtAkK/krlHDsU1ufEZYPM5iYNYXwtQ0+QFtE64yjVCtxwAFA1T8ZaYF9bdY9GWPfx2IMNKvOMlWhcI8uWRdAauG5rtN/pTl8xRKtjiforY+njVnF+P+OjgA/C9nr72VbHjdHCAldu+NqlAuWlWlroQ0zVSnwvuJVa7WEyDsPLKsuGxv0dU07a3aaRJ46667E27w4XxPZMPbiiXC14mEZmcLIjuaBiCokUbq7nPer1RBLuM5IRTgix2mnCJt0OFp6lZpJHd6cWhIU/I3B+gBFqaRd42lxVMHKYG/G5tLanf196+O0ONQsg7NNM7hMshIQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(2906002)(6666004)(6486002)(8936002)(5660300002)(508600001)(38100700002)(44832011)(107886003)(2616005)(86362001)(83380400001)(6506007)(186003)(26005)(6512007)(36756003)(316002)(8676002)(4326008)(66946007)(66476007)(66556008)(6916009)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?a4DD/jBfOeON4yKZOEUXK8mbmE0YC+T3ZW0UH9cvNojiUdRcYMgkb1kDdC1J?= =?us-ascii?Q?x30F9HfvMSRd9jFM0SAgdRY21ltorKuYwR0UYkudx1/UbR+GgYxsSwXMa3bf?= =?us-ascii?Q?qfKwli14PAkNVKppdCavcx9b12UhK0tGbImf09ihpQnPpvSoVa1Vs7kFf0+R?= =?us-ascii?Q?ru0DDblLi0ggRBVU1lcW3JEuuaVZwf7uZ7OKYDMZCpzqjuS08Kt5YecKB7iy?= =?us-ascii?Q?mzNLiH4c+bULYTW+VwdWq80pLIkE/3S9s2r6+vLLx+3OlH0vnGE9FWgJzIRC?= =?us-ascii?Q?YQ7o32gDv+VIwwXKim3wPm6jAqcaJMBOTTdNlrG22G2xij10SOj2fv63NLe4?= =?us-ascii?Q?jjCJaZ2zm2TAilTq2U45I6V4BWGhGLebBMXaEFeBHJxGsKE2SI4cnMochI3v?= =?us-ascii?Q?ZfUlhQQCMAAH/+8rLYJIthDbo5/1cabCrOCNcWiGKVLyfdh/gQNCAcNFdpNh?= =?us-ascii?Q?qOOygm0izR8ZCDp1LQzLrPIyTC8XUb2tk0XguGByauzUoiRPZ+FQ7nAtISug?= =?us-ascii?Q?uYBKNO+yPZMy1335vBj7Fe8vSwiv/wI1C9gVFmF4O54D0zLh/Lo8w6cjHteU?= =?us-ascii?Q?bBgRYwhmeEGZLs9MtJ1KUu0E8poZxi7O15BJx0N+NWTP/pdLyWSojzTzfdU7?= =?us-ascii?Q?9eoILQLhCDMAm6SIM0qFKG3/QdWX53Y/sjXBmg0omxpr/t67K8+sCuLwowS1?= =?us-ascii?Q?prWH9DfcV6kGh5+4fTPZ2IVhKPDf2YyoOEjzGHnBQVvepxLdTEUpxZXimIL6?= =?us-ascii?Q?vse2VdWW75GE4Szh3YgVvQNrYvZKgym1ol/2cYvAId3XxNDeh9EFT/BaB0Kx?= =?us-ascii?Q?Gc6VrrHYaZ8SJLFdWYHGd9aEE+vBZH40QAR05Mmmyo55KLLxiz6e8dxuBLGi?= =?us-ascii?Q?8FVI7MAebj7A0IMXJf7QgL8dRYuvQdgQFJ8nFF4eFPnERYSR3gkf801mTP9N?= =?us-ascii?Q?SckgSMcKua+zFSJCCWz5YUEvYRYOkjKJH0DHJ3fJnQpZ0jr3MAgO+v0+Kolr?= =?us-ascii?Q?zMjVr0vu9I61BamVQoZsH8LRFLLQiD4GZd8ZCF+A9Vf70Ifvr0z8ZI3a25G/?= =?us-ascii?Q?bbRSIkyXLhIqZD/ng410DbGtIufAr1mLaT/EzhAendaS23NYP5WdVnWaA1uc?= =?us-ascii?Q?GRCop9bi9Ye+a9nkkC+V6X4IIbU1zD6NyUaIQpbjKhP7LOMVklQQwnOaFyNO?= =?us-ascii?Q?TCAxrIYYQKjL+jW9FxORWe9+kSoj2VNimFBHDN77X8llkIYtn+MeFAXSIV+l?= =?us-ascii?Q?Yuw/xT1fO894RgkTbcP3liHIFEJorh80F2sKBLg9xI+tVktKYF2h0xaRBU3R?= =?us-ascii?Q?8RHL/NWALLHX7+ZvzzdmjV3WIF0GYBSPrUxLklWb1xLkJBzOfweG6PnT46NU?= =?us-ascii?Q?ftp2KiyiyQfSGPYQ6ywlumkGxKeF59CHiDL9gsst6fhkBVUmJbfo7G45iHMN?= =?us-ascii?Q?lBtEcB45t3dlXFI8vQNCuJ+2XxMBp69+VWaP4zKCNU+yuu2U+EJnKHFkf9uA?= =?us-ascii?Q?JzsZYU4xGPjLId0i8VlYNTPO7qcN6u5PqgfghZI828x8IiFlYgUpovckLWnf?= =?us-ascii?Q?atYJuZ/KSe4zPhps9x9PZ0ATFPsxrY8xtj7bJLZk+AWxzPvxqkUuaY2Uxsxq?= =?us-ascii?Q?8PEO2bg8JH3ofMULNE8F8qEgYIUDDpgnpntOriaoarTboM6SIQjaYYGm2plx?= =?us-ascii?Q?IQe5saTKIe59mGkfNs+8ipgRWz77mqMX/KpGNRGEhZl+d1nZ/1QQVJyRXbth?= =?us-ascii?Q?fg3ad4JVAWBNiiT40hEb3Qn2elX0SI8=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 70f944c6-85c7-43e1-8157-08da42e5701b X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 May 2022 09:10:42.5109 (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: X2DFw8ZnB+Ejkcq0SGBephEs3HxVCEK7FdbzYkJZBkMYhRJtLH1jDHpKHRZIRaKR5PvGAMO/eV2G2qzAkC9YXA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6434 Content-Type: text/plain; charset="utf-8" This patch implements the round-robin BPF MPTCP scheduler, named bpf_rr, which always picks the next available subflow to send data. If no such next subflow available, picks the first one. Signed-off-by: Geliang Tang --- tools/testing/selftests/bpf/bpf_tcp_helpers.h | 2 + .../selftests/bpf/progs/mptcp_bpf_rr.c | 46 +++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 tools/testing/selftests/bpf/progs/mptcp_bpf_rr.c diff --git a/tools/testing/selftests/bpf/bpf_tcp_helpers.h b/tools/testing/= selftests/bpf/bpf_tcp_helpers.h index 6fa496a65bef..462bf6ca2dda 100644 --- a/tools/testing/selftests/bpf/bpf_tcp_helpers.h +++ b/tools/testing/selftests/bpf/bpf_tcp_helpers.h @@ -237,6 +237,7 @@ struct mptcp_subflow_context { __u32 padding : 12, backup : 1; bool scheduled; + struct sock *tcp_sock; /* tcp sk backpointer */ } __attribute__((preserve_access_index)); =20 struct mptcp_sched_data { @@ -258,6 +259,7 @@ struct mptcp_sched_ops { struct mptcp_sock { struct inet_connection_sock sk; =20 + struct sock *last_snd; __u32 token; struct sock *first; char ca_name[TCP_CA_NAME_MAX]; diff --git a/tools/testing/selftests/bpf/progs/mptcp_bpf_rr.c b/tools/testi= ng/selftests/bpf/progs/mptcp_bpf_rr.c new file mode 100644 index 000000000000..03c1032bc31a --- /dev/null +++ b/tools/testing/selftests/bpf/progs/mptcp_bpf_rr.c @@ -0,0 +1,46 @@ +// SPDX-License-Identifier: GPL-2.0 +/* Copyright (c) 2022, SUSE. */ + +#include +#include "bpf_tcp_helpers.h" + +char _license[] SEC("license") =3D "GPL"; + +SEC("struct_ops/mptcp_sched_rr_init") +void BPF_PROG(mptcp_sched_rr_init, const struct mptcp_sock *msk) +{ +} + +SEC("struct_ops/mptcp_sched_rr_release") +void BPF_PROG(mptcp_sched_rr_release, const struct mptcp_sock *msk) +{ +} + +void BPF_STRUCT_OPS(bpf_rr_get_subflow, const struct mptcp_sock *msk, + struct mptcp_sched_data *data) +{ + int nr =3D 0; + + for (int i =3D 0; i < MPTCP_SUBFLOWS_MAX; i++) { + if (!msk->last_snd || !data->contexts[i]) + break; + + if (data->contexts[i]->tcp_sock =3D=3D msk->last_snd) { + if (i + 1 =3D=3D MPTCP_SUBFLOWS_MAX || !data->contexts[i + 1]) + break; + + nr =3D i + 1; + break; + } + } + + data->contexts[nr]->scheduled =3D 1; +} + +SEC(".struct_ops") +struct mptcp_sched_ops rr =3D { + .init =3D (void *)mptcp_sched_rr_init, + .release =3D (void *)mptcp_sched_rr_release, + .get_subflow =3D (void *)bpf_rr_get_subflow, + .name =3D "bpf_rr", +}; --=20 2.34.1 From nobody Thu Sep 18 06:42:58 2025 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a05:6a06:d3:b0:4cb:58ce:be2f with SMTP id l19csp1484328pin; Tue, 31 May 2022 02:10:58 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwyjwNt+C5Pk/bGS++E7zxy5s0bvCf5uKi4HjexH3qIPmxe0RZu31oZVj7RzqfP/DEq+QLf X-Received: by 2002:a05:6808:1995:b0:32b:af5:ff25 with SMTP id bj21-20020a056808199500b0032b0af5ff25mr11653159oib.114.1653988258852; Tue, 31 May 2022 02:10:58 -0700 (PDT) Return-Path: Received: from da.mirrors.kernel.org (da.mirrors.kernel.org. [2604:1380:4040:4f00::1]) by mx.google.com with ESMTPS id e21-20020a056808149500b0032afbd2d660si15640710oiw.31.2022.05.31.02.10.58 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 31 May 2022 02:10:58 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-5492-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:4040:4f00::1 as permitted sender) client-ip=2604:1380:4040:4f00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=mimecast20200619 header.b=VLPlqFDP; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-5492-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:4040:4f00::1 as permitted sender) smtp.mailfrom="mptcp+bounces-5492-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=QUARANTINE sp=QUARANTINE 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 da.mirrors.kernel.org (Postfix) with ESMTPS id 9EE9F2E09DA for ; Tue, 31 May 2022 09:10:58 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 69EB5210F; Tue, 31 May 2022 09:10:57 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.109.102]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F2808210B for ; Tue, 31 May 2022 09:10:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1653988254; 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=ekEk93sHIKC/NZYCmtxEDy6vUlHdJCjlMSlRzvIl9yA=; b=VLPlqFDP1oYqwIRxymVxZZxgrgQHcJBGYJ+rAw3ZdQK6SI+p7RNjaif6PcDSn9IcW6DUq9 Bomm3g8bMjyKkjy2nQJ6e6Uj0ciYV2NhHYsB8ho2uMKpEj1ud134pSY5gesgDeLrbAGd2y lish9EjYyhWeghRQHehjohcXOC2t694= Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04lp2059.outbound.protection.outlook.com [104.47.13.59]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-17-PVCyApF_MjeMh8JIXe3wjw-1; Tue, 31 May 2022 11:10:52 +0200 X-MC-Unique: PVCyApF_MjeMh8JIXe3wjw-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DrcPV2HwPpw4CQM8PfLFgAfoFTOApT+5t18FOke7ZvXdZw/5EA1L1sFyv0L9vvZjNAwwKwUnJ6h6UO3CdpAsJSt5hEvDEdnLPOfAa8Hz3WjycNoGUX0S7WjNlCTin53EPlH7/5pUKj5v6ErZf9lsAHxcOEZwVyb1GA/IlINjPAfLCKsmh3HPgtIrOU4+9y7A/+fiI5gZepky42nPdBubtUmuCjx3ORASwsBjOZQtwLOsMYmid4ZWMOP+cr00psJeL1L36+8zGjSaYbzjyvq6kADneFSu/nISha56CHddrg10d3VCAmM+AslCn63JcNPqJmD2LYufPFsaAgoG2OwpfQ== 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=FfsYULIiL64ICc3RDDsnoenxiJnqTPNwALZt3Syzhr0=; b=l6CvhCjAPe3jIRn50VRymzLA5pNM+3q6YxNd76U1EXwwjebGO0f7ZJrViNw2vL8ccS2ItGK8Bh9hBDTBJDUMn+USMQ3Eo6tpmK2LKa5EJZFSJgvtEa7pLMZfBlt6B9tcfGnIXEREQEFZBrZWcA+xOsRVApUzxcVok0MMk8mAIdHpD3GpCwZ8Zb5Jr1XiMcthkIyMC76WwpZ/eevSLOV7yjHS777zaqOT4/UrKNPaQI37qMb/LhMO8HJNtKcrVFl8HkE1VnxV+9DDg0ncWskmRpL+/JREtHu09Nv+0TpdxpSf1qk2ebbzkK0VgpHojW7JIDaLm11TwrWJ4XHIBHTW6g== 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 AM0PR04MB6434.eurprd04.prod.outlook.com (2603:10a6:208:174::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5314.12; Tue, 31 May 2022 09:10:51 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe%5]) with mapi id 15.20.5293.019; Tue, 31 May 2022 09:10:49 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next v4 10/10] selftests/bpf: add bpf_rr test Date: Tue, 31 May 2022 17:09:55 +0800 Message-ID: <31935db8f3291afbea6e5dc057f63032ed6f259a.1653987929.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SGBP274CA0016.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:b0::28) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3ed9a086-c438-493c-28de-08da42e57426 X-MS-TrafficTypeDiagnostic: AM0PR04MB6434:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ojg+f+7KIFPhyBnq/wBLpR3VicK/uM1jrlBPtctrMYGDPUvcqdn3Q6sXvGSHJVc5iJKJ+KZ+1jm5zxLDWCtv2eEE5F8YIL2spM/lGUQTE0hrSFJPsW0Y3GyA3JvO0xwt6ggIW9BttVYqG6Y2YG3mlomdnD/Kq4G0tAaealgOmxMj2H/d93EMiCIy21oTV13aWkbgxLDPUwmR8GtWxMSR37Ni2lwAirEthdAV8mwej+SgoBdH+VI9B5CTfeRL83UNz2vcOfViz/EfGL9/sSl0Bej9M+DTKcqxf4D6ynb5q0B5DlUFNYW4QuQ9bMsQCeXmoFn28wMRNePstgWjHadKM08O6YY9v5ll4psx2f3xAWXxpmdOa6iL7R7BlRHKk0whC6eDGSYvoqyK8tz2CEMF9pxixLtFV105ubVWZPkAZI12i0oC3Er9sqVC8dA6APuMtBPQA6sR0ltCb+jctuDbJKHZCiX9db2dxem+OhxLVxfEJABbxOV39kJVVxrMktlArOj6daMR3OYh1SKoWBpg20RGi/Y6Ms2gdKW87Koiw9CE6KncQXYO0fsdvwstC0GiShGqkzRkmE+fmna2+VgzxZWvxsDNZn4xaXox5fDNJJfMcs4m4GLv10CGc3Q9j1Xs5k4O5ReJdHBzPvAB36mK3C7ZgD0+JJazogZwmuKtTZYpZfpIQ9MINBh8sofwBjtG X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(2906002)(6666004)(6486002)(8936002)(5660300002)(508600001)(38100700002)(44832011)(107886003)(2616005)(86362001)(83380400001)(6506007)(186003)(26005)(6512007)(36756003)(316002)(8676002)(4326008)(66946007)(66476007)(66556008)(6916009)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?5bK5lQBw73XIivxxCsx2lRhEpbPq9KF+71BPg2wXuemFPSrWOliLOaRFd1zl?= =?us-ascii?Q?j5BpN+i38wVYVfELf1bQx/qtbrygOFS0/9Gmap3nVqiP5wr1yeHeU18QVvOK?= =?us-ascii?Q?NZKyJM2sBTLwQkXnalyZFGighrOUpMN24js/HBQc6YisyrDx/M4xktX4pPWF?= =?us-ascii?Q?NVrAO9dfsLOO8U/rfmscZwGsdqihyU8rgd0J2lysRQRGd0yhjAw+G+UUUmG2?= =?us-ascii?Q?1prKbocI4bbDxQeIh93VgDR79qMfzugRhz7Rn7mK/JquzfDNsO9yXXhjM9jl?= =?us-ascii?Q?RdWU2D6bMvAUUS/qosLs7ySBVfUuLa5Mob+ykHAWMlsz/FCcxjShdz4MwumP?= =?us-ascii?Q?djwzbZ28mbgyLzwRX/TsdNMQ/5+hOgbtEHKbe+EsliWiCkrBYrrDQttpul7N?= =?us-ascii?Q?VX71+aYm1suLoNbC3ZnrY9ppaQp5njaYrlzGYJfSZtFytnI7rH8Q61BSGsFe?= =?us-ascii?Q?ztAtNIKEhdxp1dGt1bPzyUxvDVwfP6E9wAxotoKKUv96vGx63biJYMzsUM5D?= =?us-ascii?Q?3T0z4r3fhnFt8GdLjENl8/PbSDPMHH7fe7m8QXwRTWHZuxjMkEvDTxDm7BUv?= =?us-ascii?Q?FThtHmbEMknffajyqXApwECxkODUGUQWc90VBkpbWSZn0SfXRo2rhREZfgKn?= =?us-ascii?Q?/WiK9VLVVPnQzn6ZQUOKKrnNF7tLcAnmeswYMnGD0kOLc+THt3b//2UUQqZW?= =?us-ascii?Q?wlAbm7r7yYgIDVb1QVkHj5R3VpNPjwkzaKJZxuSnCOCXOM54oX1nnKhJsRRt?= =?us-ascii?Q?A141qhHIwiV/BXP94mj5WHzoKtYEsSJLPl6e+jRn98WHAUHu4o2n1pZ1QM/i?= =?us-ascii?Q?u92DdcSdJ1wWVCntQF4wIGAB98JzecK2u9KbTFrNk2OlC/mkyIt1Ub/NtNmf?= =?us-ascii?Q?QAjmCd2TgPUFrAspZIvNvkOtiv5O/m3gWtrfot2rKWkMZR7d2MmxovlLwHas?= =?us-ascii?Q?o1ODpdXj3MWuSeSQyyrw1NX/sqrJWLiomStiQi6AXnxRxX2wjwaa31sSUOAc?= =?us-ascii?Q?l7EHTjFrx7/qUBWdJn9Q+iisRcFEFMw9rQmAEdbfI2hm1lXVY9dYKkbNzDMd?= =?us-ascii?Q?Z4qK7CJZ+5yDHFLvhGEbZ6q68CMIrGqyfFMjE9wgGvAWuQZBvtk2TbGylk4B?= =?us-ascii?Q?5nWB6SrNCMqWPHpIf0//AFy4xfJ2cLLtNvFCWLPcw+bkA9dgAau/+frc4RDG?= =?us-ascii?Q?f7oVqBnz0XbeitWymBA8tyb/h3w0biHdlJTsj2J8mTYb2lsqV10vpbe+NFbE?= =?us-ascii?Q?Qj9nW7q5xz59LcKnT0r1BYcKjNMqz4tvPr8VhVqxWGnIyNifWWMt00IO5YjE?= =?us-ascii?Q?FMkhy+8Toyse1NZSxfVWMxsqYcFTizzRsSxU8E+wkZ+OqdL21DjZgZLJAGFG?= =?us-ascii?Q?WR8G4/4xb46cdofnrkmtsjGYP0Aif7M0A4YIcg16RWhh4mI9H/1tN7d9kN/d?= =?us-ascii?Q?HQ59+xeCAlinelu2xeQGJcKyfWVaQt7LcuAwr42TMr2M6fLocsiByu3ijZTl?= =?us-ascii?Q?+7L9sNvr7Bvyan5Ery3PrZ6ku5dx42DTPH+pTdbHYYJmbOh4gDPbxL9jc1hK?= =?us-ascii?Q?V3TKR+tDX0Iihv/J7HE7h2NE4y5tye2Kc56CG7yvb4lHjIiqlKjy3jqideHU?= =?us-ascii?Q?a5heWAgRe9ZI6fTyYY0M2eWy0LE/vl/KlBkj/9oUS/n+wGtE0dPYfj3us1JQ?= =?us-ascii?Q?GRhLAhAYgr5SS7dHhDAnKUVOxe79M0XFpqvQ/fN6EgWkmN903RE2YGGSv8pO?= =?us-ascii?Q?nqMg1WZ3xxGo/zYaMUu9lGPzhQJphmA=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3ed9a086-c438-493c-28de-08da42e57426 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 May 2022 09:10:49.2916 (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: Mk26k8TQoHc6xVO6q3tm5ieIIuSZ1V0QV54ZCIYk6oSMpqVAh1EMIkYo+Jb+nWe1cYdgU3Vwaji0ut+cLtvmZg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6434 Content-Type: text/plain; charset="utf-8" This patch adds the round-robin BPF MPTCP scheduler test. Use sysctl to set net.mptcp.scheduler to use this sched. Add a veth net device to simulate the multiple addresses case. Use 'ip mptcp endpoint' command to add this new endpoint to PM netlink. Signed-off-by: Geliang Tang --- .../testing/selftests/bpf/prog_tests/mptcp.c | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing= /selftests/bpf/prog_tests/mptcp.c index f3c73cd2c786..1ecc8a2b76b6 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -8,6 +8,7 @@ #include "mptcp_sock.skel.h" #include "mptcp_bpf_first.skel.h" #include "mptcp_bpf_bkup.skel.h" +#include "mptcp_bpf_rr.skel.h" =20 #ifndef TCP_CA_NAME_MAX #define TCP_CA_NAME_MAX 16 @@ -329,6 +330,38 @@ static void test_bkup(void) mptcp_bpf_bkup__destroy(bkup_skel); } =20 +static void test_rr(void) +{ + struct mptcp_bpf_rr *rr_skel; + int server_fd, client_fd; + struct bpf_link *link; + + rr_skel =3D mptcp_bpf_rr__open_and_load(); + if (!ASSERT_OK_PTR(rr_skel, "bpf_rr__open_and_load")) + return; + + link =3D bpf_map__attach_struct_ops(rr_skel->maps.rr); + if (!ASSERT_OK_PTR(link, "bpf_map__attach_struct_ops")) { + mptcp_bpf_rr__destroy(rr_skel); + return; + } + + add_veth(); + system("ip mptcp endpoint add 10.0.1.1 subflow"); + system("sysctl -qw net.mptcp.scheduler=3Dbpf_rr"); + server_fd =3D start_mptcp_server(AF_INET, NULL, 0, 0); + client_fd =3D connect_to_fd(server_fd, 0); + + send_data(server_fd, client_fd); + ASSERT_OK(system("ss -MOenita | grep '10.0.1.1' | grep -q 'bytes_sent:'")= , "ss"); + + close(client_fd); + close(server_fd); + cleanup(); + bpf_link__destroy(link); + mptcp_bpf_rr__destroy(rr_skel); +} + void test_mptcp(void) { if (test__start_subtest("base")) @@ -337,4 +370,6 @@ void test_mptcp(void) test_first(); if (test__start_subtest("bkup")) test_bkup(); + if (test__start_subtest("rr")) + test_rr(); } --=20 2.34.1