From nobody Thu Sep 18 06:43:00 2025 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a05:6a06:d3:b0:4cb:58ce:be2f with SMTP id l19csp18369pin; Sat, 28 May 2022 08:12:10 -0700 (PDT) X-Google-Smtp-Source: ABdhPJztHIQMteIjGLHcz9OHrNXaqZs/K5G960Zmq2tTmNiQkmAHbIln/KIucncR1zAyw9qnxL1F X-Received: by 2002:a17:907:62a6:b0:6ef:8118:d3e2 with SMTP id nd38-20020a17090762a600b006ef8118d3e2mr41583565ejc.605.1653750730154; Sat, 28 May 2022 08:12:10 -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 mx11-20020a1709065a0b00b006f448225497si4839223ejc.672.2022.05.28.08.12.09 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 28 May 2022 08:12:10 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-5467-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=dhya5FvI; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-5467-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:4040:4f00::1 as permitted sender) smtp.mailfrom="mptcp+bounces-5467-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 AF13E2E09D2 for ; Sat, 28 May 2022 15:12:07 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 594EC28EA; Sat, 28 May 2022 15:12: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 97DB128E4 for ; Sat, 28 May 2022 15:12:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1653750722; 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=TAcmGRr1lDxOEVWSDyU1aA1gIKcZZg/PTK35Z4J/kZk=; b=dhya5FvINwZEUubpjGKU4EMlwDPfh+cKjIjPEYEyrEnE8K+W9ZYSInmlXK9ss0sqfQwOMd S4+hyPX854vjS3VcgNziFMmadjjgTCfdjqh+eLFb3s8xYFxW8pPhjG54oDfyYM4qlSugAl x2Afk49W0DVWmcV7lOyd2X/3hf8U+yg= Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01lp2057.outbound.protection.outlook.com [104.47.1.57]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-29-19NzyVGfNXCvB-hyOsmxFg-1; Sat, 28 May 2022 17:11:56 +0200 X-MC-Unique: 19NzyVGfNXCvB-hyOsmxFg-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ChiDzIjzQ+bd0IoTcKZgJL4TSrwcy5hHsW3aAH1USiJoIGa3ac0XhT0lG4LpqfWStPfiubaAmOeJuTHjqBKMnQ6Xca/RYyNbjC59WMGHiofjGLax/yhTm2cFOHuIz7XAjd5bgNJF3UGh2eJzm+oJKvfWPQMyFLOxLbl+QevR5+iat+exhFYAKuUWgXPrQuXa9+Rsh/frSJ7aZkHCQS6mGVUbzEQ9Ac18syd+jjt+U1ZHcUqHNVfvERPuFVKlMmxzMREh8nP+qEyCixaK/E4tghW3cD66UP2OSS/WuJ8O7TuDYYcX10SeY6hNzmi99QJMHwe8GhcopG+2mR6ruBhG3g== 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=B9EAaPilZc+t56m6nC5qsqHPiZiyFqS5pUIxf37syIQ=; b=LYIvp1GEfxs6nkt2erVIWX3tntUHjETbTTyUp5VZFnV6nVa3boZOHhdi9lUHNB9RF52Hwi+gNVb1uYaKeG9N4TeaUWF4ddEt4U9ewqi1VkbSniapBuaw1W+V13hixZ2H3d/q4JYDZMh6toBrRDzTApmELGS/OS6eWnIvVabR8O07clYKb8ApbvJqr5KdtdsIcsksQ2JdOTRr2MhlCLP2LLMSJfYVBwR7eIF0B2xhIvqSC26PlomBObCqBhZENz7d7UMhuUb+/e6b/8PYpXawnOJpKQIXPRnsKe4TNJe3qIpT/l3zdVm36roSlnHJL/00OgIQwYibP2cMzFJu3InGrg== 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 AM9PR04MB8485.eurprd04.prod.outlook.com (2603:10a6:20b:418::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.15; Sat, 28 May 2022 15:11:55 +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.017; Sat, 28 May 2022 15:11:55 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next v3 01/10] Squash to "mptcp: add struct mptcp_sched_ops" Date: Sat, 28 May 2022 23:11:43 +0800 Message-ID: <5355e749a5027f3b1c6d5c7307892a590b09e206.1653750351.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK0PR03CA0101.apcprd03.prod.outlook.com (2603:1096:203:b0::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: 0530cd54-5964-4c34-c98c-08da40bc66f1 X-MS-TrafficTypeDiagnostic: AM9PR04MB8485: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: h7Ap1TJDcMDc5XDMJOkiiTbPd18C0fjyjGdSPBCF04hLjtOHwNg74yeaICnCIGEvyCBDYU6LXkGQl0ZVrQJwh+WN2dkcPUGAgNtFFLSO7CsprTV10PkNnf5fe7jeBpBheIoeYtYGArBAofM2S/qHunmG6BaJA4HrCPQm8v6fXZO9yTYqbFuU44kme24kXKPec+6KXszIybcIoGAinfmw3o6IwNjjm6fgsnatjK4Gdt5/ggAlhWc5pMrqbhgf/iUNrORC58/15hO0cwrWHqRxMNBAj9O5J07DRXa5vnWzoz66hc3TbTS8zhNO/InpOKvEVzjP4hO8GnfOUNpyBq0wcOqwiiGwLK+QXA8+C25hGvUE1Y9VcOqi6d9UJTnsKgvtnNotpvKGT4WNs25JQ5Ea3jQQGoRCaYyMXRDJckU1Mh/mqFIvXVx1VsnYB1E+NDLtLQDAVWvSUk5sGzzD0fyAbQRowpF0n9+vstm2MN4J9yAdrj/ZdQm/TqENGj1W57QtvNO/MxHGcDIlXdKcvc3cv6y06o9MqsevZozZVan1VF7OY+XZMpxwK8N7KeutjIn7BHznAmifhHymcZsugSRFMqpv7Wra9Co5gbB1D7r7n124ik2qrVkFEsIkVjFhvVtGJN/pj2dQTDHI05Kh1VQVy/mf3lKVBZo4GY7jjWaYm0L7EQBf8X+bvY0NmI0m4drY5YGgoMdAjNTMMC7PZb7hrw== 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)(36756003)(83380400001)(66476007)(38100700002)(4326008)(66556008)(8676002)(86362001)(186003)(107886003)(2616005)(66946007)(6486002)(5660300002)(2906002)(6916009)(44832011)(6512007)(316002)(8936002)(6506007)(6666004)(26005)(508600001)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Emz2X7mHoE5r+RjBoa3yW1//7mle6BsENeafFgDkaKHCL4vMkxAzd3oT1aUf?= =?us-ascii?Q?qxhAJkCREjAKVkF/oftmd+v1AO6Pu57zqM2BvK5DVn4Q9W88DSBowqTjU2gY?= =?us-ascii?Q?04FFnv5HjdRKawB9pA/K7fmLz90tODCfiKE/nUDnJxBEDbAn5dQdZQ4IYr/f?= =?us-ascii?Q?raK5jH29Q1pbu/xkN2HY5r1xL6Rxb7dIivlq3r5K83Kw11t/ETeSYHDcF6ef?= =?us-ascii?Q?Wf3PqBYQTQLOOfRWaQ5ow3cMnwnfgEqjaEwbeouhBFoRdUtfhDfq8BkBKgQA?= =?us-ascii?Q?UqYUVP0g2rr4kT3NZ9fHWk3R0GUzVjlsxXPeKRsxhA5YmNCyJ8kZZGuDnQXu?= =?us-ascii?Q?G44bgkkVLDX0GPs1uuwXI2w1cxYz/du+tql9A6PjzjC8pGSgigpCfv/PZpkP?= =?us-ascii?Q?S9QRtP5wQQbe5U2kn+PvoovgrqAzVGHg8Ej7szu3hQtHU1jxrJG3ZJ2Pk2wI?= =?us-ascii?Q?ryaqsu6Pj+PssQtaAM3+wYOAhrn1YYeI0XZLD+1Pxts8CaTvKzJiIbSJizoC?= =?us-ascii?Q?MpkIlp5avn2I/olFmKdSKMQDAPum4mSx5h4u/bH5DxVX1Z0iipvnrnfKQlNF?= =?us-ascii?Q?E7P96KVLX+IGLCQ9CJaZcateHBQlGyTojgl2vMuWt+mjvNQb+h50uH6iDL/l?= =?us-ascii?Q?R5KRmASpSTouPI3Uzdd+tCyYzQ5ZP8R0S4bLhcaU/lF1UEnDKRaezVrne6kK?= =?us-ascii?Q?61v3F5Pp/mZlZHN7A+UHICuyA839QoPsKn3VPPPYE+SjwiJ+RYIYeAditzW9?= =?us-ascii?Q?Oplg+FXFpzV2porPR3oOMrAFGWDsrQmNtrtNYLoI4Phh7eOJFDAZ0V0BSrg8?= =?us-ascii?Q?n550PD3bsocHl3b0sr+QWYhusyGOLisyNUhs6cAs9FhzgRhPCJpktIqrUXo9?= =?us-ascii?Q?s1Sf2JKfTPtmYK5zRzW7jxIwaB/QLyf0xlXTd596T+mSfc2UkCV/F7Z4tWuQ?= =?us-ascii?Q?Wmiua/2X55mCa8p5TfyzEiBMEk7ngW3QEWOBACwgJlKTWAGfoOGH+RECYA9p?= =?us-ascii?Q?uOj8AlQt4Nkef9PSxszPOrtvYWG7vBqx6sneR2JxKwSoTRLvKUeXWH/SBtHc?= =?us-ascii?Q?jp+C8F1qi77y4+aV89E2HN8vDpvqSDtCEpAbUML/4LnsjX4GRsVgeHjC2eY/?= =?us-ascii?Q?ZmLdbnHwGu7f7a8WtJ00PXGOmMlFmpyr4XomeAxe8OR0vbfh60CuKIgpTkiR?= =?us-ascii?Q?5O4dLfCVszDEWmQ3JRNjIoR6fWzzbzZfVIx7NghRvbZRhaB/UHrJoze4sPuK?= =?us-ascii?Q?1fNHPgdZJ6InO1aQm1MtNCGHer7qi8E4aYzVWLW0nb3EQbVtLdGLcEKiqV5T?= =?us-ascii?Q?Q9e4GUArabN/7J3QKY8A3lgeJivqRX0TtUDW6LhA2P6ZxYqxye0lU8/gP0Yw?= =?us-ascii?Q?zETGNOcAoN7SGGIAJMJo/tN6zWdb5HOiTWM4FrCbcQKvFxUbkIDDyqH6bEP+?= =?us-ascii?Q?rDIjQ6UsN/ocsp38HVwmdXYjy+rsfGw6vNjxRiUaarVuX4DA1cQMVXDqdNJR?= =?us-ascii?Q?qEvRSv8dbl0F10OzsKsSdNPRQoI8B9oEDdYZ/0qswrz5wYJqK8kXvX+dOfGu?= =?us-ascii?Q?8ieRNKc5W57K1OPWtaZwuIA7W7xq51bwRSRMtOxgO+XYvkA/jvDdJ6n4qz7B?= =?us-ascii?Q?92Th3QOSmmddd441nnR4YOThftQTqtelD6SCOqLPJEbenoKZSUggv59RsEaY?= =?us-ascii?Q?3KT7whsWwIiDUbkC1A8iZXBT0BvI/xvksiDKXQisb0ggrv4cGoH84eWsFyS7?= =?us-ascii?Q?A4O8eHTARvhahezFmL3JAEl9o/LafQA=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0530cd54-5964-4c34-c98c-08da40bc66f1 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2022 15:11:55.4622 (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: WChUKorAC7aGfyzdO5fS3tBgkmMoJ9IlH1g6U2bfISFFvB1CfQA380D+nj6rfAy0mPSzFjvQG3JM24ogu6FwDw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8485 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_sched_subflow array. The struct mptcp_sched_subflow has a member is_scheduled, it 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 | 12 +++++++++--- tools/testing/selftests/bpf/bpf_tcp_helpers.h | 16 +++++++++++++--- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/include/net/mptcp.h b/include/net/mptcp.h index 6456ea26e4c7..8a53583a9745 100644 --- a/include/net/mptcp.h +++ b/include/net/mptcp.h @@ -97,14 +97,20 @@ struct mptcp_out_options { }; =20 #define MPTCP_SCHED_NAME_MAX 16 +#define MPTCP_SUBFLOWS_MAX 8 + +struct mptcp_sched_subflow { + struct mptcp_subflow_context *context; + bool is_scheduled; +}; =20 struct mptcp_sched_data { - struct sock *sock; - bool call_again; + bool reinject; + struct mptcp_sched_subflow subflows[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/tools/testing/selftests/bpf/bpf_tcp_helpers.h b/tools/testing/= selftests/bpf/bpf_tcp_helpers.h index aca4e3c6ac48..91900f2f047a 100644 --- a/tools/testing/selftests/bpf/bpf_tcp_helpers.h +++ b/tools/testing/selftests/bpf/bpf_tcp_helpers.h @@ -231,10 +231,20 @@ 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 { + __u32 token; +} __attribute__((preserve_access_index)); + +struct mptcp_sched_subflow { + struct mptcp_subflow_context *context; + bool is_scheduled; +}; =20 struct mptcp_sched_data { - struct sock *sock; - bool call_again; + bool reinject; + struct mptcp_sched_subflow subflows[MPTCP_SUBFLOWS_MAX]; }; =20 struct mptcp_sched_ops { @@ -243,7 +253,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:43:00 2025 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a05:6a06:d3:b0:4cb:58ce:be2f with SMTP id l19csp18374pin; Sat, 28 May 2022 08:12:10 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxje083oA6oe+yIWdr2swm4srzTPROAGuyM41Y6XAGmZmJ+pkmuV7Um9xGvwGip1XSNOvuT X-Received: by 2002:a17:907:1c8f:b0:6e8:f898:63bb with SMTP id nb15-20020a1709071c8f00b006e8f89863bbmr44088077ejc.721.1653750730764; Sat, 28 May 2022 08:12:10 -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 hp4-20020a1709073e0400b006feb8253446si8787357ejc.749.2022.05.28.08.12.10 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 28 May 2022 08:12:10 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-5468-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=GkyxKifc; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-5468-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.84.19 as permitted sender) smtp.mailfrom="mptcp+bounces-5468-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 210AB2E09D4 for ; Sat, 28 May 2022 15:12:10 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id E16C628EA; Sat, 28 May 2022 15:12:08 +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 62D8F28E4 for ; Sat, 28 May 2022 15:12:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1653750725; 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=F94bbBQqav01y46FcWNW8AZ0bSY1KTGOtSCpOwX6AZ0=; b=GkyxKifcW08ytzPo/DC6ax7nXRywusmf6EYSIwa8y/BUi8z4jsAZTpcMC5b0GaRcP1qWyv nRSbAzgaUSzLrBMUlNyGhjYPUOPKDgQ8UyPJZkkhVIgmLMYWbPzB3RzZ3+P+zuYuTOur7d T0pP5wpbX8wWOKd5kUxUgr//3JZXf0Q= Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01lp2054.outbound.protection.outlook.com [104.47.1.54]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-33-tEipPv-nPbSnB3o6_sEi3Q-1; Sat, 28 May 2022 17:12:04 +0200 X-MC-Unique: tEipPv-nPbSnB3o6_sEi3Q-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BhE9jAbAZrBz1Lj4GkX02AbvW3c7yHgXzPVE9IK+WGgyylyFvAlATNu0xUSs+2E6qvhu2SSni6IEcDoWKyMT9CHRiAYRGdXgblE6lcYPHEqF8y4E6hKtt/EZhzLGEm3z9WQ4Sezrv7nAdUfpMEoIaHK34c6Uqr2VWqofawyhklFe0k4MKza/NBCGIsGNnnvl/NGWw1KYdrpjQOFKQry6ZdmuGt2zU2Sn4cTXgfIO0UzjkVSpt18v7NWTwOBta+9J86cX2qpLeEgqxHmmT8V4DLHGrPRwjVVIVZWST7oEblMprvdFer2iposXAtY6alkOIcVH+n29A2ywImHqKIcxIw== 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=vUcV8ehEOZYXzjbV0nJnZ3mL7erfNv4JI0kDOIFRiO0=; b=CT0DG/A/867q/03LUsvn+2Awdc+XEIbLlSH14ZN/l9H6+/GEq1sprrwydk+ObsSxwPwBoJPsO+Db2uxGKMnX8qSXfA+V2wNW0OlLruShFFVibis6mzETbG3TOsy44ut67gkqpSkipvj1w4aF2KKzJyvk7Jm3axyuXbXHEoKYqPbok+wflLfDmPLOXVqGptqi0obp6x5r+QBygu/+3b1UCa8cYluxFm6QNR3WdZMFvz/gDKFBmKDLMj12ykmYyrN83Q2YlCaZs8j6+jlKJjnd2IjNzNt483X7aXV0woATxE5W3IyV0ZBrv3SkJO+pc5VaD+UHx4d8N+m4DkO+weIgbw== 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 AM9PR04MB8485.eurprd04.prod.outlook.com (2603:10a6:20b:418::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.15; Sat, 28 May 2022 15:12:03 +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.017; Sat, 28 May 2022 15:12:03 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next v3 02/10] Squash to "mptcp: add sched in mptcp_sock" Date: Sat, 28 May 2022 23:11:44 +0800 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2PR04CA0086.apcprd04.prod.outlook.com (2603:1096:202:15::30) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 32535f4d-c00a-4681-8afd-08da40bc6bbd X-MS-TrafficTypeDiagnostic: AM9PR04MB8485: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: lrNTCoz5Y+eAw+AhYFhOXRCI3plwluozoGe9pWxUgLf4sQgG+uhT/Ig9HBh9HHJ17FZ27w8t3MF2pzCdTKdrc5cbXaXUonKkcIQVB+E4xLXEhbkoPqYOCyq/yrsjOOTiQudV9plNvEc58++b0rMd0Xf8LT9H6CAqEwvTi2CQBOFmyEpz2oqX+pb/BrKr+SP2QjBJyYBNuTdhSxQRZrf0mrtrIKB19xT9M/PnQZ//apcYuTp/1OnNcq3RLaJnzjnrkIUctAx1p+uyj+jhq5M4WaWbp26mIHeGr0CO6C4VXmBVeuB5DR/Glj3nZdJCnvp/KPNvyd0RBGJKo4Q+dnABBrnnNj8Z3ynLi1bglwYJvKcSGS8tDV8UNG/yySbceSsbQyktw9HlNFtW/oE7WhRE27KzbRa5ZXpEywelO8G6pMIFfE/eVnqFG16pfUGKqCa0XWaOZD9CPRPtw4HVi9xGdfbwP9Q6gKtqYjg4lR8avZR9mV/pOXzo12zh3s8/BjkFcFJwMc41NZ5jArlH51m9Tqyad0Bt/QNti3BKtpLGHP7KXGxE+su+AbBNgaWhbmaDxE5gNTuNyIErIYQtLjO7Cir+IeUFvidraUGPKwS0p9MzljxS7dSdpQsjjwSwcK4irSJK1DQdl4p5FPtpi+iF01rSaDjcrEKzVgEmtF6cPwDUVE1N8Smn1q5+kxr/9oaI+BoFVsgUAO/mJ667LLujbA== 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)(36756003)(83380400001)(66476007)(38100700002)(4326008)(66556008)(8676002)(86362001)(186003)(107886003)(2616005)(66946007)(6486002)(5660300002)(4744005)(2906002)(6916009)(44832011)(6512007)(316002)(8936002)(6506007)(6666004)(26005)(508600001)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?we/bGKNtH179Scv5zeAjI40EjD4NVmiALa2/HgbR9Mv3qUWcuXaW772PBut8?= =?us-ascii?Q?XgW0fmmB2SY+XvGR+4xOw92isUFLrxsx0lTyqmPY9zlJc8khwwW0arlFRksc?= =?us-ascii?Q?Gjv7usRQp1qoxZYp7Y0xHha8FUN78vsrCPLyncmK63PvF5L3Ter0tQDQdMLr?= =?us-ascii?Q?iBGD6dj+wCLYsT924+xp7T16NlXnrPB8tzvQffBDp/o4Svs+n5+BhZT0GlOt?= =?us-ascii?Q?nZJ7+GDGB+QhWWAOhqUV+vlfEH6xmzAKn0UD0DrQNY6l5N8RQBgxaviSXxUO?= =?us-ascii?Q?rYi+iqBZbG0f+4h/NbBaWD8DXsOu5NR3b9Ikta66ewm2Pvqat0QDSQbBIiEf?= =?us-ascii?Q?Zx1rjGKIsA/lYsIZsj/wpmI+/HuUC0t3ww13+p1yo6DwhJNDZRZbYKUPIu/p?= =?us-ascii?Q?vG+iYbXgdvbgG9kvMRyRaayamH0XU9MjtETcBsUVux8o1wV1f1eSvG2qoTcg?= =?us-ascii?Q?0yHrlPwfyKr/uotJiFrHiEjYvviDj/xN/nzKRJuSWkb+Rez6DkRghDfAe6H1?= =?us-ascii?Q?WzEhzAZtXgG9dFbJ/n0gCJvesIiXryejmtoapGjRUPcG7F/CZrzXqf5NTE14?= =?us-ascii?Q?JYBpGqcC3SoO99E7s0jvRxxvu/D7fUxkKMa/PTSH5fhw60QrpmzIBKZF51hv?= =?us-ascii?Q?JmJQrg0FTVqMRnWFt0vr3pjbkTFiWjNMIYhk1Sf3L/EysblgzGRl2nTBdew1?= =?us-ascii?Q?cjyqArV7iUB6xePHyeQPAvw+EA07ucsYfmlB7iOBVgFkua2My+DSXM+sQ8Xs?= =?us-ascii?Q?6QhImwKGUAcuekeNAsR2MrWnceStsvcEsR/YA6lNJy7Og7JPxosaKDOKYBPu?= =?us-ascii?Q?YZVx5ILgsQOxGZHpSbBP6L15WCLFvHOxZkbfOQTHWeSxnYwDcKRddZW+1MXK?= =?us-ascii?Q?O6eR7jnpVPSk5TKuwULM5lxFXfICf13Fu550nfPuuIfmYkDXWyiEEXBI/GqX?= =?us-ascii?Q?qj4EDxa+CMCajE3I1Wi0meBUzKo1b1+KLx0vfQqyMcDkEqBfMDwIsm4+GSTK?= =?us-ascii?Q?agKqft1mzsFm52ov/nhJmQTyzchlndXxbHLGKQ11POxJLldTU1J/LInxJV25?= =?us-ascii?Q?dDmKFSyjiPsBxcQn4YvDsw5G7v52te2xHIMyMfeNcdrsRIGcsjtA/RJa1gbP?= =?us-ascii?Q?cMKxjBRtuPzoEzks0Ux6/SRcmNbskkEnhWmqYzMabuXSziGxDKM4R26mPRzP?= =?us-ascii?Q?iSlhodF6dh5xsF9dwfmgn5w1jFRJ0nRPA+FIEpyrJGOqK52s8l0hWyguT6S7?= =?us-ascii?Q?M3BNaINg3f9PO1gX6gl2KBiy0k+2iL+Nr2ufZoZgDjYxwRdAS4ArLPPzzVa7?= =?us-ascii?Q?LjZ9JhGUPNTlCoIjmvfS2LYvWR3YaGFwO8fXtBXHcZ7RPodDwuNm82+KU9K7?= =?us-ascii?Q?E5sKtx2FG+s/G9pnsQIssicRWimjSVuYPR/w8iCFPKKg/mOi5o8T728rV0qs?= =?us-ascii?Q?LvwcLjuwyzpQKulgjYufw2tY1adgoq6YMrsCHjkcyyiT/Sz9it45o4FGnH8w?= =?us-ascii?Q?5C6RESt4s1ETITpAavc0MLbGiNxAfLWSzVBiR2J5wJbaY3lWLj8YFTiBcmsp?= =?us-ascii?Q?kCCE81XAwvPSGE7dCEuZ3QGpOywLVBAHsL4IT5Qfqpdozg3qR6f49JJnkY64?= =?us-ascii?Q?IuwHr/fZx0YikpPZXT94AzvpFDjykpZXC6aA5oxo8Q7y3VhSqPmkYSobVRJ/?= =?us-ascii?Q?TuO54X54LOMyWv2kB1U44IP83JiyQOwhxOCNX62trArYwUN5nf3475G0e1oL?= =?us-ascii?Q?021Im3lpFwULynmh8Awbh/+yJIAlcuQ=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 32535f4d-c00a-4681-8afd-08da40bc6bbd X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2022 15:12:03.2740 (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: fQasKD/uzGkpoZAkQp+tkWYhOVzKFLP9tqgGNxQkA7/J5TQ7IrAVFS81DwZqJDS3zMxUmtGdxBiVdZyzcHmXYg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8485 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 91900f2f047a..988dbeeac040 100644 --- a/tools/testing/selftests/bpf/bpf_tcp_helpers.h +++ b/tools/testing/selftests/bpf/bpf_tcp_helpers.h @@ -263,7 +263,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:43:00 2025 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a05:6a06:d3:b0:4cb:58ce:be2f with SMTP id l19csp18440pin; Sat, 28 May 2022 08:12:18 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyYOpq2YqB1eXhSh4FsJeOX2E/wtljuwK6NOW3/L6JfPx4cF00+EYyPPVQNGZS0jskZAR9z X-Received: by 2002:a17:90b:4f8e:b0:1e0:2916:daae with SMTP id qe14-20020a17090b4f8e00b001e02916daaemr13946957pjb.140.1653750738592; Sat, 28 May 2022 08:12:18 -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 u6-20020a17090341c600b0015cf377e71esi9445154ple.523.2022.05.28.08.12.18 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 28 May 2022 08:12:18 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-5469-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=SbI4pT3w; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-5469-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.88.99 as permitted sender) smtp.mailfrom="mptcp+bounces-5469-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 26E8C280A6D for ; Sat, 28 May 2022 15:12:18 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 3CB0828EA; Sat, 28 May 2022 15:12:17 +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 856E828E4 for ; Sat, 28 May 2022 15:12:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1653750733; 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=9XmF7HJpflZbQvfFsCpJ/iPdwLhcYjnRn0y9EBZnSAc=; b=SbI4pT3w4FP4bKJYNIv4BYOJaJDsLvCg1Z4oGcYvyK+ODML3QDLvFjio4OTgImlWPzi6L/ WxLKVYsmZz81D3tLoQh+Wn48u+OaqZuJ3ClbyM1qSyjfJjcR5f1t2hpi+IpF4XKQS8LLo2 QUgYsLf40dVa9tLAMz4Um+vHRfZ4fVo= Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05lp2177.outbound.protection.outlook.com [104.47.17.177]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-36-Rubzp80iMeu0BOV5FjzJjg-1; Sat, 28 May 2022 17:12:12 +0200 X-MC-Unique: Rubzp80iMeu0BOV5FjzJjg-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=E8c4mS7Z03WbayMDr38gPqDomnOCFOGDVOfcSpb2psQPgV5HJADzsBQOYIXWtyagB12NzZ3fu/nyhIAlNDj3Pn76LyG9SAa4MeLwGYICslLVqkkgnWrc/wuK2QKJxwOYH2eDXALuFZkvBWBXBka3yx1oFkhIRV1LQNbGCYQ34BDSFUY2mNj+1O7z0L2fvHTbrZDlJdV4W+icoRc22tOlIPcV5mo00dJzplbFr3mFEhFesndi5HD166Cd+hcnSOXzAJ5YCFbVGzB51EQ+yhiFXsxP8Lt6GS4V4cX1u/3//PuHRWxK/BvsvEnT/kj/hsyUJwnjXt/oQCzY++jknc5fkg== 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=HgB9d5ELINUzOk8+q2P21UZQ434MjG4JDSRjl8ntqGc=; b=OZSy+RrnMZHH7bIvq8ly2W/tB46fq+Xbycpjnn7YhY+KECdiRGnbQStxfSSbhzig9J266qw+u+Zh5NoucyoynGOLtJ76s3zxzQGwb4NFAgT14O55O3iBXOaDILTZxkJaWlaioBCRdAjLP8P3sz0B4ncUcXRUisMTNUHwiUALGUDnmn64mgx+d/XuSN5EAuKF3w3Jw7eITw9MQWjPC16ODcKD6324AsvtX/cwGYayahSGkcP37z3nLlcUHZvUfdn6vkMfOYOoSqbx+iGArSsrDZZclhgKat0TmQQC5mZIRsPAHQqEKb3gayQ8epFXYhNkPGNdkSC3D98ttMGLaYdhxQ== 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 AM9PR04MB8485.eurprd04.prod.outlook.com (2603:10a6:20b:418::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.15; Sat, 28 May 2022 15:12:11 +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.017; Sat, 28 May 2022 15:12:11 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next v3 03/10] Squash to "mptcp: add get_subflow wrappers" Date: Sat, 28 May 2022 23:11:45 +0800 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2PR04CA0085.apcprd04.prod.outlook.com (2603:1096:202:15::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: 45414fda-f6bf-485e-3a16-08da40bc7076 X-MS-TrafficTypeDiagnostic: AM9PR04MB8485: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: DQ2PFoFVrZiw0D7Vt0eB4w3s3dPTXhBbcGFuV+kxfRamAnzVUOu6fWVjYIQmKn88AYl29OfQcdpWbHTJ9gwWYeyBb+q0CXC165Yb7RTu/XxhM1+f6KR67tKBHm2r03eDzZWgpeDPoy9iuUQfstTHAa+rWPYrWEzqNrrVhtG1Ot/Wh6sAGgSX5LqjQp8qAT1Las6Q3WeXP3TrEuK2ZnOh2KvDmA+69odC0rXTXzEC/jylIBgOJ+prL2z3BjoYm4UghFWSwh4Xrp9koLyuaG5pbZASDgXo9938i8nhy43yF0pxkZ+v/FGJFFM4AAS0AMnHows83+ctYM1TY/LDD0+jPm4BR+snD56ppSTLKZiEj2+iUpITu7F0UFLriid1ALOg4CEtgFMcwGNJbr+y1h2/WS37YvtB4vqc67dovxzAE8Gj54M/ArnBjDbOZ6bq2ZxDUiS3VlMC+Wt87Ac4R13gy/rvPBEzIbbF8b+A3oqmUPFyHffr7Z/0tLOJjFjfF8HqlBKAVhdXGRYDTHkOib4dDt3vYKEieu/jgyxvRfzkctPpZnN77JdripnwLnfKPx0DUU3z9EGJZirLe2aTJ2PDs4wcrkKDxCTUFjH8HuLyGDdwDr6yaDW5Z6GS6oC/s+bdDNThPWyLBZr+bd7zWTpPlMdrSh+ITzmY8GFUcVggtW7vBXkwHO/mD57Uw3XV0BWMAK+O+tuTILYorlf+0o9cxg== 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)(36756003)(83380400001)(66476007)(38100700002)(4326008)(66556008)(8676002)(86362001)(186003)(107886003)(2616005)(66946007)(6486002)(5660300002)(2906002)(6916009)(44832011)(6512007)(316002)(8936002)(6506007)(6666004)(26005)(508600001)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?oj1xzJRnt6ACX5tGmZCszrpBesxFgiXi+7D6nxpZW53EzF3PL3hO8N52gQ0A?= =?us-ascii?Q?sdpslgTZdS2HfMZNpnHb31dsk0Oq/Za0w6bqeScet/5TWGhY+qtlYAlz6ccl?= =?us-ascii?Q?+/gvEm53LALo8x2Tr0IKLsa/3zElOXFG6ydwwaEcV55SYAunantSmTtk6zCC?= =?us-ascii?Q?5296epkd/fE238g5xoVV0Fza/NOkuq2SWoTI2JKhX3DN8Es9C5EMDXGDd8xD?= =?us-ascii?Q?bSGwmRzyvxGeIEDRQom4RXBaGSy0UbJOF9PSPUxiQThvZBFpRskiWLiCKzyI?= =?us-ascii?Q?BXtAv/KpHIX5oJZxOrniunCyj2xXkK025xJOn625fsuA+xhG4tvMHKg/KSuA?= =?us-ascii?Q?LcwueEDLNgsj3ZY9QoO3tqpaozYf/MLpvFbN+6ZElU8s800z6sBnubTj2Zwc?= =?us-ascii?Q?lFg0vLyVhWB7hvdwI8m0xGJeY+qbrlq6w7Yaeeb3eqBl9RnOi0NA/pJybDXa?= =?us-ascii?Q?rcvMwdMDF3aYacPVx2jESzB+SRb4eGaBk6oOHnO354mjXkqo1lSqTEUxKuzc?= =?us-ascii?Q?brWIZClFVFQfQc3x9NGXd8I1fC9xxg6m3vS/y/YP5voGu/6NnnLor8DwP1Im?= =?us-ascii?Q?+3J8vieuvSDKIOeaUvOEHp21+gC1P5psShHR1yhg3bvz6QClLss/CvPUs/ea?= =?us-ascii?Q?xveJ2aKtE11UJLHO7f7+aXXokwEL5Y/gBr/Qy96dktannJdCCmoDp4+1QtE9?= =?us-ascii?Q?v19tnIdmSI+4ulTW4aK35mL42TuJXsmnn9/L0o4KTH1yzl45sdF4torQ2oqP?= =?us-ascii?Q?AiJSW2Jgee/OATGU/UnmACbZZuT5lMJYDiU1/IJz1kEq58/HyKo7IrwyAIjI?= =?us-ascii?Q?131hnw/WwV9iJAE6jEDfM20tpNWYkqOEu1JaSVRTb1aK9okvZTRAoijBgdhS?= =?us-ascii?Q?Su0HXG8gQkaISEDPYPwEwgGzISda6i9CIaphidafTZlq02iB9FUy0NRWr3Bh?= =?us-ascii?Q?O0HT0VhEsDfaAp8ikId5zmfNmV8j5bNOMIa8Z0qsrfRv/hEwd1LJR67JvFJP?= =?us-ascii?Q?G97ZAgsnKMK1/91zQRuq3PpPXCP3b2LLqSScz5oIKH8GJYzh/TGu7iAR1PCH?= =?us-ascii?Q?p/PKiNsOh6DfLZDzdigwx+eDXfDj+Hfe+5yRdq4Cz+O0GoAORbwbrOVKGOAS?= =?us-ascii?Q?Rf0v1l5yMG6DQpeaOJivIa82tI2JAQoXNHlZspZ3X3HD6GTHN2TkeA84pT4S?= =?us-ascii?Q?DHVsnUtysLzEN3vuAPAa2NwAOyCA+AOywopGYHQBubrOvvR0jk35TF3g5FsJ?= =?us-ascii?Q?FMxndPUJ2i449Iol9WIQCyEUNbw0r8rDyqOEjW8qjXEhDaBlFJoG2Wt3rf2E?= =?us-ascii?Q?M48Lnm94Hbz8sFSRJEf34ZdeuHt5HUKTIq2Hi7X89uvnqUWtlgLdXpmGm2DA?= =?us-ascii?Q?YrLOp3mtuxVKmqWbaeSU7rdiHv/c59FjBcYyupoRVq+o8/eKV1e9QAxZwWpn?= =?us-ascii?Q?QHSQGGTG2Wc5Sf1iQcMu8aBwUexJRilLZAvVxxSgSUO5WS+sQGuX4OvVs3pW?= =?us-ascii?Q?0V8DsNZ1VKB+pHsSDkddyX8ubxnZqo/FM1FSMFkhAhbXEIVeRxnZOcJ1FMql?= =?us-ascii?Q?8wQuZFZGdjrg4C3HnEBscFyVuRvH2eBT6cwfn0Quf2brjOyzrXNaAGAnIg19?= =?us-ascii?Q?3Ft2PCuiHZsjFCOEFoXXRcur9LMHd6ZkXT/dH4LopVgEf1De1cTPnlJsytAz?= =?us-ascii?Q?KViJ4d7Cs9RfDdMJreZs65PM0Ujtabl+HLja8Na3IhjARP9BKT0F8qFvOTCx?= =?us-ascii?Q?Jf1Q6pQMkMSI4vzt2igzPY1MssdeAfM=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 45414fda-f6bf-485e-3a16-08da40bc7076 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2022 15:12:11.3828 (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: GLAEjjA1cD3qTGjiBFdgV/GKLfHaJRuIFprpK3/onNj1UcKB9FDnTdede8Q9+/B2SboRMCh+IMd4k0useUwpbQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8485 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 is_scheduled flags to test which subflow or subflows are picked by the scheduler. ''' Signed-off-by: Geliang Tang --- net/mptcp/sched.c | 59 ++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 48 insertions(+), 11 deletions(-) diff --git a/net/mptcp/sched.c b/net/mptcp/sched.c index 3ceb721e6489..46396eed62d0 100644 --- a/net/mptcp/sched.c +++ b/net/mptcp/sched.c @@ -88,11 +88,28 @@ 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; + } + data->subflows[i].context =3D subflow; + data->subflows[i].is_scheduled =3D 0; + i++; + } + + for (; i < MPTCP_SUBFLOWS_MAX; i++) { + data->subflows[i].context =3D NULL; + data->subflows[i].is_scheduled =3D 0; + } =20 return 0; } @@ -100,6 +117,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 +132,26 @@ 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); =20 - msk->last_snd =3D data.sock; - return data.sock; + for (i =3D 0; i < MPTCP_SUBFLOWS_MAX; i++) { + if (data.subflows[i].is_scheduled && + data.subflows[i].context) { + ssk =3D data.subflows[i].context->tcp_sock; + msk->last_snd =3D ssk; + break; + } + } + + 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 +162,17 @@ 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.subflows[i].is_scheduled && + data.subflows[i].context) { + ssk =3D data.subflows[i].context->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:43:00 2025 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a05:6a06:d3:b0:4cb:58ce:be2f with SMTP id l19csp18543pin; Sat, 28 May 2022 08:12:29 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwz23N0Lcps6FFBaEk0Et/twFqwgQgTTarW68KY1V8aQ4ak3+YDB7IBbYv9lfBNySfBDNe1 X-Received: by 2002:aa7:cacd:0:b0:42b:b1b6:e054 with SMTP id l13-20020aa7cacd000000b0042bb1b6e054mr20771983edt.281.1653750749846; Sat, 28 May 2022 08:12:29 -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 hq21-20020a1709073f1500b006f44899d7cesi6247192ejc.622.2022.05.28.08.12.29 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 28 May 2022 08:12:29 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-5470-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=jXLNSXjX; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-5470-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:4040:4f00::1 as permitted sender) smtp.mailfrom="mptcp+bounces-5470-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 6A0E62E09CF for ; Sat, 28 May 2022 15:12:27 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 2AADF28EA; Sat, 28 May 2022 15:12:26 +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 61EE928E4 for ; Sat, 28 May 2022 15:12:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1653750742; 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=8fugHNwni3NOU/Affik2RF/GMBkxiRr0vkIpdwSvmlY=; b=jXLNSXjXWyWPs781F+dxRzqUEqxGaX7n77z6OoJqs7YLDX2adRYwCT/qkJXAsDGpIChG7Y N+rIyS87INk/tIgxiHOQrAT84sppJm08z4FpjG6+n1XVd6uWRgJVGRI/gMFxdq487NpUID TOeqNL7MCi8FWZvNbPtIRelP1Q0Eo2E= Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05lp2171.outbound.protection.outlook.com [104.47.17.171]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-41-csPvaDwTOZuLYFUatcYWIA-1; Sat, 28 May 2022 17:12:21 +0200 X-MC-Unique: csPvaDwTOZuLYFUatcYWIA-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lYtDNdSutPpD5fXR6pqApdCy6ATKvHrk5ts23OscU/1lJTEQ5y80xjBEi88fukecjKGMhavQeypwjh5Z6gRydcTdby9AYqGz7/Kkmj3AStu496XqJpQHwPyIVKx/gBYESJdUMroKTMaR6Mjex8jICHrr1cnyttwUEaQ8cnt0n2utRtdDZqEbSpHmIu7OhE8nSx/Vk0/UzOFHbY2xpvMuDkS1u1gL4lZBsB5Ibp5rTbvHkek2Bqm9Eejlekn8NpokNXwRtoPAEpkl0Gvab0YwheMW+d69Ztnby3DrCzrfhtlDjY1ESRzgRVh7305sgAPSdvM2fq8Qki4p/xJawo4cJQ== 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=daLISJJllPVx6lvlD+NZYITL+4xxARQazMbAM2kbaSo=; b=UMHmK1Wbktocbdck+8Nem4Tx7D9Id2l3Y1g0LKUuRHXGmHnJebrb1PThj3wwko1P2OE0ShmeorFAqFcU9nkAnMHmM+wS4zCPTktdf0+V/OXiEPXombrn4KCzycgQgD/780EKUCdM2WZCOdwaHUmWaRGW4IvbFqbSxKNLuJBsqVE/C7kM+8XrrGpFRIAZAKVCtXAgiHoEYfpa1bdr8jre++T0J5qwHk0xATGBLn891op1sEK24IBCpxnn8wsaPv4HgLrGcp+N8/EFrLV5gSEilsrnWCHI9Dbv7NZXdPZvsG+2pbeY7H2w7Urf2JL/4q74zVEQtqUoGdXC76wVz/y01g== 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 AM9PR04MB8485.eurprd04.prod.outlook.com (2603:10a6:20b:418::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.15; Sat, 28 May 2022 15:12:20 +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.017; Sat, 28 May 2022 15:12:20 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next v3 04/10] Squash to "mptcp: add bpf_mptcp_sched_ops" Date: Sat, 28 May 2022 23:11:46 +0800 Message-ID: <06689b47277ef838b21128fc4a03644a79e78f29.1653750351.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2PR04CA0053.apcprd04.prod.outlook.com (2603:1096:202:14::21) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 45f20c83-684a-49cf-8f01-08da40bc75da X-MS-TrafficTypeDiagnostic: AM9PR04MB8485: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: rsx5IkLvHBgeFETVLX/08Hjg18IQ6T4u9VwaFPY6eGfa/kxHAevcCXn6JNSQFLhB5QBiK2BWGWYDVJ3OcnwtfbbyocW5deNiKURxV4BM0eG/mwgCGN3qzsbJaJwFa881AZwlcuqqFZABBf348CbnyJhgaryb+0x/CgXBLCPTFy/pxHig9vSwZahIcqM0LfkK2tVwhnycOTk/Z3ILnS7UwkjrziYI354uRSWruaCISaNa1JzggcU4GDDV56THYDWMp08GnLK3ysIux0jW4A8UY6IPtH9jDc/moUUvisEmhcsv7yPP6Ki2WBnU9cnaQoZYugCkGRc7sBA46zopyW+vJFx+dIyBUZUx90+u5WJSsxUDP/N7V3AZWVBrev7bmRs4LnNNeLWd/44Ja2wR45BZwaVAQf6YsGShR7C72+QjOhJnzmMfhD2oOKPMoetejdaRhgaKl1niPm/DAcVblgjGfTa5fiXmUo309ob1+CNiJ4NtBxmBt+J8rusW245Vh8RNFOLJKPYifQ4QzQamwRLvwJbrHhGN52UxYgzhnkU7jIEEK1fd9UnOKLUpGrjNp/AyzV3T/ABMRwYc4nGTJDjqtKoZBfvikfRRE6pt9BeRTji0E/nh7uB8gWbfRDpXZBo9GkZGeRpYsWJBlSsCKP6t+1X/qAzyIMc2ZR0J9zHRYnBpVuoh5KxdGlKBT67A94sTIQ/0oRBPKMkU30rszuPPhQ== 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)(36756003)(83380400001)(66476007)(38100700002)(4326008)(66556008)(8676002)(86362001)(186003)(107886003)(2616005)(66946007)(6486002)(5660300002)(2906002)(6916009)(44832011)(6512007)(316002)(8936002)(6506007)(6666004)(26005)(508600001)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?KERxXnsJD7y3NMMKAf4wUtSPVb3J0zqtsWgDr3LiaLapQLCyJp2gsEunofvl?= =?us-ascii?Q?1uKkxDQn5qwJF5Ybm8p9WpJxZwqGvMPSReBgrlNKa0Cr00QyDihTfut5aUVw?= =?us-ascii?Q?D4iwkll1PuLthfKS0ln3i1qDGqFN6D42lOy43kAyHmQoSbTYK0vZgEBep9oy?= =?us-ascii?Q?D4KIPnjetvC7MRbkI+SRmsV4vlf2mqVHiM2eRcqWh0vsqhJqhtG0/7DaOYzR?= =?us-ascii?Q?EDko8+VTxPlHvl8bRhsHXaHCZiQPwTdhQlAt+tHsgReAQFqvmyIxwZ1+7kVr?= =?us-ascii?Q?4F1oMP5BNVK1cOx/reFHeiXp1cu85iqFLfgsfnvnH0YL1cMIq934Nst2FZ2R?= =?us-ascii?Q?GpJqE2kd7qchLAEAuBp2pB4JcgzDZ3v7bb1fKpIYJEzbjIkskhlwibDl1B6Q?= =?us-ascii?Q?hzASFAIwpaIuIB9smgD3WKoQsYAgtDALDC8RS3DrdaU9Ex1cGt04IBzxxMSG?= =?us-ascii?Q?oJBbJJWIdbqtaRPUCRWdW5UGqbNCGmeR+uhumJH1VHnnel9nIO7b/5y7+mD7?= =?us-ascii?Q?oFUg08ofFZwKCJb+OmsvhX2w2WtpYZ5ABDDHjb88HKs4rkw/cRNeXOSLghwA?= =?us-ascii?Q?3udjfNsPGXF1MqxWG8CRsfTTFYeWKsZ0ZzUhcWq48dydmnHt0B61KaZhxEsA?= =?us-ascii?Q?smvD2f8iKeSwlbHuMbzyMbm8aYhs7e/MDgoz1NxhgCi7mEsqBEstjcbBcJVD?= =?us-ascii?Q?3/ukIiRfuXo7dOt9SK+ZvNpbQ/HfRD5LsEBPRpiTlMetVJ/qKEuXN900BDze?= =?us-ascii?Q?gMpqYx74LBPWxvBexA/31mDYgFI+jTcKbnR4VY3XMDAIYEBUWpKGxyIZFOHF?= =?us-ascii?Q?Y/WsAprtI2IMNo6fsamPD7x/edhRKVWwJnU55BPsWZnpQnKVEJJlEQ6jjxQi?= =?us-ascii?Q?Gi/AjZYfnUu+p2WMjL3FIVdXFmaaaU58gYReViMoiKibhPjS1TVKmDSNjgPq?= =?us-ascii?Q?cUqLwDp6hXU9abG4m/jfQtPZVQ4ghIh2sbR6YS0sAVfA2yDRIV1lHJ0R7wPG?= =?us-ascii?Q?Z8gIFSEKTjtQhBN5iDT8gDnV1pwMoaEQSjIRDzTK8m7T9F1+qNN02ZD0pza3?= =?us-ascii?Q?tGaj8WThSiudpBAo+gcV9OBuR65mrq21GLXkH0CjoQBZiYelb0r4XdGyMIfW?= =?us-ascii?Q?CMBGgTmvMKPLBbpz4oMEeh0iQk5y0xYokgwvmMtlQCIbQQMiRxYE0XuYEjXz?= =?us-ascii?Q?X36C3ON9BPzKu5hC31hZdY180G8xXRTEqurGCQoRNIYphBtpxuVYUrLzXUNa?= =?us-ascii?Q?O2avyweWtRhstj55VHa5cD/6xUWu0ZSdl2fejJnjFP+UWkjiE0W2jOLwtMRH?= =?us-ascii?Q?LzE7pd9nhNR8kvsi9o5b1g67u/EbTp+eIJ+daAs2prMPNYsTUvHED2za0at3?= =?us-ascii?Q?/0Y+0HODyqhuOHUc5XSwoAfKwUtlWC1ULghKyElG9ePft4z0/Ba30U0w61DQ?= =?us-ascii?Q?09fi7b15P2gS2AeGjtIlMg9uJio43BXxcWYOH033DSGaEKPknY2ubOO/xADP?= =?us-ascii?Q?iCQCjLiDSlPi+JdEazfAF5nptxDEYLUwKcz9Z/gRrT19uiZVrODp9VzXbc9O?= =?us-ascii?Q?5B1zRc8uJueznn8czGFomd6OpsnQbjzxUPlN+1A/T6OKq7PVRYyTyIiBkBL3?= =?us-ascii?Q?7lTCv8hoOfqnxn+XCD2vKRz88DWkGAaKD0eu9Ws3CUGGBe7Mmjv2rH9VE3A8?= =?us-ascii?Q?4SB8gerdTSLdE+TTevNf/yIErN7GfuXfV1mLC5ADadm1eB4QLvlFdeCWEE/1?= =?us-ascii?Q?/lvVI0h3kkvOmvHGlN3VlWJj6ZQXbkQ=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 45f20c83-684a-49cf-8f01-08da40bc75da X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2022 15:12:20.4289 (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: OdajongX0Wn/bDofmn7SQhOxH3kbS9XjPrXjwkIZ5qBzarL9Or8fiGtdZ3nwkgBT0Ez1kcfMRD2CvA6Ov6A+Hw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8485 Content-Type: text/plain; charset="utf-8" Drop the access code for mptcp_sched_data. Signed-off-by: Geliang Tang --- net/mptcp/bpf.c | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/net/mptcp/bpf.c b/net/mptcp/bpf.c index 338146d173f4..4f4559d37f9e 100644 --- a/net/mptcp/bpf.c +++ b/net/mptcp/bpf.c @@ -33,6 +33,12 @@ bpf_mptcp_sched_get_func_proto(enum bpf_func_id func_id, return bpf_base_func_proto(func_id); } =20 +static size_t subflow_offset(int i) +{ + return offsetof(struct mptcp_sched_data, subflows) + + i * sizeof(struct mptcp_sched_subflow); +} + static int bpf_mptcp_sched_btf_struct_access(struct bpf_verifier_log *log, const struct btf *btf, const struct btf_type *t, int off, @@ -40,36 +46,30 @@ static int bpf_mptcp_sched_btf_struct_access(struct bpf= _verifier_log *log, u32 *next_btf_id, enum bpf_type_flag *flag) { - size_t end; + size_t start, end, soff; + int i; =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"); 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); - break; - default: - bpf_log(log, "no write support to mptcp_sched_data at off %d\n", off); - return -EACCES; - } + start =3D offsetof(struct mptcp_sched_subflow, is_scheduled); + end =3D offsetofend(struct mptcp_sched_subflow, is_scheduled); =20 - if (off + size > end) { - bpf_log(log, "access beyond mptcp_sched_data at off %u size %u ended at = %zu", - off, size, end); - return -EACCES; + for (i =3D 0; i < MPTCP_SUBFLOWS_MAX; i++) { + soff =3D subflow_offset(i); + if (off =3D=3D soff + start && off + size <=3D soff + end) + return NOT_INIT; /* offsets match up with is_scheduled */ } =20 - return NOT_INIT; + bpf_log(log, "no write support to mptcp_sched_data at off %d\n", off); + return -EACCES; } =20 static const struct bpf_verifier_ops bpf_mptcp_sched_verifier_ops =3D { --=20 2.34.1 From nobody Thu Sep 18 06:43:00 2025 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a05:6a06:d3:b0:4cb:58ce:be2f with SMTP id l19csp18606pin; Sat, 28 May 2022 08:12:35 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx9urUJcjYXDilVdcDComQQXmgxF8p+zchOJzodOR6jhwuCVyP9fwDr48QX4jLy1Z2L+5Dt X-Received: by 2002:a63:d855:0:b0:3fa:6f09:a3f6 with SMTP id k21-20020a63d855000000b003fa6f09a3f6mr24336104pgj.342.1653750755444; Sat, 28 May 2022 08:12:35 -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 ls12-20020a17090b350c00b001df77a45f76si8313339pjb.174.2022.05.28.08.12.35 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 28 May 2022 08:12:35 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-5471-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=EYe+60T7; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-5471-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="mptcp+bounces-5471-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 0CA5D280A70 for ; Sat, 28 May 2022 15:12:35 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id E1F9428EA; Sat, 28 May 2022 15:12:33 +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 4025A28E4 for ; Sat, 28 May 2022 15:12:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1653750750; 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=+6+uwafSgTmnxF7pv7NrORO4rz5yqB1ov+6o6eowgYQ=; b=EYe+60T7u6/3HpFxkb2jSLi2U5F+L4zFnB7n5mfTUuSf/UiGDKNMhzOsCgrq+X1qMWFM/N iudiMb6rp1snHWho1+bAKTRH0jm8wGsngz9uI8wRo3Tsm8DkttAdgOMSepGgDhUZugs4qL BiSGTbroznS6nMumermK5SSc7Yn+vB8= Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05lp2175.outbound.protection.outlook.com [104.47.17.175]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-43-A7j6kiG1PMSTnGf3HZ3OAw-1; Sat, 28 May 2022 17:12:29 +0200 X-MC-Unique: A7j6kiG1PMSTnGf3HZ3OAw-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oZzq4C7HcWN9H/X/EDyfmVx2xzflBdd0SvEMphUwHTAS7Dj0KTCYi8kThjgI98xe8ef/RkyVdRNpmblkYc2AlNilAGtO3dEitdqMekL7pdf1itllBMcddD5xQwkTb92gAo2xjhA533Zqy6bitWPLBM7lDrkdGUipQvJ96qmFwMlXWH/F0kLGq1/ejyfN8AFHfrR8mMJVJUN2OhwmCcMFURkUfBy1KI4O1VCnWmbxwFrgbTxkDegXVCCnCZ/Ph/VJK1/Vtu+QVzXglfC8QDrEJ4+bUeVcIVU8TAOzobrOYp2eZ4Fb4BGS3b4oeYDXF7A4StDaavUHPZ4G/rg5/apqrQ== 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=dCRU6PhMc0r4SiWL9K8boAx4U86UXi2rvAI2zVf3IaM=; b=g5VC+gc3nWcqyolUtycLlIhzrLNM4BIe8hZj32XFsspGvBMRL/KZ4KfMLFVh/El6Qe+W0fNCw7yx7UOS7JG0MsaLzGBZUXGpwt4Xum1DJQurcf5Clx4XOcMzaqPK/VH7Notc0itxVbt0NOeIt4db64WdKTeR1tsdZB2qNpJMp/OouxDWWr0LNSU4K4u4bAJ5XLdrzZS6Tq8FPFvRE6KkEQpdQRWqVswkwSi7CsPO+XUGBCdUZS4NkZwvWk3KTaJPLm7iUKX3t1Cvn7pE+q3X/VuSS/xzmruLyyax/jckgWp+e8ctXBgzK6m8piLxEP0bK0R9WXbSd+nrkazOpswHvA== 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 AM9PR04MB8485.eurprd04.prod.outlook.com (2603:10a6:20b:418::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.15; Sat, 28 May 2022 15:12:28 +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.017; Sat, 28 May 2022 15:12:28 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next v3 05/10] Squash to "selftests/bpf: add bpf_first scheduler" Date: Sat, 28 May 2022 23:11:47 +0800 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2PR04CA0063.apcprd04.prod.outlook.com (2603:1096:202:14::31) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 389ad975-fbc1-48f7-3c38-08da40bc7ab2 X-MS-TrafficTypeDiagnostic: AM9PR04MB8485: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: xeJTDPSfnrlTd+ixnvpW6NFkYSBr0GROo8cDO6xj5jrJWqEBgSquP4rKDRqGGUQNgbTJW2A95txpUs90gS8SpBrkWOfKowv+L+S0OGhsbucPC9ko4nP6lHLqbDxSwZpcqzNU0QNr7bPLWGf1Aiv6rSpEeZsf3xeeSnG9NUgyjmi9gIkppunKghsxBbL5JVjFLRp2ciXSjln+SZhNwRAfToyzQSAmpk5STQ+Y99SlpkjpkCcZG4VuIojK81d5fAFTpL1IxnBic5HI9EB07AaD/E4rJeEc+Q9IqCZt0HpCn0zrSXKXbRMQxfhbCBGvelk9sgNH1O84brzVAyaiNLq3DJvPqJvxkf+fnuy+licCC96Q8bLZtPqINxnNx3l3qHVCEm7XtwemAJjJl2udcxnZWbbG2pxRPsgt01IvnuU4xz6H0VGYylaXNeFMr1y0Xfse7Qy30HXQ2mVN+ZEF+i5vRhT/4Q6vjF2aw5aYYFosHcMJIG18wcMqUE4KZYy6V+NRZmyl+g4eg+d3qrwDLcrZ/g00pkKofrp/8x5amuLUkMg+hMybGvmh+Nlm4/HBlOYdajxHSV7bhYvLBRmEj4HxmWDKk+uYCmOyt4HTIbrR4tsyKQL4OKHwc5e3TEFGbSTwaZr7l9FZ7zMy+GRVCLUSt+lASnNQub95DmtNffABHJvtBTRch06jhvrHkycBITKWc2wP4sfq19iJSYzrujyTEQ== 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)(36756003)(83380400001)(66476007)(38100700002)(4326008)(66556008)(8676002)(86362001)(186003)(107886003)(2616005)(66946007)(6486002)(5660300002)(4744005)(2906002)(6916009)(44832011)(6512007)(316002)(8936002)(6506007)(6666004)(26005)(508600001)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?v0L4umDkXmINsSFEf14bGF60LPBhDfWGhH8KAJWnvJ6GJwoAtedDdZTeouIv?= =?us-ascii?Q?xzlSDn6Bf2lAeK4YcXmZAabIcmdAUM1dKAV8d1tCyKRIl3K5J2tT5tR8A4qW?= =?us-ascii?Q?tIVmErTk9zQzZ+7pFVbNsrLKb9DCzGlP4yPMYj6aJByujCEX13WEbd27CXgo?= =?us-ascii?Q?ZlDpnhzcnpeGlNx0ypVMcHuR8Scdqno7rBhdjFSyqeln13TLk0YIvyH8gwkn?= =?us-ascii?Q?InoFuoMuGoGNF48KH6/NFAM5RjfwyBRyIfFb4L02jGwS5D9Oyp2IFoAkN841?= =?us-ascii?Q?tNeMNMxucGQSSeFwm4tHqTWR+dOAbc6DxqMLN+zaTwC4arXPddSuXwp1uFUd?= =?us-ascii?Q?oyCr+5TxYxPidAcAiJySzjJLKpl/GEbMs9KXpVrXCocOhUSdXgOAlu0JAQLa?= =?us-ascii?Q?d0tyl9Gk9+JP+4irfZktImm05s+122G6tLyVNkL4JetkbQ6vGum3bG8cNT//?= =?us-ascii?Q?wdOwwBqGdhLXrAWIe+cPuyRRRBpUpar3Th6C6tUp7X50PhmeEx65ewrvDFyB?= =?us-ascii?Q?8tx3sdoovnapW4oI0bTCgrMHQzkHEUPqU5mfMf5FFqGH7eAQfuJUD5A/F08U?= =?us-ascii?Q?zUk1M9MVhK7plhJOBKs/rfiVRlHhBs61+ATnWdyFSpjD8u1jllDEIF0axOFH?= =?us-ascii?Q?GoNza8ZfWx/MN/x6asaWXF7gB6vQ0Yby6uEyml9UtFqWGJLk6METwbLbSdnv?= =?us-ascii?Q?a4tUyfbONtTQrWLrYB7ybMai6mgFxpRC6nLzraUlpkoYTozXykLxceRSnbU4?= =?us-ascii?Q?t2qkrdvwErlYVSyJrM0y3ZdJjNeSAqUdf0vBwC3qD3ETo0Qo9h1gDsJigwwq?= =?us-ascii?Q?RGHMW6TEvye18FFU39ebbQTXhDN4UjqIKJmnFXpzDUGW76TXa0Bb2ME/64lz?= =?us-ascii?Q?dPSdWlobrgi7BusLek8GOaixkP1I+ip9G6+JdlizW9RmZjgDt8kg2fWmXgNM?= =?us-ascii?Q?iYBZJPRW59qU4fNv/1yUVSsAuNS2huu0sRTHSn3wIL7/8Y1mGxUYTo8c5sp/?= =?us-ascii?Q?VUISAfAhYeaWWoaxBsqISOUwoU2FHI204Wvz6Bw++vIoTCZFuFQfC3oJ+Exz?= =?us-ascii?Q?3egWL4BCjCYaIGm5dZacEW9T8uSFyfaOj7AZCfdyaWsFV6d+iZGgNMFVI0rT?= =?us-ascii?Q?rt3tHN67TDRffCsburOgYQCMtFjFzqhX11jzpIIqj85jXv3wjl0wsb2FRS06?= =?us-ascii?Q?ibfzlL28i7/8eVdKG3bl75xw0M1Vy0bKMZRLYQRecK8u/Ty77cVwodlUMmAa?= =?us-ascii?Q?sILktgdpFxyQP/Gs9IDj4ozxpzlgRrHDEYzX3q2C3qOYMmy07Rb92ePz6Aqa?= =?us-ascii?Q?b9DbpzhcqvAVzctc7aFEyCjgCPaViEN+pSRvYGFJFkE9opsNIoOEWdXlomRm?= =?us-ascii?Q?5eN4Qp8bJWQkkm7Kub6qYpp6JbshNRxYB4ASoPgHnJWxlddIecPlzfx2lypD?= =?us-ascii?Q?8Sf8zyPWWFFLuoT7umd3pqWkHIskeSlt9Z3VKXCIzPAyWvri600yCaF9RqY6?= =?us-ascii?Q?VQ6lp3Xe/tF9xEmeOmsxBG/D3K9e8AqaiNvg7c7BQXeemDmU3TWP/3prWbF5?= =?us-ascii?Q?q5VWMTFWN165gXgoKg0E3Lx2YK6ftQ5dbiPspFC+IkeuCbpvNAaodid9HM3m?= =?us-ascii?Q?aGbuRKVrPHH7fO22ysb1UqljrCcdUOEJOv4pSyxuAn1apySidOWDsRTj4eu4?= =?us-ascii?Q?t4g91tW6cP8lSohFyMltcctFFlb2RhXI35HMkySLQmXaW1EgJmHc2IJD4MLY?= =?us-ascii?Q?454L3fiRYfgEO5hA/iQi3oA6ZZv5Zuk=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 389ad975-fbc1-48f7-3c38-08da40bc7ab2 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2022 15:12:28.3658 (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: SFZmBu4RcKIlD/79le6JZwoQAlLQBy6OWTTvvZ2nv9A7iHZJCywqnNKyxCwsjYNPsgLVDOJ2W2QPbyUi8X2CfQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8485 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..0baacd8b6426 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->subflows[0].is_scheduled =3D 1; } =20 SEC(".struct_ops") --=20 2.34.1 From nobody Thu Sep 18 06:43:00 2025 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a05:6a06:d3:b0:4cb:58ce:be2f with SMTP id l19csp18683pin; Sat, 28 May 2022 08:12:45 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz247AdfyvtgFCx/UdkKtbnt+yulXsWCaUdOpM0oI/iDEhMrUceJBwtz3RSdKGcKe051WkA X-Received: by 2002:a05:6402:51d0:b0:42b:b34:1cae with SMTP id r16-20020a05640251d000b0042b0b341caemr46182615edd.335.1653750765409; Sat, 28 May 2022 08:12:45 -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 i16-20020a1709064fd000b006feb6e5da98si8431986ejw.625.2022.05.28.08.12.45 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 28 May 2022 08:12:45 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-5472-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=FrFy1Uf8; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-5472-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:4040:4f00::1 as permitted sender) smtp.mailfrom="mptcp+bounces-5472-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 E8C042E09D2 for ; Sat, 28 May 2022 15:12:42 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 9171628EA; Sat, 28 May 2022 15:12:41 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.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 2FFB128E4 for ; Sat, 28 May 2022 15:12:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1653750758; 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=FrFy1Uf8mw4mO0peg4eADTZYncjFayBfejczJk5JGC06A+8Z7YruRbA8xV84dbJKsM9K8+ 8D7z3B/A2EV1PxIgybbUuzMaTOfSTiAXH7Xs7d89DHwMtTT8rs7RODDBwW7p/bJHiubQ34 8ZX2qHqtDBT6VfzyVew7LoG62YZwgLk= Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01lp2054.outbound.protection.outlook.com [104.47.1.54]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-2-Ask5TvR8PTuHl12MsxZq8w-1; Sat, 28 May 2022 17:12:37 +0200 X-MC-Unique: Ask5TvR8PTuHl12MsxZq8w-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oGOr29t7E9oGAkGcaW7SL5mxv6bnsT5GlZKUFBXc/ZcbNpsSESl1t/TAx75l0q2hvGHYw2loddzo7VfXaXRkfsxukx4Y4ExM0O42m0Lo40iH/7QrxzVXQYqFgNsjThuctIYdUNVGPj6qVQvULeekeA9+CVzyEmXEiyMzH7eF3POIs3VrIH56O6bENseZsUbXRHe+p33nJZNroBXHT9+jsCFtnCzMVVcF2j4hZM+DXW0idfglfU4kxiuPbjYzhKCLmSftUgdwR/FbIYMcbNSglHE92MLWF5LihtAaC0j425VsjUvlMH+fBW5g1d1VHBM2CLh2BExWSVd2a7O2TRiAqQ== 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=LzcvW5nBBG2hGJaD8PxCqJBIh3vNZjWKhv88h7vupMQpBTzBJINKcsh6/kxZi3M//7yWAzdO84b1LRRgEMbth4sJIWXrjNPtZ7xOIf28RejCxt3cUfDwQJHSt8HpMuAUfFYLEz+sEGycL/rXmv+NRpQVnd3S13CtWcNVX3H2y8L1PaRc0cA0Z0MgUlNww9nu4rXUZKuUa8hnyF81zlORRAzsLa4UjYXH5Q/EM5EgbotMAnSjASEX0c1fAwUxWDdQ7ot2Z3yYa0IFsgQ0fN9GiH54KkilMNW4jsy4wNa0PuAYrmF5H7o9GFAieOVxPmE7uF8VMRtDRSoo8ueZAP3hjA== 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 AM9PR04MB8485.eurprd04.prod.outlook.com (2603:10a6:20b:418::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.15; Sat, 28 May 2022 15:12: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.017; Sat, 28 May 2022 15:12:36 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next v3 06/10] Squash to "selftests/bpf: add bpf_first test" Date: Sat, 28 May 2022 23:11:48 +0800 Message-ID: <70325eefc8777a1a56ebf53154db6248474ae985.1653750351.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HKAPR04CA0011.apcprd04.prod.outlook.com (2603:1096:203:d0::21) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: fa22a59f-b626-4faa-3b60-08da40bc7f5a X-MS-TrafficTypeDiagnostic: AM9PR04MB8485: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: HOOyEKNapaLMP4Uv2CIfYwUoPXCC2+hzZBE4/8KpXez132tIEw7UbgG//3C24TnO8KVOrjE+MpEsKizeHevCnFvokzhKuiu4O6AvmCtC4zauLQIxau+3TVbqjD8v8PjlNC0JbNEir4IXKQfoRTBnWMoj/lVAJ3mxyqi/S4euJYeBd9hH2ZPXdtXvtH8YudOg1TSNUKtJYdh0F3XtNiSAk49B59XYvWv5ztRskIiq0VREVoG6zyUD1fx+5N6cco/ToCCd0jH+87HXHHgfjUN04BG0pyajsr5psNWcRBTKmZG0Ms+xMHooZLcg+enS2LiRrAxPB6X7/VSaEteMDNnZhH5S9zxNXQgrfLFuDxNMgofNFr35CBGGsLXoGUooOFhRndeO/2P248gWi2xN3DNu7/NeEXSG6Odi467AUi2qT4Y0iehNN9Ed+ic4k14n+sebu6JmM7J5iWDqA09Lx7XT3Vm8fior8mE8t2dwau0dfFvlM6p6CAKYReOm82EWEW+iWeuDl8YMHR+McybJeGZoaf2jMl0UuPqhQlnnmFP7krI861/MgsYOIYnT6hOY+RM0otx4YzZq/7sH5JPiLNlDup7lhZp7QJW6/EW/L2PKgSo+/oETUb+YRgPNg9QEqBq5jI16+XUaPW1mB4bdlUVSOMsYIhB82MvXJk9lgm1YyACkQQM6LDMPoGftkro2pJEr 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)(36756003)(83380400001)(66476007)(38100700002)(4326008)(66556008)(8676002)(86362001)(186003)(107886003)(2616005)(66946007)(6486002)(5660300002)(2906002)(6916009)(44832011)(6512007)(316002)(8936002)(6506007)(6666004)(26005)(508600001)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?PTsTrLYJRXZetj6qv8uO7KHQ/efMqY2a5vD8hnfnn2yscc09mIud7HGixh0X?= =?us-ascii?Q?TIn3HylSbe5uD2MMF8+Y4il/NDsaLcxCpMoALutKGT8UveDxv9HVEkiTy+Bo?= =?us-ascii?Q?uggrX4YFTwN+XyWJ+iDsCtTMorwoQ3kIuQo5aLcitEt5/gYnG0k1wgBZT10W?= =?us-ascii?Q?P5BEdClzzugp/s/HxY9VhzSmiHPUrLneoOAQGRPy1x+2QPUrsPTM1Z/c2ern?= =?us-ascii?Q?knosrVMi+aJ3Tksk0q9yFjlnzR8SY4BDdZILHEpwaNUFnV+JX3W+4+dieJNc?= =?us-ascii?Q?vE+MVhH6YE63xUSd1zJqqn4M34K1Xg4dxWXYZLCzhQSpZ4sXBJnykDxbiIIm?= =?us-ascii?Q?iFcEAeEBbrp4l7J0SeYmatt1spgoh8vHCLZq9UevfBUXGZ/+4bb4nCckVLMB?= =?us-ascii?Q?99Z/W/MHVbuRsKI73mjSFvr87oJsQjPyd87QIAx7f/vYpQpfQLujDPmNLweK?= =?us-ascii?Q?9oweONcH2i774b+5nBZvWAROIUB6SxMMmiRbthc3bMCH8hq0P/qi668MEGjk?= =?us-ascii?Q?41B1otztBusYjptlQOEHRTQ/ofcCR1psD94nkdTm8wdQFi0NEigo5QgXElrb?= =?us-ascii?Q?VCqrT2A4kEWSgWnaIAstGpKP1z7cidzspaKmJkh7tBFpdPIWP6uCkB0nARSP?= =?us-ascii?Q?EwCzzR+JUCGwag1SXCMvM9fKBT6YcSdIobOgtKr2gQwmocLDWotajxEatAFB?= =?us-ascii?Q?KsNg4VZUSrlIbkrETnoFMB4i5eFE96umLyeWrY0lfgCiU1k2TiUH2ZnlY9ll?= =?us-ascii?Q?TRjcnf/a5m2mNhVl/kWybl01JmdWTDyUWY4SajhKapsXST7WTC+KGDjRPcfu?= =?us-ascii?Q?OEWhL/LYugbBMlwNKx8C+xN2ttK1+r3uu0+pnP89chfTGBqPEf9q+08riM45?= =?us-ascii?Q?4BOm9DHGc2qGo++50M5U37df3vWwbsVPmppvsnkKq6Ga0SUndsPnyU6ND8ng?= =?us-ascii?Q?VmHxcXFgScZNY2f9HeIB11NdZvICGEt9rTB7BHnIRqrKgnWKdVUUTJTQ7t2B?= =?us-ascii?Q?x/LkiSwxXM0SLwiXw0APOcjFTjFS0qydJ8O8ctniwYDHx9YbkhG4iy3vjEaL?= =?us-ascii?Q?NyQFm1c+sHmOZx7Tfg5FJ4uBENU7T5HXQ/9L+C4bkk5yR3Sfyu2GKiJpTcG9?= =?us-ascii?Q?bnpptzs5OukPTdr/9hiteMnCPWIBn9s6kDy/O3oKLlHHoyh13Wn53IS0rO0t?= =?us-ascii?Q?JMQQwQpPscutemH+YWZ1xIMjero2mpA3zB07GcEgxEtryqv1c5VancuE305I?= =?us-ascii?Q?woMdw6eLJUsIuP1NQpXBni6rpcIlLJh/IUHy57TjskvekD1v0R0/EOdwhWCW?= =?us-ascii?Q?BVtxxw03pZBwPvjcRM4zvOzvqzaScPrkF37KDiUYdYoRYTucmOt3tJ9ZAO5X?= =?us-ascii?Q?Hto2NrIx0AtA+fjotDP8zaO6dEM6SxHAwajsvJfiDSN7nR3/G6VZkbqI51oA?= =?us-ascii?Q?EOZlzZAXi5gYnyppY+eiMiQkcVfLcRWZZSfXYEAwJ+MOJMzDEDD+CHHtxxh9?= =?us-ascii?Q?1p3wKKqunFQRTyosOYYJJQg/o9xUKpWB2fxR7cSAy7QgYtY7G+KQMhFv4nag?= =?us-ascii?Q?hjSUL3NRO3fBYXDloCJJmBaZwd+nWgYgb/+/eT3xuiuSZJdgGsYfUzvXbzVI?= =?us-ascii?Q?zdHMUpzIh6rpz5xXfOyuooBogKhDei02unAH0LAqNeNC8eIQeOEKF6yyq6Tt?= =?us-ascii?Q?3NcUzv0cAp2DbiNQB2G0Sj04uz5sj5k7K247F7gBJikNEqbJVT1i+2m/tNUJ?= =?us-ascii?Q?iM3DEQUalnvhbTp03HpiS1ZO6JpzSO8=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: fa22a59f-b626-4faa-3b60-08da40bc7f5a X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2022 15:12:36.4120 (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: 7PoxW/x/G6sB4SVyZgx+5jcg66Gy+IlvBwgv0FkR1j7uyW9o+vRXNgGbC1okFJ5i9ir4usV5BfutqtqhXItVvA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8485 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:43:00 2025 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a05:6a06:d3:b0:4cb:58ce:be2f with SMTP id l19csp18748pin; Sat, 28 May 2022 08:12:52 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyMgzRFrVDt//ZyahuG5jEfLR10zb/QqYeAybJk/QEOjJWQ/5/1VdyHb2+acQuSe5pYWwU1 X-Received: by 2002:a17:907:980c:b0:6fe:e4aa:61cb with SMTP id ji12-20020a170907980c00b006fee4aa61cbmr28100709ejc.593.1653750772688; Sat, 28 May 2022 08:12:52 -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 v2-20020a17090606c200b006feaab4820asi6203427ejb.678.2022.05.28.08.12.52 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 28 May 2022 08:12:52 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-5473-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=PziffSa6; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-5473-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.84.19 as permitted sender) smtp.mailfrom="mptcp+bounces-5473-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 163BB2E09D2 for ; Sat, 28 May 2022 15:12:50 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id D784428EA; Sat, 28 May 2022 15:12: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 7C5D728E4 for ; Sat, 28 May 2022 15:12:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1653750765; 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=xuYozgaddlDeSE55A0pVmL81JMQS4al7vBycEmSzRAM=; b=PziffSa6xh1pftGtMzjOuAcO5eaXyzqrmhuuwR0DElGdR5GAvI2qkZaCBZtLsDCgmOZFtv /LsEjynH7sJh7hvuUBXPOXa1nAd57CLSbQTdZUNGzGnklfRahyUPMR0X3/NqItvANjjl8M BWz1OZRne/Gb9v5/PLeR0DcaQ8Tbmk4= Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01lp2055.outbound.protection.outlook.com [104.47.1.55]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-4-jImyJdJpNDCHdSXX5FUi1g-1; Sat, 28 May 2022 17:12:44 +0200 X-MC-Unique: jImyJdJpNDCHdSXX5FUi1g-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=I5y3k0uJEW5mLhVGao5TTefJNXksNOZGpzUn5NEbzfach2Xr1UA3n/vsfxkwNA+/vV17V40laTvQ6ZD+oNM6pgHLKfXG3PEtH1wfHzZIBlvrgOV0FIK6wQMPaqJnMFiESt5cGkt9qJaMj8F274rD7VfsVe6u0MGr62ciJ5lQ7wLmNKwQ9yJQc04/nkoYn2PJnfHQ4kPY4RAXWy58eh/Qa9PGwAiJkX+zd/SUqB7tFlnOvLz1QeuxX+kM7Lx8iBva+UEKFkuhNrjJBLrn8++KVX/8dagMGT1onz1u+XxGQ17x9KeR/sftYCrHAXS9j2SEoG9OV0goOj6ZbDthLpFVSA== 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=Wy6I4VYR69C5bQkC3b8AKqFY4DGCwPTwFI/0hBFcvWs=; b=bpNldK9kN6sOiryOiM3QM+DToT7BfnTdzBkqth7d8iKiLFdQ1Wf/mHzLLcnqG2BSRkdHHIzaPvLK4KHTlHNbBRTxygctwhOBDac/Vdy0eKCohQfeRaJknkNpFfwGVm499MXXDDakWwLbae/A/Mp/QdnNnQNg6s9v5WcUc4Lw7j2pJ3HTO1docmlkOKHJnEBcQMzJm2BJ6zhY5Ct9poqoXf95o7mkVd4yChG9xOMH3HBLsk8rK028qi6W57kljgo45kGXS0d2WGLPJ4bv/NYGqlN08Sm/RxeuWKWjZ1r4Y3WaiUT8AJRO2I/RJCS6jeGkMakCp022l9V7zNYks0fZyA== 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 AM9PR04MB8485.eurprd04.prod.outlook.com (2603:10a6:20b:418::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.15; Sat, 28 May 2022 15:12:43 +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.017; Sat, 28 May 2022 15:12:43 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next v3 07/10] selftests/bpf: add bpf_backup scheduler Date: Sat, 28 May 2022 23:11:49 +0800 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HKAPR04CA0011.apcprd04.prod.outlook.com (2603:1096:203:d0::21) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3473ec18-8859-4105-3ca8-08da40bc83e3 X-MS-TrafficTypeDiagnostic: AM9PR04MB8485: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: UaoDme+IWUH4DX89c2liMMGB3OIsV4AW3IzNnyGQH2dqLZ7WearW/nfP6grkMgIgzo8wFk5SAl3uq4AsenRBnylS+anB3U+B0XC3K3hLq/k3zTEbwNijCHXkh1JK5Omt6tcZpbWo899QYJe8al5K7RcrBLkxby0+G5fY70pn3ywiWaUxCBSmj9h5ZxYh2xnhpsUMf0Sx97A1pye54AudklVgkb0ToD6JNUn3QLJC//560VK4inzbA4POww0seXmZSv9GZDbT857xm4ozSdSphIcD+h257QI3Qj/SMHXslmc7SnU6dlbcyRbxIJ4AmN2X3WepC8UUb9UaKkD4/cYwWOYpSBxunyeiP0ZQ+TQhbDwPdaGmvgk6V1cwXkBolivKXY//ffbA1fR/FOgOJbP3/jdukM1uC+X0gXg8lE/whQdjohLRp/mcwM8djrzqHnr0NVH8DyJNKOLoovNMkayQnnOcSVcNrfD7h0I/iLe49St96MoaHsqPm5A1++RWPiTxTTbGkIQgI1dfRsL4nEyoVWe6I/v2qGM6Be1K2pGd+rg1RbzMSHgzQ6FVDzCgTnCk9W9zY8nXih/6WITy3l1C4UUAnEnoNK4G1uwucIx08gbRIYHdBkMZCo+D2yQdhwbcG9LXK26SlfcnIQtNAKvtkmTvDwLtzEGi1X6Rph+bLKbvbuu4gDLOd/LYNTnDaUp2vflH2oW13UkDRwuKUZXhsw== 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)(36756003)(83380400001)(66476007)(38100700002)(4326008)(66556008)(8676002)(86362001)(186003)(107886003)(2616005)(66946007)(6486002)(5660300002)(2906002)(6916009)(44832011)(6512007)(316002)(8936002)(6506007)(26005)(508600001)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?v7FcSPPEfNcIz+qwiNUPH3bwmyiEKf52B0lbYLMlC4B60ojGl7UnAy0eQqc0?= =?us-ascii?Q?SHsL2dI1neg9qZFBGJ0shZ2AFMtL1yKC7unuUL8riK2IKvfj7gulfZQutwqp?= =?us-ascii?Q?hyO2GDUSVa62gtt9HfEMNJp6zEFLN6ScNc3gMU0y8j2tytSkfajfyKkYt75b?= =?us-ascii?Q?5BFtD3SRI3VzIDjvba8YpBI80/05C2KN3YrGJ1+IVzTlHxAIF6stwUNsnQqu?= =?us-ascii?Q?AUwl8RcBZY5RZ8IAyzcFPdgaz0aZ0trvfLkTBSld8GuoOemR0ebpIeXUQsKd?= =?us-ascii?Q?RXpE9hp76dd1xBkYEyAP/SMQKa17tcifA4X13zbnTKx48syhfT7jzXKKiw7N?= =?us-ascii?Q?CDvwY37dGctXU9EOo2zZM0Niyr8VtuFS/idoID3JtoMiueM3hhQ716eYbabK?= =?us-ascii?Q?eJNzFkP7l8EM7Y1gw1d/oW/47sadYpXfOt2vx89ZMZ7NXEUQDC0sSy8XFpkI?= =?us-ascii?Q?TC4W1MQd2Tm4KOEbTc6XP6kdIZccUPWlQvo8p/gKQLmY+RBxMWS6g1Sr2n+n?= =?us-ascii?Q?qmtcWi46WxobrTRGetrMUuuJLJ7dlKUqk0jYzYg5bbkPSpIpNWaU4tF4BpQb?= =?us-ascii?Q?I00So3w66akyAxYVffnyJWEr0W3weiO3HlRmxg2xj2/8WMHNu6zEFT/Vg6wU?= =?us-ascii?Q?+rdfSPzWtJgMvBV7aIAVIy9C862tHGBs5M1JilezTpfOfHYNbYuGLB6VoLtn?= =?us-ascii?Q?juPqUvEtxnPZ3zlXdeGJyfJRSOJ/P0zE6eSqu5GkQX6Yfjs9Hz6tLiuFRmHe?= =?us-ascii?Q?cFGAvsU6W3RnDOKKloV721ZQz99OmahYvCsoNV67RKecG46nujb9LEWaeEV/?= =?us-ascii?Q?5AcOHpJeIK+U73UFXNCAFEAXH2s7odxpqdoVMPYUUot3j216Uf0ye0AAk3K4?= =?us-ascii?Q?H9lr5ecQORsilzCASYnYGqJ6j1fqWondhCOPzfpPiWpUzUEdyuCknhIeMDgI?= =?us-ascii?Q?o5TUMF+A5PXQJ4c47ALnFlDprtXY9rWQSd6JN6Ev4x/NqB5nVVfegAeS5xl7?= =?us-ascii?Q?p3Hlx78PDJfEHZ8DJWUNRTR3POLgeT/VQoVp+Q2LcDYNF8+5AQOpBcP0HriL?= =?us-ascii?Q?fGIJBCz40J9UQFsQ25stJZFv5Z5gKMnlueQkXF5I8BtrvX2Q57QwPRAxLwka?= =?us-ascii?Q?2kJ9FoKTmUu6W7vx4ADwGSBElEZjvrN0jCm8I9mperQDG400RS312nRKF7Ul?= =?us-ascii?Q?ThOHWD1TdJx7OSUKvoU2I9jsgx7KRmUmxu8tXw2c6fRCWXyyo3aXACE2d94O?= =?us-ascii?Q?xuzTLGgKbVukA4W79PiimhfXyXjppri6H8q2RH9KyxJpncheflmdPRCy4ImF?= =?us-ascii?Q?Wzl8XOKbEBeqSMTsTRTIwbFow+5SHZQbeJdQQR8MJYiq0vihbYeCkziYMAj2?= =?us-ascii?Q?X9KDWQQRUyMJfFSFv66NxJWuIRgsbEUsfqh49cFVSPTpRrnkcm/E4jjFyYq8?= =?us-ascii?Q?3LjAMJzGY4DFen6kGv+6Y6cT4cF9HbfJjVJZXLT6n3BslyYty4/p7hWa5j2Y?= =?us-ascii?Q?rGRvxYTXpzysda9If70yQorqxCNlxWwLXBkYQOlYK1q4pbwcSL2DMBFL7Xo8?= =?us-ascii?Q?AhMdLhl9YkR7tknp29+SklS86qOIhS1BhY/TS6VavHbUelxkEytPW65irXUl?= =?us-ascii?Q?suSkE5Oln94sfSGoSC5BAEzGWnzFptwpnsvliagzEDiACELhZXv3IJ+DN7I7?= =?us-ascii?Q?cwq6Z3lPM+EZpyWdWglTGAWjmiEPa5QhNwDatJEXO9HzzsZHxZ9WGlNDkVxT?= =?us-ascii?Q?OgfjDun4a7R6TR2mjCJLKco/Lm32pBU=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3473ec18-8859-4105-3ca8-08da40bc83e3 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2022 15:12:43.7864 (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: kB++mNwa6DPuH3iAaF4gFg4B795jUFNfylw2hKdyfsfSqzNmHrca8u8Rv1/d9iC4lZz47jqyTxUAEbDFIffXig== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8485 Content-Type: text/plain; charset="utf-8" This patch implements the backup flag test scheduler, named bpf_backup, 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_backup.c | 43 +++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 tools/testing/selftests/bpf/progs/mptcp_bpf_backup.c diff --git a/tools/testing/selftests/bpf/bpf_tcp_helpers.h b/tools/testing/= selftests/bpf/bpf_tcp_helpers.h index 988dbeeac040..1b9dd8865ae2 100644 --- a/tools/testing/selftests/bpf/bpf_tcp_helpers.h +++ b/tools/testing/selftests/bpf/bpf_tcp_helpers.h @@ -235,6 +235,8 @@ extern void tcp_cong_avoid_ai(struct tcp_sock *tp, __u3= 2 w, __u32 acked) __ksym; =20 struct mptcp_subflow_context { __u32 token; + __u32 padding : 12, + backup : 1; } __attribute__((preserve_access_index)); =20 struct mptcp_sched_subflow { diff --git a/tools/testing/selftests/bpf/progs/mptcp_bpf_backup.c b/tools/t= esting/selftests/bpf/progs/mptcp_bpf_backup.c new file mode 100644 index 000000000000..4f394e971c03 --- /dev/null +++ b/tools/testing/selftests/bpf/progs/mptcp_bpf_backup.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_backup_init") +void BPF_PROG(mptcp_sched_backup_init, const struct mptcp_sock *msk) +{ +} + +SEC("struct_ops/mptcp_sched_backup_release") +void BPF_PROG(mptcp_sched_backup_release, const struct mptcp_sock *msk) +{ +} + +void BPF_STRUCT_OPS(bpf_backup_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->subflows[i].context) + break; + + if (!data->subflows[i].context->backup) { + nr =3D i; + break; + } + } + + data->subflows[nr].is_scheduled =3D 1; +} + +SEC(".struct_ops") +struct mptcp_sched_ops backup =3D { + .init =3D (void *)mptcp_sched_backup_init, + .release =3D (void *)mptcp_sched_backup_release, + .get_subflow =3D (void *)bpf_backup_get_subflow, + .name =3D "bpf_backup", +}; --=20 2.34.1 From nobody Thu Sep 18 06:43:00 2025 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a05:6a06:d3:b0:4cb:58ce:be2f with SMTP id l19csp18796pin; Sat, 28 May 2022 08:12:59 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxa/0m8b6A3EX0uwsuO4OFnxoLAz2TiNlPKAjaSDF2tgIDDI3W58jAmLQxx0hX84z+4s71k X-Received: by 2002:a62:d147:0:b0:51b:3626:41b7 with SMTP id t7-20020a62d147000000b0051b362641b7mr1696692pfl.7.1653750779069; Sat, 28 May 2022 08:12:59 -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 g7-20020a17090a714700b001d286e03218si5871967pjs.109.2022.05.28.08.12.59 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 28 May 2022 08:12:59 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-5474-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="Lr/LMZPu"; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-5474-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.88.99 as permitted sender) smtp.mailfrom="mptcp+bounces-5474-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 A09512809A8 for ; Sat, 28 May 2022 15:12:58 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 98B2028EA; Sat, 28 May 2022 15:12: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 F2C6228E4 for ; Sat, 28 May 2022 15:12:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1653750774; 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=tsdyxvHeHUgkx1/i4msHT1pYKZKfz1GQpufWvqPj4cg=; b=Lr/LMZPu3ndtc/nOlC2sontuoadGAsvXFE1dkLMwCLmwFyXpNtruGu6CZ9NP4SWJJ0AcW1 yJEWO+1W4o9S7nkzOK54EHKRNZYZiMOba16NKDSHBG64ppsBXw1HFLjej34lxRzFl/fVrx zD7FNDWsuubpbK1aPx1z7h6HJAhsUfM= Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05lp2168.outbound.protection.outlook.com [104.47.17.168]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-7-nag63sBIMXOl4Z2Lrh_R2g-1; Sat, 28 May 2022 17:12:53 +0200 X-MC-Unique: nag63sBIMXOl4Z2Lrh_R2g-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bW+Aw1gX6PIg9kXc9cHMZ/1iFfK72ns8oqLq1qX81s6lbTLVMl7HDWAhaEPPFLlAQF84QbHAlDYAAH1I1eadwY+mQ9wNfxHIQfYAAgB4QQzWW0EByttLMTKIQo07uuq3jGtvqjElyJRhbzPSn/h8bpYBne1Pcgx9hYCKM3dg3P+55reyxzl2WtPQy0fSNeVYe5Eg2itOYi2/Msk50u+j9UGwQK20LDIq5Pp18FE8c3AStFsP4MhneUvJa4RjUr3ErqutiDl9KNLSVecco2JKRgGNsbHyGV6a58wDXApP8Ep2RmSi0fY0XTarqDsxNfAonDOTMxe6iCWRTsdalg//Aw== 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=YBVHehu1HJnLSMuH9LBaYBn9FYWX9AVxpfLrNg+aj7k=; b=adI3JRQugW5SLjqSS7iLdMEu+ZQgkA/dFJhR/WA7h65KkkWUehj7g5c5e627AIjV9ADEc6BCQ6CdI00cY46w5p9LhlA6t+pnpe+EwomaxyUUSmP2zdDzd4wO/A4SfwJlyOb8S32a84lj6tAO352SStGGVZROmMvN1KTrjTSMIRcyZYpq/Y1mkPsuT/E3exMXDwgdJlXED/+2NrxuELW5+xLDBbx543cqHDdH7W3DJegDRBOpJRl7Q2BGOUpFbCNsVqT5QzobVLWuD9vufO3ZnDfv/6dS2x2ZLESRiij24lRzJ+WJVSX0M59AQtDDe9i3G3CYv1BsaoIEZ5oA86t0Jw== 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 AM9PR04MB8485.eurprd04.prod.outlook.com (2603:10a6:20b:418::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.15; Sat, 28 May 2022 15:12:52 +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.017; Sat, 28 May 2022 15:12:52 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next v3 08/10] selftests/bpf: add bpf_backup test Date: Sat, 28 May 2022 23:11:50 +0800 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2PR03CA0043.apcprd03.prod.outlook.com (2603:1096:202:17::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: 551a0985-1ebe-47c0-bef6-08da40bc88f1 X-MS-TrafficTypeDiagnostic: AM9PR04MB8485: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: a0zEK/6D03rk7227qsPRT0qTef2kyNROL+M+f1ndYgBxhpwufVu18qc3c0mlMlKqoqNPjEKAcp1TBJNSUoGKz0zCN2NZFH2DoX0HkYliQBIkXvWms0JpNdaVzRc9M76Kre/z0HCF7tx6GZWEa7ODsBPsytOgP8Ri3WCPjm0CPjDAyO+bYvrY/meHJeMCkwQBhrLbf5bGd0FGX82VTf5dROYRhYolQs1V46hrdr41YiSYoWl4ikpnTviCpxjH747AR9fpiSw7g0rQ82i5R8nfu/E+kVly0lQ/5IzRM0RNt9hjnsx/mqCoHpQwHleZfcuBYOeAHVlPdyfiuzfnvxms4tJHX8U/UVNv8cehZtf9BKmzdV1RVFbJEagB6kFWc/MYrfub7pcAnnqnbMsXtbWr3io2OAA1Ix4/2EKa3Rz3VOgfkC4Alo58mw1YgAo0th9Gr7RaLbz6Ak3YlrIyRtfdSXfXlIzBY74q9pXS0zLsxLacOQ3voKfCy3e9hloVUVP9rHEvloDi+U/c8xi8jgRz5uG3Mq8bjMb6N6qfFn3S7QbTVvdwT9+ZYl2QK6vZcRIqI5HJDN1JNW8PGPi6feB+R37+IqVD73oEJUR59BlbM+b/mQs9cOlZ8I1ArmrjLcom2SfJziE2gJWPznNVredMU0rL+mGGC0d+BLVr+hvW97Y4B1UYQWj2qGEEfikEyIf7 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)(36756003)(83380400001)(66476007)(38100700002)(4326008)(66556008)(8676002)(86362001)(186003)(107886003)(2616005)(66946007)(6486002)(5660300002)(2906002)(6916009)(44832011)(6512007)(316002)(8936002)(6506007)(26005)(508600001)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ReXNjCe36OniJQeIZnEqPXbw1/22lUlATyn9HjeIMPvWeY0H5bmKn/GZQUY2?= =?us-ascii?Q?LK9qABoJ3RmIyUQzNuNDaSX7yDd5i7bhUEzYfv+eEcM22luGhnTFqq1piGBC?= =?us-ascii?Q?YhasB1LfhJMJzdw4zmI+CKlLrtEIvQLE5jlEnzBoUrz3SNDrRjH0GBhiemCw?= =?us-ascii?Q?+G30q7egoEX4cRChhrB81ycK2CY4jP9puo5q7+yrRIrpJVBFv5QWluQ3nwoO?= =?us-ascii?Q?ZasCohb5+3AcOJcZjPtpZqGoaXlSNJLBK7At+1WH411GFyqcJubTsUjNm+1o?= =?us-ascii?Q?N0u/ox9qt4HbmAOzEPSa8oRsgyBck5nHep0A/Qz5+n2k6dA9xaGao08TSjJv?= =?us-ascii?Q?owK+7Wv5LEivIiLcAPlFBEbTpJzZnJahIaZychVZcd2lz1QEdCKD3QBcqqvj?= =?us-ascii?Q?yPiqXJhgG678s7q8QUbWBfSVmQ4LiqNNOQIQ7MAQP6YafzxBWgTQf06J2rVM?= =?us-ascii?Q?SqfzzVSvpHPlk+W43Lh3WypH0iXV2sSIEuh3TeAfXfOdqdw9riKJH4YMNxfz?= =?us-ascii?Q?qgTD6pACl8/DpWt1qsuVA/a3+D141owtSGDeCus2KKfoKhUMzJoS2MurIbtx?= =?us-ascii?Q?wqITsdpqGEalzMJOwpl82xKsiE1lqc833DXcxuhjPGpPwAunZDdV48Te8gNW?= =?us-ascii?Q?uve54KVlr3a2FP3xGEGpDjF05HHku/j4H9B6i5w6V+k1YBh+KgAGcdMOUzqV?= =?us-ascii?Q?BfvDJLuvhgR4DQVfcLkBb/qmiEBun1i24pkTxvtOg1jmFA/RLe6KX1bct6Hp?= =?us-ascii?Q?s+DkiRTmebCSM5ZcNagr8UCkRp53lS13wvaIKT1GnEGtR6MX1BBPHGsBrGhX?= =?us-ascii?Q?q8hvrA8kYW6vnVN8+ZIeUGlhszMFPwWbktnyFPVLzBJYu5ZG8R7dFVGA5oKq?= =?us-ascii?Q?e350wKuPicqpDwZe/q0PeqjNMYJDEi+QP7X5MEHkoEs5SzsJX5QSYb3sY7OQ?= =?us-ascii?Q?Q4tC+Zs+i4d4cmJCQAifm+04E3joBEQwNxHqOYVWn5gKklemHVYeqDeIFan6?= =?us-ascii?Q?L2MkEB/oJdSQf8+JQtZkC8WzDj9nIFbBlEHMORoB6S+81ZSFDWlx0B0yp2mT?= =?us-ascii?Q?tK/Lrc5vEruFY8m42lCsz6JdSRZL1o4MRQ8HBfd2LClV6e1lw9yFkrfYJJU8?= =?us-ascii?Q?6fKjp09rhVvYjWxkj4Epb1tuqm86mQCWA4mwY2DSgFGrqpKxZzob6mmKY+JU?= =?us-ascii?Q?HgRNzmDIu6+1G83eF/LAJlcNxxWWGHlxNC2ljNIvz3ZsgRUZ0X5iczebo38R?= =?us-ascii?Q?XCUTwy9XKKnAE9OxaZYPFkVYvJobW3WGR6addg8rOEMwS0IBX6HZrpM8nQj+?= =?us-ascii?Q?T72+j94NnhJpNTc7pFht1+6kYwj0eY2k8AxPVYQLhrlzbK3ZwPUbeCqRL4pV?= =?us-ascii?Q?BR6bnGWDeCyATC9dJWe93qadVNFS0FSpYVjV4V+7wjXPWXOehKIcAe4la1WT?= =?us-ascii?Q?WadVEz9jmC77VeeRbWK/m5Jn6AxOuz/WkGO9dxw5Q2IDIeixpW9gsYYpp/iR?= =?us-ascii?Q?s4GAvjFW/SFBoMIkOhD+dJrxMMNbaWF681yxvqk36A7bNo2wG4dtpOTi61eQ?= =?us-ascii?Q?zFenXt9W3t27YGS/Qro7AWCUO8NyyCcnPYsjkrgD2Gh3b0ZG8MNBFFEGgno/?= =?us-ascii?Q?teRoCMT8Eca9FLBfoA6uYtJknM8+0S06g5dAUIoDmdBNNC1jrBdJtZ/P2vTh?= =?us-ascii?Q?FQm+VBqbcLdVCUAmiybGbj2sT8weRBWK7rA+ea9WoLnIs0tBAjQUoBFIiaJ/?= =?us-ascii?Q?rxyNgJtC3iE2d97i+dv3UIp7UXZqwjc=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 551a0985-1ebe-47c0-bef6-08da40bc88f1 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2022 15:12:52.4888 (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: 2LpILWDm9lNKwQifee7GJlzYkCTmvX/Hl2EwpwEVWj8oWzdsHa5rX55eXXZ1dc9nvuES3fk1DtIoLsT2sqdfiQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8485 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..1f92d251a9ba 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_backup.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_backup(void) +{ + struct mptcp_bpf_backup *backup_skel; + int server_fd, client_fd; + struct bpf_link *link; + + backup_skel =3D mptcp_bpf_backup__open_and_load(); + if (!ASSERT_OK_PTR(backup_skel, "bpf_backup__open_and_load")) + return; + + link =3D bpf_map__attach_struct_ops(backup_skel->maps.backup); + if (!ASSERT_OK_PTR(link, "bpf_map__attach_struct_ops")) { + mptcp_bpf_backup__destroy(backup_skel); + return; + } + + add_veth(); + system("ip mptcp endpoint add 10.0.1.1 subflow backup"); + system("sysctl -qw net.mptcp.scheduler=3Dbpf_backup"); + 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_backup__destroy(backup_skel); +} + void test_mptcp(void) { if (test__start_subtest("base")) test_base(); if (test__start_subtest("first")) test_first(); + if (test__start_subtest("backup")) + test_backup(); } --=20 2.34.1 From nobody Thu Sep 18 06:43:00 2025 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a05:6a06:d3:b0:4cb:58ce:be2f with SMTP id l19csp18869pin; Sat, 28 May 2022 08:13:08 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy2vE4GoRHlyyO9D7ozHZfxfb52BTbmSw/MoDkYjdkawr0uPdlhrfKHhVgyOMO5QgN/2tcZ X-Received: by 2002:a17:907:6d9e:b0:6fe:ffd4:dd70 with SMTP id sb30-20020a1709076d9e00b006feffd4dd70mr21829172ejc.115.1653750788618; Sat, 28 May 2022 08:13:08 -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 uo41-20020a170907cc2900b006ff20273cc4si6185488ejc.710.2022.05.28.08.13.08 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 28 May 2022 08:13:08 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-5475-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=ZselhBwT; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-5475-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.84.19 as permitted sender) smtp.mailfrom="mptcp+bounces-5475-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 3C4192E09CF for ; Sat, 28 May 2022 15:13:07 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 092C428EA; Sat, 28 May 2022 15:13: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.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 70DA428E4 for ; Sat, 28 May 2022 15:13:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1653750782; 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=HihncijsMr9F56VMqTWllyGtHgPR+1fx3CywO0MoFj4=; b=ZselhBwTJHqzcEgwz4xAJCZhUoSV5Ort03sTEx0c1AgWPBgg62ljJzzvaMRyrih0SfCMkz QBbh8TKKlYAVDxgGbXZZOtgnjFKYVZcoNlbFUp5sKektJoJ9UClce9SltupLCOXmMhZec5 5R/vB/LVS8xFofRp5HWTebb3aetls50= Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01lp2051.outbound.protection.outlook.com [104.47.1.51]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-12-M6Mgdg7MPASqaGLiuq3U3w-1; Sat, 28 May 2022 17:13:01 +0200 X-MC-Unique: M6Mgdg7MPASqaGLiuq3U3w-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lscOxl/G46pwXGrm/aLrmhJbCGHjZN89iuH8NDvM9c6KDG33h0fI0+qMnTX1pEwpH6MNHJClWkeWCFKcID+VbfQ4UYKGSIBLfF1EylhEfHyiLLpb1d7km+1CgFyEqpfT4w1tgLX6GJXCVo262j2nZ9pUYWQM74vsgnHfjj+7cMrPA3wodjJYc0iw6IJOjRtqQFliE5pL1tIC2hpYxOMeGqs6FRYfcjW2kld/8diokPLSgMet6vwmZwcrFHJlM/jipOp6E2hHW+2nDoPys695KPMLeqMS6cIEF71pOGERnebgGpRjoHWXll8ZfevaRdXs8Q9NornT+87HTbxapwb3MQ== 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=D7QXPaJ/SCPIU9O4c2r+Hp7e4B/pm/qUG7fV9XEs+ho=; b=dtXfXDTn08nCi57wIZf2EAqrZf+OJMC8YIhsekuvmAKGoZRaridZNuBC6Y2Tg456dbq6AD1hi28zwLIn/G7dUCl9SCG1ZcOjCRw+2vkDU9ZQGvfCCOpWYhsnj/IrUoeYlchRtHteZ9k3fm+wfO/Gn4xBdfeHTVPWOQBqEEZmAgs/Gyp3WthApTFt7l4OzUmQEHvKiYXaG2xc5/GEpf0nIBgJzpMV3IHHX4F0IHJabIc2zlfytShu5ggtoIzRb5Kz0Z+ZJzikP13O7YA/d9I2FlaEtNIKttnQGgl7+qYk1J9YATLCVs8YVm4Xg0pqrC9A2WYAk3RN/eakZH5NWgJmlA== 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 AM9PR04MB8485.eurprd04.prod.outlook.com (2603:10a6:20b:418::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.15; Sat, 28 May 2022 15:13:00 +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.017; Sat, 28 May 2022 15:13:00 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next v3 09/10] selftests/bpf: add bpf_rr scheduler Date: Sat, 28 May 2022 23:11:51 +0800 Message-ID: <6553a705379b387136bef0ee827a85f0a381b7d1.1653750351.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2PR03CA0045.apcprd03.prod.outlook.com (2603:1096:202:17::15) 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: 752f6bd6-b6b2-4b94-e52a-08da40bc8da0 X-MS-TrafficTypeDiagnostic: AM9PR04MB8485: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: EAJ9PMAj5vpaBlQw357sl/hEf6CouRizdloSiZIJWfwuLXRPctq8NLQpsWMnL3trqgcZ+7dAhhRPxzpsXF6/GhC35NMjiCKs7COLa4r78iYiRQcUdNkUr/jYZzDfELeVI2NuzVkPhvVsuV67yOETfjULxYPQMk6247kvCO0AuziONvOupngpZSsUoOnUq6bGvCXDu3J6nJ0AHohy3NugiazfBtaRxbFCI4omHdPG1N76kpaHLebXyp3BXTDC1wZQ433qrZSPwYu81YriE5DDXyHLS2Z+1SfA4JZf7edHcUHCQh6PN9TMXQrtzDPiLdnMswyiyeWBevOz+3gQg1eI9Zbe23C2E8sX6RaQuMt3dNUX0MWnbWc503kc/4D8iFbgE9+gpZ5a0IABP36T2yyr/i8knKlx12nnQPBsqpxLerI7kOVQq0lHkEuXh7qPNSj7lv2shU+csPaoIaX/77rpYrmJfjUnhpAzcWPdTZgsCmMeGc336f4+FzFonKNoGkx+G6RRVbQjGIy9wlpFm2FQGla+msVL20swP4uGTcCfasYDMj8capluFU4NAfqd9ecmp1Q3olJ8QrMH27Ih3ZwWcKWsyHr3IY6Z5zO3u43JqgNWTCfPjcoW4nTS4dtgJX1CPZVUxEZUNiJ6DJ5wyRe7nA07ZLBVgnKeIkX2yvPinMGFVvm3lLCAaKVIX8iuXHnxBy+Othz0nheUHJ5rYejTJw== 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)(36756003)(83380400001)(66476007)(38100700002)(4326008)(66556008)(8676002)(86362001)(186003)(107886003)(2616005)(66946007)(6486002)(5660300002)(2906002)(6916009)(44832011)(6512007)(316002)(8936002)(6506007)(6666004)(26005)(508600001)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?qE2bzkrolnDW+J0lnFciqT85LM1hGI4xf1z7p+vhxeHy1xwMU5Pxp9O8ZYd2?= =?us-ascii?Q?BK4ykU2c2vM/wbjxdJwMfgC0kFmmds7lv/cCm5uwbEzW+j8FS5NAmCLP0juN?= =?us-ascii?Q?F+9INtcke8rYAM6akOvQPy5WtpxZU3x8VbUAVpH1h5DGXNohXA95RZBV5u1l?= =?us-ascii?Q?7lnOHtmFESC8ujUV9VW+4M1byKvfib2jkCq1GKV+lgHXaAiiqRPMxPw5IZvc?= =?us-ascii?Q?CVrIfhsZb4r7SLXnDX5MnL4/hwCmId6dtX6Lg+OqJgl8F4iHOizjZjVxboUF?= =?us-ascii?Q?t5Cw2rwYSTQWjGg2DPkCzuOLUrhwlX2dwVKDIQpNOayf7IDKxWky16IJ51t7?= =?us-ascii?Q?J7Q6Co5EJRzkXQFcXurQ1f1dk3z+zPqyxyg1JwB//n2PNFpPgEn3qOQPk1Cv?= =?us-ascii?Q?imubGZTMcCR3HUxoprzSiLkPs/2J9IUjHhNW9sMuneYPPNa7I6JZe/O2RZ4E?= =?us-ascii?Q?JsxMArjoipThhtz38g8MPCbRM13y+b/6SzZgOds/7omiyykIMJvZXUd+hMRq?= =?us-ascii?Q?h4uXhxPwqOUu+NFodmwhCHvLpoDCZTZbn+evPOUBzkfqRkYQjBNSll6nPrnH?= =?us-ascii?Q?hQ9TZWv1lHlEGhsh14NcYLHQPK9gphvrt/j74GvFNN9gBzczOsOHfn6vNWNA?= =?us-ascii?Q?91LxpK1jkIse8PlKjIRj1dvvTU8Gw8+dUn8XqhpBuxJTQkAsxeBsQX7CWxNf?= =?us-ascii?Q?Xy/siETeKpCClGh5NG1tv7shwzUpTggMnelI9vUGmaF6cGtAB7W61ZXgamV0?= =?us-ascii?Q?rAkMQESMPxL//T7oTnQlr6Umpd4Q8fGLewvGrPzqJ5nBM5AMmA2nuQ0MBZaF?= =?us-ascii?Q?XXKbey+aG2zH/43XQ4HDsBoYg6oohx+yZjdvjPbHAFTXItw4UXXUxq18Ix8k?= =?us-ascii?Q?rOV/kfY2Titjr9EwbXxL9xtBLFDuMhHyHnRF/LDMIuwWUB64m5STsUw0feEN?= =?us-ascii?Q?LwMixCgWcnWsIhjZ+tzXgyr8KSrNIxrutdhOMsTdV0EFNMxe0mw8eG90N8k2?= =?us-ascii?Q?Igy4PB60ZsKEx7S5tdTXKgH7zXBUXgdPrmKEWXuMzyoDA8m4JgwDSBGdnqOm?= =?us-ascii?Q?ljiVGqEfDYg6wAv85gEZu/CmgeDIv5Z9c3dHbW7AlkNeoJR1Fw8XqTvxY5+R?= =?us-ascii?Q?E/Cfd+A3JEDpjOmASt9/PXsaFeDEQP6zNOxu+lQXfxqsYmQ5AGj5PkDPgvs7?= =?us-ascii?Q?0fF1d60IdAZLcK9dkh2IkD9xkWFztZ2X5RtsvR3ZyENCifr3xGMh/9DPWOXB?= =?us-ascii?Q?+32KofJm2Pv8VX626CM26s2k0kxhPzulKhFm82qBDEsP0cR9ztLPEvzx1RUR?= =?us-ascii?Q?lSvh1YWirHN5rXrJ2eOLuq+aCQPbnuh7VcZm0K0UuyHmEgWQcQnLXtRwgBWV?= =?us-ascii?Q?M9+TwDslq8RcDjMWG5QElHX7Bqrd0fiKJ+lMzQnqvODIOVJr7eVSY7EQ9bbn?= =?us-ascii?Q?BE6epGb0hzJT2rkCtKpoa+tpsBo1waZ2Uk/EJ06nC+Ml773IoqTf3kwflqVV?= =?us-ascii?Q?oY1ParFOb+yBskmu4faz5TeTjH+IW1dN/XQ18aAFVyLyVtXJ+7ffwrb5QYx7?= =?us-ascii?Q?rpfaWxx8aPnzP4QkUdM6a724mAO10ydy3xQgpa3leG0M9vV2URSSaYJnYh1c?= =?us-ascii?Q?kjBI2zvsNIGnc0kZo5qnoW0mJ+4uadPiGggie2CzQQVLTJGAQCuONqpQ0Eeo?= =?us-ascii?Q?jiPi0SQ9ywpb+7Ntz7RCqrUKrHLD2Pm4zg5xAlEbcjmAW2+7C/NNSozlyv+j?= =?us-ascii?Q?oIurD0k7OOSWk2z8JhzP61qj7sz/3aI=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 752f6bd6-b6b2-4b94-e52a-08da40bc8da0 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2022 15:13:00.3319 (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: 5NzdLcmCURCDlNcubvWCfUrR5JjTipvdCmIHy80lXTCP7+lyVhXKiYYJ9c0OPBT1uVXJkCIFGqo3z6kH9hpNZQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8485 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 1b9dd8865ae2..480be2ea7d59 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 token; __u32 padding : 12, backup : 1; + struct sock *tcp_sock; /* tcp sk backpointer */ } __attribute__((preserve_access_index)); =20 struct mptcp_sched_subflow { @@ -263,6 +264,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..de0d893e08b4 --- /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->subflows[i].context) + break; + + if (data->subflows[i].context->tcp_sock =3D=3D msk->last_snd) { + if (i + 1 =3D=3D MPTCP_SUBFLOWS_MAX || !data->subflows[i + 1].context) + break; + + nr =3D i + 1; + break; + } + } + + data->subflows[nr].is_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:43:00 2025 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a05:6a06:d3:b0:4cb:58ce:be2f with SMTP id l19csp18928pin; Sat, 28 May 2022 08:13:16 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwq++m6xWVkz2TV0aasiGJO6Cn+11N7pUacELL7KCuowiJQujrqQ2TpsjviYQHDGk1Wj6OT X-Received: by 2002:a05:6a00:a8b:b0:4e1:52db:9e5c with SMTP id b11-20020a056a000a8b00b004e152db9e5cmr48524359pfl.38.1653750796279; Sat, 28 May 2022 08:13:16 -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 bb7-20020a17090b008700b001e299fb7e56si3119805pjb.180.2022.05.28.08.13.16 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 28 May 2022 08:13:16 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-5476-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=MxhpkMT8; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-5476-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="mptcp+bounces-5476-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 0085E280A96 for ; Sat, 28 May 2022 15:13:16 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 183BF28EA; Sat, 28 May 2022 15:13:15 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.111.102]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B5C6D28E4 for ; Sat, 28 May 2022 15:13:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1653750792; 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=A8o1dmjAPuzjWnTF94tHAl4G2hRnUZc4lxxspXLgyzs=; b=MxhpkMT8nlyZaekr3jYSme9yfLxZfYAffDfSrEegoGY3iG1+drI4lFa8xynMmi0NEwIUeo BH0wW/dNlifoe6eo1vy5kO4sp2AT70QoenvCHefu9WFRvQilPMhZ2RIjYpuR4clYloqr4H 24AdbOuWmorBdoXp01DjED9c3tH8rBs= Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05lp2177.outbound.protection.outlook.com [104.47.17.177]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-22-kTPpg5h0Ny-zBFjP426WbQ-1; Sat, 28 May 2022 17:13:11 +0200 X-MC-Unique: kTPpg5h0Ny-zBFjP426WbQ-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eA3gQRQJCG7aJPGneMhSwHKGDL0qSsZROsXD5GKgIKT19mw7aqrgJAIGrwo1+191nxbyxODfx1zjuRMX7d6yHiL9sI5XLABQkEpopaMXEnXZLRkuNwP10Z3UV+naGOVheAWkwtyqAbBvTUbBZfzTsNRM1lO7iuJc51hgSvUlfVVJ7A6Ba864xzzvUM/EapJjVV/EFAdNJqym/zzX7Z4QbJRzAj0tbDWA/IVXJydh2ybaxLbtl/K61dIYZSIg4RX2tR1HGsInhvbOVrm61n/2RTkQx6HJFwRFAXVMOn1oWq6uWlXuBPMx2ocpYDJUzxilHyxbFXesVBXTmchqyT4JDg== 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=fc+zRpA46RihtQSmRZ7Id94cSOuDDSYibsw/Zd/+lsQ=; b=neNOlWn6XnIkyPlGHRoIFIjgv/hdpbgOBhD6BsYWfMONiE6sM/QJNeTZQONw+wDFYLkAa2lgT6OuDBt71/kvXnmOf0J5+zqqjKP5x37/sdauZ6krXcRk+kqCYodPFSd4iCAF+SeBkjiYntMt543IQgimOnEJ7/BljmXaj8uOITzLYBx5m1A5nNpPQSsfj+NemNxOKTVmQuDyzhem4ZRCel5JDVmFXlwXA7s2/2VMV5cAoOr5c9HhKi/NuPvEHZSnQzl0JSUhvNdTy65FguavWM2Xx13Y4OkXV2pqAB5pa8CuQVzyagApWrwTUjldJK1hqbThWKIUybY+G8pewlLiqg== 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 AM9PR04MB8485.eurprd04.prod.outlook.com (2603:10a6:20b:418::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.15; Sat, 28 May 2022 15:13: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.017; Sat, 28 May 2022 15:13:10 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next v3 10/10] selftests/bpf: add bpf_rr test Date: Sat, 28 May 2022 23:11:52 +0800 Message-ID: <1e2b27869e72af5e2928450ff6216f0d78d609da.1653750351.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2PR02CA0152.apcprd02.prod.outlook.com (2603:1096:201:1f::12) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b8f76a2b-953f-401c-1fd9-08da40bc936e X-MS-TrafficTypeDiagnostic: AM9PR04MB8485: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: PiASCgBRRNLekr2G4GGyEK6RNgRrggDkyLwwbnj0YXqyJVvJx7VnMQGPq3bSZDnZ0tK+9sgQh4dR1Dyt+pLfN2z8Z28Xe2CLNJ6Ee5gAyVAYbOvHxhGPy+1i/R9ah/eaJeZ4HvuNYJzNP7StovW/XJnQDSJXmEC64Bq0Ifu6EkMl4tCdqJb+yBwc7+R7hJQ+/qbmAbwSxEgg4dNjOvkFE9F7ZhpXgUyB8nwHyaZE9rpF1+yPO0yUX7iLgFmSj9AUBbxZ7cGa7AyOmO8t8u+c1R/CmtP944Txj/L1RZwHlnmeYvWVk8ikNXxpNXGo/fQI2PydGtnBJQhXMVdu0+0qaddC/M7V8C/ZV8rPHYfrdDInhHLDzrB7G5/mIAz7L9U/EYEm3PJgtDnG1MISSKd9pkrYd8Nve1ZIYaDewalq3XLYilg7sSFYJLuMa8agDS49B8OOTnWIiY/KCNkxoGKEUvyp27r3XASQ5hs+Hi3BIRuf6ANtv6MF3hxmsLltuB30qacoSDg4X/BWEUJecfG7hpplRV27ufZFtMd1Jznc+S8cH0vJw88zM09cN7TQI8QslLcslQSg81DdOhL5BEIWRpSO9O8BWWGhn9JZIyPy4XXhqXMRtNFsQO1T3JFHjD1gs75oDR2RdmklXDuygFMPk//+IR133i8RtEIJMEKrKNxZq75Nw2EU9Yx7S/3Up+1W 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)(36756003)(83380400001)(66476007)(38100700002)(4326008)(66556008)(8676002)(86362001)(186003)(107886003)(2616005)(66946007)(6486002)(5660300002)(2906002)(6916009)(44832011)(6512007)(316002)(8936002)(6506007)(6666004)(26005)(508600001)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?St8jxSubEgAZA1vLXXJ40niAkXlLdfFm2fpg4uVsBAfZDK8bwNM6071nXzw3?= =?us-ascii?Q?ABhcEQGacFXBA3BX/8EcXtogrmngD9XHf4uqLtWo89a6HOyoUwBAZwa0oYVL?= =?us-ascii?Q?Dya8YsT3U4c84vs8ziwsX4jRtr1n7G/F0qTcANwmjxdDEyyQv2O6yx1hXFCk?= =?us-ascii?Q?+f+JPU2ZI84WcZ8SWTEtjZqljeZaYTLMZkkpOfPFvu6mReBO71qbBgye1X51?= =?us-ascii?Q?O9HYtdrzHH5NaFb1EMWmJ71iRsttXiHEotKSJ2+FavnFH0dKjUOF+/jGBKq/?= =?us-ascii?Q?SlhmTXkaLNEG/qvK8rH/kQ7Kyf2iCXzluHU9upkr2aveyb56RYn5GpohWG8a?= =?us-ascii?Q?qIDZzhjq78q0opFMQnNPOAeUebMoKC2gwFe2t2XeFkS/Y0E2HbGwX3/fkxBc?= =?us-ascii?Q?70qY/6kQ4vMjaqJZ2eVf8DgN8BbSRNnRS79J9WzRu+F4h/GnCgAyosLYwKPo?= =?us-ascii?Q?KAvwDn38XgVYwhUyCarem6BVkbORuwNsdrEAbuF9+M8dPcGFkgECeCnaTYt7?= =?us-ascii?Q?aWBxqBxYx7VL/aFjq7mbENZWHtAtDIODtgIvXgapA9nDCPy/5cD9EBsmJE7M?= =?us-ascii?Q?X3rQ+fqSN0QYTxl4VbqHkZIyus5tlaL9mgaI4FH38LTt23t1dXurjpkrQHRI?= =?us-ascii?Q?oW5G0FwrfGeDOBO//YbZjwcUEcCAoKVLF21QpVCTA58NdcdJPOaAAy32tChS?= =?us-ascii?Q?B2AVrnUrD46NAB4yvD0ySt3I7mM3UvxbSpxd54TDdxIH/gd0NwqB7cc3AJvk?= =?us-ascii?Q?CZiLnf5wCJk+CxFl4upeWl5GKcfSGf8XW/rLUAifRdTZfPxXrvUadVNWmv4Y?= =?us-ascii?Q?sHXhhQGrbbq7aD3qbvXrxSx0wyL3ztwWQEhRSEPP3UTKgSvspWIvArSp0b/c?= =?us-ascii?Q?HnGO/I+1VokEI+xaXBsodReYsttD8jW9nZRFT3Kf/Tamp4RwIg7F9lmkQq48?= =?us-ascii?Q?WsUzmClO2DjCvUuEzySLxlR/mDQrdUzzLvkzzKVTZMNTo86N72WZm7Kf+Kmt?= =?us-ascii?Q?UHs9nOKE4moRjj4TT8VcBlnV+W8iyD4h7Qrm7EYP1gPhQD+SMXmUrxf+CMwO?= =?us-ascii?Q?vQR7TDxpChJSjraG45KC3oOoufFeGYuDD1yF9LvIg3qZUTj1nDRGq7Kixy60?= =?us-ascii?Q?/Sn/WzjLfm4N+/2l05fvO/aSw7EcpBZPX3dumrdK0MDksfTkqvAQkaegQ5ka?= =?us-ascii?Q?Kq7zvYD92b1lwmX+zG4M70CK8Dh+6grHb+1e8DEXtywYc+gQBxDcWrJTllKc?= =?us-ascii?Q?hUlUNm7AaTAD2Cjk5JFLK1V6sjJzMhYf3ZjaQHf4GkH67U4/+yD2yd9/7eVK?= =?us-ascii?Q?KYtN4OSt9BOj28PDrJCwuOhnNjmi/ha0CG1CVBKRaUjp6fx2NwMo+5xtGdtR?= =?us-ascii?Q?iNH8MQ57bHL2F9K6ccuquFhZYQec/cGs3gzFszL8x1Hhi+iOWkdW7qPoYRyK?= =?us-ascii?Q?wvpnADL2trofzThlCzw9huZN52UKdzhftks0IvIGGrSCZvRlr68gk+Up3zsh?= =?us-ascii?Q?AiJWG3xXlissZD07gqwXUS87wyngfgMFE1kk7EOlvG0qDZDGQK+KIkqgPir9?= =?us-ascii?Q?LytkS+Usl+Ib0735ezbD7fvbhLirEYXdEAF2yj6JLBPmIR7K2zAOJzM/vUqL?= =?us-ascii?Q?C7L4X1nOhDFold+fjEUOlwjnyLZpSjspdFKfO6zCgr8r9+sm4kQ3+vFHu23F?= =?us-ascii?Q?loPlaBQUsQUcTKKZsuDiowsQhUG1nCsxw9BhSpmYgO+Tsr0DHoKP5ahOJBtR?= =?us-ascii?Q?MXczU3jWufzjetDfLGI6aEqdpy84nls=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: b8f76a2b-953f-401c-1fd9-08da40bc936e X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2022 15:13:10.0499 (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: DFBC22aKdvfVafnOB68yzU8rmRNd7CLRWxFHOIGB5mO8svlD8JaFHEoSISJl+Y5Su9mUveAVfkeBtzy1da3v6w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8485 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 1f92d251a9ba..17536ea8dbab 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_backup.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_backup(void) mptcp_bpf_backup__destroy(backup_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("backup")) test_backup(); + if (test__start_subtest("rr")) + test_rr(); } --=20 2.34.1