From nobody Tue May 21 23:36:38 2024 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2066.outbound.protection.outlook.com [40.107.22.66]) (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 D6E537FA for ; Mon, 26 Jun 2023 02:23:23 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eDD9btN+79PRMO5m9wA7zqJ62wD/UygcsZwxRPrpyEVhXs51egWvILSoC5ZuW6R7eVQq3zgOGw0IoPabD0Rb/QoL430jmgTkkfxVq9DYUBEpSWp5ORdoYVzbd6x5NMbRAOnqpLxPqLZNXxyq+nIo8upZH2WJC8x8wiKC6owZShTXdCsBQNK1TMe+O+wDEnsC3ViDoA0xNvzzql34LLBTjYzMBVWKozDtgVqwbUOD3XFC9fX38t57imE+lDPTHEFRvhzx4YTTc2OfmriKIGhGvG+HOD5kqf2SEAMFvQ/9J4UVftGd5uzyIVvLZVYZ/VWy0nUs6zC2FxMJsMlVyMX7WQ== 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=oeApqQnToOXcd/HPMxQTIZreDZRn6iB/x5WGYHzeERg=; b=jV6W7dPyl+P+vmntcEyPVcOOou3Owa1lvpIyzH8BWebE4EjZdltEs6gAjHlZswpscS/72aVWT+WA18XCSIOWViXU2CBRGd4S2p7gtlQMnF0Y7QtVVDkqpNuZKv9tNi6jVGkEo/BS/sRUCp89tQNBHOnWx39nrwtKonhtJoIliEr0bsvwa3oasU7QzLzXWxY9cZEbdkYOwL2CYT0tbU17yJElkYEjZvU/RzW5NB4u5BP0mFH83VvfKr7NoRYsgFfM5b/YcuhzGRNKjGBnVUAGj8Vb9JJL2VjNo4T2G0W+dbFalcg2tkpGHyaxuw3xIZswlifaLENAFUEUB4Loi850nA== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=oeApqQnToOXcd/HPMxQTIZreDZRn6iB/x5WGYHzeERg=; b=IQp+QhLzXe7VZs2r9BOcfdVeomPX2We1LJJR71IzzfAAE3I6dQJJKmBxQWvjoRxquraeuPp0pqxhu1GeRzjeLqXErPVq4BHk+7ruA9pxzMMEyImbJgvTRyGq8dsh5pb7dpjCP53JUObtwUyayVu7m5AkEWZPp/oYNJCjufXDzYVuN3mf+cfvUJc4b7gMOoNYAm7JNlBbN6nDp+3WF49H1LI0XuLlSK/c1nM5pXERDBXOqSK+7EtKO1FtTicAdSDItt883COkjnv8TCp1MALX2NnlaoFrTvVA8euqFKJzv4pC4XhcirvIeo8PLNv7KDzUC/QBPkXxwHhTjMR3HQYmRQ== 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 VI1PR04MB7088.eurprd04.prod.outlook.com (2603:10a6:800:11d::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6521.24; Mon, 26 Jun 2023 02:23:22 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35%6]) with mapi id 15.20.6521.026; Mon, 26 Jun 2023 02:23:21 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v10 01/13] Squash to "mptcp: drop last_snd and MPTCP_RESET_SCHEDULER" Date: Mon, 26 Jun 2023 10:23:02 +0800 Message-Id: <3b024e4191dfbe2508090eb15dc7966a0827d890.1687746021.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0028.apcprd02.prod.outlook.com (2603:1096:4:1f4::6) 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-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|VI1PR04MB7088:EE_ X-MS-Office365-Filtering-Correlation-Id: b3f9ca53-7fcd-42ce-efca-08db75ec4ffe X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: +kJdSwuivTTtQXYMqFQ7QRrfzIVId+Lko0Y1U4Lujj7moh/CZvTlNnopUZtNPt7586erQ/DJUmHDXQoVJlBA4k7j9GJI7Wvn9N7WRTjOwWwp6moVNtfb0tWWg4atUzRo/KFQJ8OV2XywNIwg/FRWbAbLU1cPFB3yFS+7E/dpxgfpMwJrZdNCmpXFTs7XFL9fZHefmS78lP8iNpoFfvj/Uu4i1/V868DghjK2aymQLUkLvuV0ZDC1iPpAdr3vOebwxAelorxSuuRjWBKd2SQk9mt5j0xE/TgtKp3uzdCcBfo1rX+DrnMmZOobtj3HDk1dwDxdZS3OGo2Gkv1/T4yr34gvBZX403YP00IE5lawOdHacinST9gb6DI9u7wUrUk9F4ZFWN660O/9yemRiezjiby6G2R+BYpHkBNdLg9t6wd81sF5sjebAbV0iLBCzmt1naNoNEUn7qO2g5BCrz0flmuGxxQajdI+KNQvWuhffaiPUS6RgQiiP2mzyBTuXmB42+ZLS97EEkMHi76HLzRsSbo1254dMbKsS6F3HTDvLJewJH6/xYKx1ybvGFkG0/uk 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:(13230028)(346002)(396003)(39860400002)(136003)(376002)(366004)(451199021)(6666004)(6486002)(478600001)(83380400001)(2616005)(86362001)(66476007)(107886003)(186003)(26005)(6506007)(2906002)(6512007)(6916009)(36756003)(4326008)(316002)(66556008)(66946007)(5660300002)(38100700002)(8936002)(44832011)(8676002)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?YYbiQP+5BTmQTiW0jPqF6Thq6O6bafA2oCzMRwDxwiaD5nd6OYOtkrNkLcFQ?= =?us-ascii?Q?9YYoyh1kjQM/3fU51EOFisEb3gC9D/A5enVMrmpUlbIQKDi+P8j+W14Ju9hq?= =?us-ascii?Q?bdMcDKJhPm3xGJPHJGdn0e5lAn0Kj3f3s3IJo9OBXlFKOt/yx5tbvzsvbAks?= =?us-ascii?Q?y5BpPbl+UsMLOR+MTNJouesCkd4Bo2JEM1vPEfB1iJR0M/5qv8NRZ1M2Mwwp?= =?us-ascii?Q?7k8xRcCj/K0NleSVsjaHejHixfqsV3f0UHKBcL3xoEzpI83/5QNqqryImD4B?= =?us-ascii?Q?rqOMIGjzWpwcQENOqTFdODAJmtO+SvXN7mcc4+nEZh7fwJxIyNSYlLeE2mJT?= =?us-ascii?Q?oxQJtiGpnaX4whCHtSIHSEXk2rx2Fq36vPD7C/DfAyRl3HVSheKoTtLTOj+U?= =?us-ascii?Q?+bXh3rC8lWUP5YCbV73yM/jBfb0Ck/NTgtHX6Yhmtxrp7aq7wtb6vHhUQBDg?= =?us-ascii?Q?KxrrPlxyeyDMNDmVbVnw/DQc5YK80PfkLYXn1NVqjK84BsdW6M4lCrfYt8mR?= =?us-ascii?Q?Z0mE3UO0jCY8LKRy5M/0SL7pPe5L1QD9NNyUWiH+LIbMHNABEoDUqmrnqTeT?= =?us-ascii?Q?d6JLJLGjLzj+20xQLa+NzzBBD0KtHZbz+xU1fwibP9xdvPnPfYqm1E5Rr1D6?= =?us-ascii?Q?P0INIyeDLwpVlLN4aIg5eg8Kb9Mi4Y2E3fbokxhk2Ps1tEl2xb0ylp9kLQg1?= =?us-ascii?Q?hjyKN8tJQu2kPubGw8O4dFG7W0dzTP8CVk/ZNVKSvHb4xy6YLzqosK8Zhd+p?= =?us-ascii?Q?tfs/tOaq6iUFeQwCooKoiRkfWoYc3u6euwvYuxcBujZqxe2G69SAFmkaJrS2?= =?us-ascii?Q?gX6gEiFsHKUk0O+G7HonRXLTw+yS8QGCUV0uvsrGM4yORn6lpIm7cl8Abvqu?= =?us-ascii?Q?q9zz/Odv+kqrU079IjF0pIY03CNCe2mey5LyCpDqvf+dorUabUXzAw0wFINc?= =?us-ascii?Q?rzs7i34diW1v+h5eIIwYwNcSlLO1f3+vqEl8tv2Ohs/LNgVo9rREQKoJhFur?= =?us-ascii?Q?R0cl/ZkPsy/JR6qf/SGmJzBT4p3IdrZIJTU4F+A+EoErKDWz0UjWSFZxMpJo?= =?us-ascii?Q?U2LT4uRTXmDXMHlq/7hsKJGtD9BKXglyq4PZ5+V6fCZ7Wbkl8dib6qZnEFdW?= =?us-ascii?Q?wLpRehCTDFvJo38LH3PqN5ceNRdSdiTEGYUu68mEsx72q1dcfgzrjbuxOJol?= =?us-ascii?Q?Q1VZufOwh5gBYta+Vgip2dh/RyRnohRostgSbKu3IioO8MqKKYOiZLqoN013?= =?us-ascii?Q?3eV0LN46E/D1EPhpgMBF5pg6kSOZqHR2hLr/U4YYRxcbKKYGOa5tP7gOvXmu?= =?us-ascii?Q?WDl6PaZT1lTTW8ixQF5mbIshPnOZcsBZhkpU4+4Fc4CA15bGPAvii4kUiucF?= =?us-ascii?Q?CpASO7S0WanIdchcFdRqz2K6MUUTKpksdBhfG4HuuAqncKBYw3ukEV80WnYG?= =?us-ascii?Q?KDb4NLSnIW8MZz8WRcYvmJcRUX97gXc+++5i2yXM2YHY7D9PHKufIdnLAvX9?= =?us-ascii?Q?NxyLmmyY26+ZO6MoSSBlvOPjaPz+jLQ32kRgwDMXaka7YSidu2z0TTR0WFM5?= =?us-ascii?Q?X8RaMzTMdlNztYNwmpwixUwr5DBy0FH3v8fxrd1+?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: b3f9ca53-7fcd-42ce-efca-08db75ec4ffe X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jun 2023 02:23:21.8960 (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: fXqnT29M+CalSNOAcVzI8DfjBAVK3tnMpRGZoFs1Je95HpARztZGriJPwxORsfckBZkkuIR8h/FKSrCd8KNg9w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7088 Content-Type: text/plain; charset="utf-8" Drop all last_snd. Signed-off-by: Geliang Tang --- net/mptcp/protocol.c | 9 --------- net/mptcp/protocol.h | 1 - 2 files changed, 10 deletions(-) diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index aad21e0bf536..3ae0b94d25c0 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -1573,7 +1573,6 @@ void __mptcp_push_pending(struct sock *sk, unsigned i= nt flags) continue; } do_check_data_fin =3D true; - msk->last_snd =3D ssk; } } } @@ -1614,7 +1613,6 @@ static void __mptcp_subflow_push_pending(struct sock = *sk, struct sock *ssk, bool if (ret <=3D 0) break; copied +=3D ret; - msk->last_snd =3D ssk; continue; } =20 @@ -1627,7 +1625,6 @@ static void __mptcp_subflow_push_pending(struct sock = *sk, struct sock *ssk, bool if (ret <=3D 0) keep_pushing =3D false; copied +=3D ret; - msk->last_snd =3D ssk; } =20 mptcp_for_each_subflow(msk, subflow) { @@ -2410,9 +2407,6 @@ static void __mptcp_close_ssk(struct sock *sk, struct= sock *ssk, WRITE_ONCE(msk->first, NULL); =20 out: - if (ssk =3D=3D msk->last_snd) - msk->last_snd =3D NULL; - if (need_push) __mptcp_push_pending(sk, 0); } @@ -2592,8 +2586,6 @@ static void __mptcp_retrans(struct sock *sk) } =20 release_sock(ssk); - - msk->last_snd =3D ssk; } } =20 @@ -3104,7 +3096,6 @@ static int mptcp_disconnect(struct sock *sk, int flag= s) * subflow */ mptcp_destroy_common(msk, MPTCP_CF_FASTCLOSE); - msk->last_snd =3D NULL; WRITE_ONCE(msk->flags, 0); msk->cb_flags =3D 0; msk->push_pending =3D 0; diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index e9ca30189731..8c9b2a03dc94 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -268,7 +268,6 @@ struct mptcp_sock { u64 rcv_data_fin_seq; u64 bytes_retrans; int rmem_fwd_alloc; - struct sock *last_snd; int snd_burst; int old_wspace; u64 recovery_snd_nxt; /* in recovery mode accept up to this seq; --=20 2.35.3 From nobody Tue May 21 23:36:38 2024 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2081.outbound.protection.outlook.com [40.107.22.81]) (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 2E8227FA for ; Mon, 26 Jun 2023 02:23:30 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eCQbK3+luokJjmeqLos69TwQTp2th6J/ppJR69MdzjDnI9h9I6eVtARyZ/UVzxRMVqOAxYlLnh8oEJLo60SGWIYF3cu2wUiRVnjuQ88cvLgCFcRvVbXLPwFiSiKZ7R1rKTCCPNTNu8HWdA/BhuyOVLsxTs3GfXU9BBEdwKerKMtE1hO86GiYnaQbtqmecooKd1gDX8/PwIsoGrENVlddOKBe50EgtdeSO7Zbx8tdFjOGJHYnVCiiKg+6ZtcZJEDMuT9/1LokKdtd+TJqahiykgNNVJNjez7Pag1h3MhDY6xnFscydy00IpsKC3xq+sRE4p37bcSvKnNKkrVuw5rYBg== 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=AEHFthuFF/0+e52J2Oo8+MtLAwJVA8OVor5RdmIyC5U=; b=VxM8hNOolMyNMcHyTYY3hEf+vUxAif4ZPge4cIdn5ubv0Ow1UwF647oPSNGnHX5MfadCvvNoMwDJvWSA5U8FosD4yc8qFduWChwqG85B1hPfE1OmiYufWrJhwylmHkaDD6PlYLereIW/P6TNByEJM5ezPdXsKVbsM8HGRiOq02upCsSPX7Ynh8a+5hAMgidN+Ghmsw6LX+9e60jvjYkxe74o33Af9EV+mCXgIOWo0Ylmhy98r1uLSsTg6PltbunyqU0fC7b+gVvMeaUP70JCwqNUR5Suaq8joksF0cDe9DE46KBa1+gbBu2z686VRr01+YNZKmo6qm5dSGNTpz1f+w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=AEHFthuFF/0+e52J2Oo8+MtLAwJVA8OVor5RdmIyC5U=; b=HJ3TxrbhrdhbpRAwRaXZtiZDIdbhzoMM1lR0IOHnnkW8NfBNYDxs/g3RpqcVnytJI/jZwty4Ml7QcXS1XbekQDoWdZqHur9xSmiYU+y5VV/vZA6Q5L068+OC84/zKvcL8u+rifjjhgo8pVCrju7WfvXE5xu/LRs+rpCLFoX9eiLrcN71lLm0HzB9vW2xsmjPNACNI5VFk4IgIe9u8rzHizAwN/0kJmw7C9UCPQKB1tUcotHO5Xrr5cc5zDE5vf5N6JBy+tgOGq6+hZvvRQNeRHx9pnF0woG+NqPowUZWvCiwuCekHAVGi0yE2woP8qqk24S+lgDkObmzrYL+ujXNPQ== 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 VI1PR04MB7088.eurprd04.prod.outlook.com (2603:10a6:800:11d::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6521.24; Mon, 26 Jun 2023 02:23:27 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35%6]) with mapi id 15.20.6521.026; Mon, 26 Jun 2023 02:23:27 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v10 02/13] Squash to "mptcp: add struct mptcp_sched_ops" Date: Mon, 26 Jun 2023 10:23:03 +0800 Message-Id: <0379bf05934dc748d9c27734a43e8d7d0a9312b1.1687746021.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0029.apcprd02.prod.outlook.com (2603:1096:4:1f4::20) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|VI1PR04MB7088:EE_ X-MS-Office365-Filtering-Correlation-Id: 5b349360-f0c5-421f-db48-08db75ec5388 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: be7lMnlcVyFa93riRV6zua4pI8LSG8NKU1tH4RfcXjrZ4nQSB7vtnBhZxUrE/Dl46Q0Z9w9wzDl1WdpL7TCW3XAlXg5QzZgkLeHEgHO5vP3Fz1t5UDNGKcKoZ+o9wAHa53CdtKXya5ELU8KrDOJgTRQ4aRe0XYSi/RO0cQrCeuIr/Tcz63IZ6uNefpYeF5m6Oinyw2HMsk6McZos0V7+rbSI3oyunjHjb6Hqw+MPdRwNB3R2C+Ct7E1ajUfvjue3IiRDz6TAIYujvkh8i5J1hhgsvIJ/RqHczOgnsrnFCqbD/pUidwfAch3UuDhsFjwjYQd+gkU5ACZlgqOUReOAk8qruiv2LU0ie9QzUGGTbP16PtruimgRAdhs7bNa4uJJiizmcIbQOJsrzYgt9ty0XhqczF9RR1wBHp66gMs6GItxdnEqgFoeNQj3uvpPDm0UEldlfHjC/FlOqsD8kzAqG75v5aS0qElYX8OWx9odakqHxJYLAvdd8l+2I4CW6iMaqKg6qzHgXhZS161GTE6yxpgOxfRimC8K5IGeZRtI2SS/v7w47VYi3gqVnWBM4rtz 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:(13230028)(346002)(396003)(39860400002)(136003)(376002)(366004)(451199021)(6666004)(6486002)(478600001)(83380400001)(2616005)(86362001)(66476007)(107886003)(186003)(26005)(6506007)(2906002)(6512007)(6916009)(36756003)(4326008)(316002)(66556008)(66946007)(5660300002)(38100700002)(8936002)(44832011)(8676002)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?GjWtxuVVgUzFeK/q+ODhRd/UH82WBJWWN1v9dGzwO4H313XJ2yxvjc02aeFY?= =?us-ascii?Q?vdndWBvnzyIf206zOezWMRIG9tPhvqG2277H8AF5L9MSbJisllG96j0aWa47?= =?us-ascii?Q?35qaT0oYQbrM6qoKhoDku/TBX/dntr9r/+kAMjwsOrrROvPmqqHovtYw5YRM?= =?us-ascii?Q?4ctXrOssYqiyOj1Cfys+TH2HF6Tm7GnF7anGyPHhIFWocyOJ7UTPHKwCBr69?= =?us-ascii?Q?zUj7mzQIOehibilS3MOVSrHTirSRV9WnseSOOt7Z+8tnIJbkH8/jPanrFGRo?= =?us-ascii?Q?awYWJr1FKhEbnsr4x2qx5a1RHe5k2x7/EIOZJel6PzDTeiiCqmnmUYVspsI6?= =?us-ascii?Q?TycJ37E2F0dR9wDBhKtRQS8SikGW94jzSCUYeGcYko5Q/Xu/Z9fCmTxzHTKL?= =?us-ascii?Q?wADkxGltriMzB4GL+hM/zCw4wzyE5bMuPgeX/eMV15e3LmC015wSlDLs2bnR?= =?us-ascii?Q?Buidt2cVqlkR71eajWstn2OOym8t5dw08q//jNSeizspj18lxzuyTWrw15RZ?= =?us-ascii?Q?TU0iwizuIw/ocm9es82m2iR9InGZYrbDGyB6ipTSVON36jOiV1bCEo46B3cl?= =?us-ascii?Q?NinTR/8deFA9oooOYv0R+K5CJU/fIaGdcn/iv6FNfFQ9aIb0msrdHMCfcV1B?= =?us-ascii?Q?rzjD2OQ5TUBduS5ckxCR61VailR7sBVDW9ANwTr6f+sxbGgCbNq96mrQ6qvQ?= =?us-ascii?Q?vK3gfwdqFX0x5FPWQ4K1M6X/dYJM8WISngzDVgbzYrvTT4gcPvrEKZNbxwUE?= =?us-ascii?Q?2H3zq6M2c23GdYyB967os9WI6bjHVwQj/rKgynFOWs4xnK6SGq12LNeuIw08?= =?us-ascii?Q?3IkByO9tyjzyoZQrLU+ucoG8V0Ynd0NVbzngod5wrFJ/L50psYzUSe9hvHgm?= =?us-ascii?Q?/l5/HEuxxbPY80NH6MfQnF9MspeNdX9B1yqAgTu7u/BKDJyJ4XGiSNJGKMfy?= =?us-ascii?Q?HFbZwg8+zhumtREHe07mijovUieCLMx0ZrnyoGu5Yy0Gma6ZAcOgmsBIftp0?= =?us-ascii?Q?6zBH9XVbfGxZ7UzISfeCRb5cFX6VwnoIbPr6zzl7od3/YPNqdeGLi7ASUow2?= =?us-ascii?Q?3MJUkf2YMkTPaHPIT6XqLcbfDUyPr5CrEU0LE2MlY5XrusmvsEyKmTQKUvte?= =?us-ascii?Q?AEjaL39t1EdDwKHQz8JbOPcPQV7LE8dCyBk4/ZyRpDZD1Q4/qRfQKLoOQEQo?= =?us-ascii?Q?F5i/CIKX0SjCGwO2XmP2wT8YK9y6t/TRZJhZTH3tlA8pfNYtktC5BbSin0jg?= =?us-ascii?Q?0X2Kcb9RjGQ/1q0RUuTjNtzu+5IPyAKO/X0Ws5zH2H5TQt9BSZ6S5/PZzV9Q?= =?us-ascii?Q?mD8BUGTB95A6INk+p37FrsNPrxWajvrwdDtd0e70sbWlxdBMjCns9rO7ySew?= =?us-ascii?Q?2ETM1XpN/CUELXcoK85iKuxATT081Q5LeuwDxZ6hbOkrmjq6i0LyBkUf2XCH?= =?us-ascii?Q?pfgxtFKyZtJqPwgbRyKVNpj5CgVtL563v0LtP9qCL/nMJ4U9A0JhOJa7ql+x?= =?us-ascii?Q?w6HUsnyLFgQTMLdi1JfBlYiJ8yNzw3DQ8VLiHlLmEa3JJXNl9SsV0szNaJqR?= =?us-ascii?Q?DCVO78nWrZAM/LqGbjZqqLcM5ZEZODLY9fYFlN8D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5b349360-f0c5-421f-db48-08db75ec5388 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jun 2023 02:23:27.8426 (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: eGVfc5F+Q1tt8sZVUDyLuUN0qRyiFxQLv1nxT6rTen+fqbHBjrfTmwZOEBnYIREUtZsJp2a4BXJrICBrq/dB4w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7088 Content-Type: text/plain; charset="utf-8" - Add subflows in mptcp_sched_data. - Drop const before msk in data_init() and get_subflow(), since msk->bpf_storage needs to be writable. - Add const before data in get_subflow(). Signed-off-by: Geliang Tang --- include/net/mptcp.h | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/include/net/mptcp.h b/include/net/mptcp.h index 828b10ddabee..ba0e1ee68a05 100644 --- a/include/net/mptcp.h +++ b/include/net/mptcp.h @@ -101,21 +101,22 @@ struct mptcp_out_options { =20 struct mptcp_sched_data { bool reinject; + u8 subflows; struct mptcp_subflow_context *contexts[MPTCP_SUBFLOWS_MAX]; }; =20 struct mptcp_sched_ops { - void (*data_init)(const struct mptcp_sock *msk, + void (*data_init)(struct mptcp_sock *msk, struct mptcp_sched_data *data); - int (*get_subflow)(const struct mptcp_sock *msk, - struct mptcp_sched_data *data); + int (*get_subflow)(struct mptcp_sock *msk, + const struct mptcp_sched_data *data); =20 char name[MPTCP_SCHED_NAME_MAX]; struct module *owner; struct list_head list; =20 - void (*init)(const struct mptcp_sock *msk); - void (*release)(const struct mptcp_sock *msk); + void (*init)(struct mptcp_sock *msk); + void (*release)(struct mptcp_sock *msk); } ____cacheline_aligned_in_smp; =20 #ifdef CONFIG_MPTCP --=20 2.35.3 From nobody Tue May 21 23:36:38 2024 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2051.outbound.protection.outlook.com [40.107.22.51]) (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 196497FA for ; Mon, 26 Jun 2023 02:23:37 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Aarn3j5CWWEbLGulCjx2ylas6dj6J1cSNM4aJRTC6JaUKBggJW4DrGCbCi5T17mgFpnTfyBihoMBvYyfm2GHtP+HSWqbmHs3xJvVlRXBnSyIhu35JPyppXxQ/tEWjGQft72U/u1SFxdkfjWVZUMa2UJN0bRFv+gxLjVEshA/U6ptFQ911jHOMzGN0PT63Tb4cXt/i0Ie8Q3iFkxVnBJOvB+kJDZL0Wj5KhJwF7ib7+4JYYx+GCnhbqbj05kXkTZO6jAiRM6abr0KPuW5Ifju5Bc5HxneSTHK//GqPyshJkh6WABYOuqBENMqc6LuZ2WwAjuNPsNlLSz8BmWWKmo97Q== 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=kMuiez9ufG/+XvLADX8WSR/KEeQqiLIA21v17pE6eyQ=; b=B80pS/wCjIMkGS+GNh0ftdCV0e0CImj5zaXgxomisAWOiU91cv99QPxbu1GdJBjqcd0oL3VloTj+msdJPeRKk+iyynMBhhiRR3OwBrr+kq1g0VN73LlbnMfnXJipiLAjWzYKAGA1P7V8V8tYjHZaHwfilxoaZnqFjyrz7z0e6v3FdBQcATOJkCE2eYTg12YK+pUOGHwqGwBjvaxLfCikBeNplln3LOVzTppjD4sWPqzmMCWmJOAwm1HQE6DECLWniSRgSEmyvQVr1jJiFQysRwYSO/qctrakz10NivjX0iQTwSboK4XSCyB1e5Zed434wRY4aiopPx6VPvsDEtTIHg== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kMuiez9ufG/+XvLADX8WSR/KEeQqiLIA21v17pE6eyQ=; b=EmlOEqQFhjNCX+aGx8kiBt/B+fAW0GdZ3lXTABYQ2ud/OOaen0mHR5ISQdrfx1MUEOnVkkkEB691wz8Etzqf2wUsNLOUyy4Em9q+dLjv+9tNdOtfDGYDTh2955+ollOQ+p6HEP5U0ZgNOOmMudyVSRiGKGfHNpOJSZwvOndVKtOrUmx1Y0DU4syZhyYztyUmbUqRG0rYsQMF4SyJqgf5UngabIbHSBmBDRE/SAciYDXKSmpfW7xDpwYnQ8ZMpRJ1itOp5fB467FDeBntv+mfu9pdZi2aaT/RxkmZJ4sJjI7hhrVM6bZEXtCkWUXxOegax3HXBXkJ7kBWLgu6Opzpcg== 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 VI1PR04MB7088.eurprd04.prod.outlook.com (2603:10a6:800:11d::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6521.24; Mon, 26 Jun 2023 02:23:35 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35%6]) with mapi id 15.20.6521.026; Mon, 26 Jun 2023 02:23:35 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v10 03/13] Squash to "mptcp: add sched_data_set_contexts helper" Date: Mon, 26 Jun 2023 10:23:04 +0800 Message-Id: <0f2269a4f66fb09978d8bd190c163cabbf7e05c8.1687746021.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR01CA0003.apcprd01.prod.exchangelabs.com (2603:1096:4:191::16) 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-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|VI1PR04MB7088:EE_ X-MS-Office365-Filtering-Correlation-Id: 86d9c355-af46-4323-2d1e-08db75ec5801 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ptG3LhjKP2B1laUldSgA1UoEOHzXGnhgJ/PWm9+lgkOA28y5iqtQnUgKTrU7XT3PV66955Bwn6bnbcheQ+9XpRujYgwbdIbUhQATmVwRWf1IN/0mW6KeMfKhRHQ6zUsSL8CgTOQJI4Z+IsF/MedYv4XcX63SwGTtwdF5F3lOSHJwHsb1Yn2wXo6mwgaGiGb1jv5+OzB92elqbwghUnkbpv6/6yyTQc4dv//uOlxuDwAfEiQvUWrFOGxBu+PrMjGk71bw/LAWXYsJVcw+pPzLV5VKqcGoz0jhc78w2gXExHxsHJLpfVLqBAPfNG1/3HYN0CTFNc5AsZjYbAZ+OsjsmTZFDSa+pKNZGuXd4uGeDZX4GcxyU2EtBvuXZfiVBj6lUjwwpTLmIn64GF9+saiv0Lv5PEx+GoHSTVY3pYUmh6GFmnz8mPHTqgAK1dXeFBpSCIUllkOeJtoyYOSaMqVWkUykQWizLxPSqPHPXliDXOuHTNN8O0/6DRCM9fP9eet5DH65pAZJNAknIOX6tXiIImJECBPfWy24228hHWQpXJunhrXINADgYll3Aw3OJuSR 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:(13230028)(346002)(396003)(39860400002)(136003)(376002)(366004)(451199021)(6666004)(6486002)(478600001)(2616005)(86362001)(66476007)(107886003)(186003)(26005)(6506007)(2906002)(6512007)(6916009)(36756003)(4326008)(316002)(66556008)(66946007)(5660300002)(38100700002)(8936002)(44832011)(8676002)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?AANV/Z+8P50D8qF3UvDlK5bGxmEl6WSucqGm2aL9lu38ZhVRH9QpfBdMiFP4?= =?us-ascii?Q?+AHNlRjt94VGCkLzHCyuRxc6fALNMBY/tll4/amt52+CwtIIskXecKtqz4Z/?= =?us-ascii?Q?BK3KF9WIcdYn1L3MksYftHFQ0uBPDLYwNRHPCRasrGebW6F0F3a8w0RiU6Vd?= =?us-ascii?Q?+zY0G/9jZvB9gLEMoFxzcslMtMLVALiILHmZK/hRMobeKrFgwJC4WQACabNl?= =?us-ascii?Q?5kOlYHM34t6lzFJNxmkhr4cl7uKseQsa3im2GiZb2A4zqUMGVw7DCuJ71aO3?= =?us-ascii?Q?37ffwyj58qgcbTHTq5YLnnIkISR0sMNJkc98lXlB3rjACI8xOsZuochglxdI?= =?us-ascii?Q?WkKaTx1QAlR+fGDKvdGEn/84gUYJ/Tit4MeoSxXao1SZFvSJ27XUdxdFkeln?= =?us-ascii?Q?CJeBJ8g7tqmiIXH4wPcZFGOt2bi91t5vg1B3k9PAyCV7+DA1Vn5GKzWbYpR2?= =?us-ascii?Q?RMUPYpeCUymX3lXD+A8Hs1Q7OpD/ONVx08qcpdblXmPgLIeCK/uuuCLkEi3e?= =?us-ascii?Q?OBOE5La4w42jA31zh9/4FcUpy07E+hQGtZDGwymN+JW1xwtEUIqoE4taTPmV?= =?us-ascii?Q?51W+SnMKvcr6xtYrzlG3j+2kWTn7z9lxI5iIIMMByBcP7NwRvbRfWoNfcsKd?= =?us-ascii?Q?TXoX24b1xv4zY7txd12XKfvrMOz+N9G6WT1o4VR86w8xJ63Or7/rtOi9px6I?= =?us-ascii?Q?4pZACavka6q7ZNs9HSQ596B7LfWMQ8EAPXP6OrCD2rvO34xWSo99fM/6pT17?= =?us-ascii?Q?jS00K4YHjL9KAcwkqpvPQspJT9OC/L1CjeBeD1hfcA1eyymh8uzHFTqH2xti?= =?us-ascii?Q?gXkq308Cg64OWJ4c9CTYAPjIdiGwOchn75ep1j3xh5ilXqDj5xFrDrOOb5CS?= =?us-ascii?Q?SMbGBVgKtlrauaDsETOUTfnsBs3JNN3ax7/vv96uWwt1q3bNrbFBucDeBMo3?= =?us-ascii?Q?g1Z6R+v/usDVSPLHC/iQxLPQdQXBgdgBgLZ5gScPhlziQVLt084bm+JqCci+?= =?us-ascii?Q?7ShklHRq1MS8cv/4YqQDWMSZt+E3iinGJ2NWvzNsHazB/CYNHb4enk4j0nbt?= =?us-ascii?Q?rO7iCQHiTAZMd4LYUzRftLtxlUomK2p5Xct55UKL1wwesxmF+DqPxbw6+kl4?= =?us-ascii?Q?etLIoHn65sHlBE+eFTswfmAoq+qhmv/Z6T0F66VQGDpLSYNM3GuDQa+xiOm9?= =?us-ascii?Q?3vmknSeN80cvz7yY1vniidU4ueEAEimXj+XDVvp4s0Ee0VKsOB0IbPR95r0x?= =?us-ascii?Q?LfBIvbOpOVn9UjQpwqaPYGBywQPkOqGKUsk7DkbqZDK0mXH5rgUPZwIzv5vl?= =?us-ascii?Q?RXBdEkyfpWAol0gSDDddXO8Hu1YhEclAwn7NzQT0w38jCNlTE+iGDzgzSJeZ?= =?us-ascii?Q?0HFG+XP+vAGjKlOJsWCgxKgDSTHVVvaQSLFULjwekgZZ9gYtm9LXWLfpIBQ6?= =?us-ascii?Q?KlEphBSxtDUC4st2LgBhaSsAk8jeoeFsFSzyNxjBSMYa41UzvWD+LKc4Z23g?= =?us-ascii?Q?okAn90ntmF0sds1Zrla+uE48aS9OFHdVJR9BwR2FnVr1n44lFlUlBoI7Jzra?= =?us-ascii?Q?//qYGnunB6wZAtLoG4bcVh607LWrQE5z/jwCwvA2?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 86d9c355-af46-4323-2d1e-08db75ec5801 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jun 2023 02:23:35.3325 (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: cIsCk8VpCutO6z/D3wBgEuuWFyxV6eWo6GsC1oGeKnu7M0+A5X8ZGTzPo4mCV2IuxpTb/QSrt+kRjOTcbJMyiQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7088 Content-Type: text/plain; charset="utf-8" mptcp: add sched_data helpers Add a new helper mptcp_sched_data_set_contexts() to set the subflow pointers array in struct mptcp_sched_data. Add a new helper mptcp_subflow_ctx_by_pos() to get the given pos subflow from the contexts array in struct mptcp_sched_data. They will be invoked by the BPF schedulers to export the subflow pointers to the BPF contexts. Signed-off-by: Geliang Tang --- net/mptcp/protocol.h | 2 ++ net/mptcp/sched.c | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index 8c9b2a03dc94..cb2f34c8ed09 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -664,6 +664,8 @@ void mptcp_subflow_set_scheduled(struct mptcp_subflow_c= ontext *subflow, bool scheduled); void mptcp_sched_data_set_contexts(const struct mptcp_sock *msk, struct mptcp_sched_data *data); +struct mptcp_subflow_context * +mptcp_subflow_ctx_by_pos(const struct mptcp_sched_data *data, unsigned int= pos); struct sock *mptcp_subflow_get_send(struct mptcp_sock *msk); struct sock *mptcp_subflow_get_retrans(struct mptcp_sock *msk); int mptcp_sched_get_send(struct mptcp_sock *msk); diff --git a/net/mptcp/sched.c b/net/mptcp/sched.c index c7c167e48d72..82665263bb94 100644 --- a/net/mptcp/sched.c +++ b/net/mptcp/sched.c @@ -108,11 +108,20 @@ void mptcp_sched_data_set_contexts(const struct mptcp= _sock *msk, mptcp_subflow_set_scheduled(subflow, false); data->contexts[i++] =3D subflow; } + data->subflows =3D i; =20 for (; i < MPTCP_SUBFLOWS_MAX; i++) data->contexts[i] =3D NULL; } =20 +struct mptcp_subflow_context * +mptcp_subflow_ctx_by_pos(const struct mptcp_sched_data *data, unsigned int= pos) +{ + if (pos >=3D MPTCP_SUBFLOWS_MAX) + return NULL; + return data->contexts[pos]; +} + int mptcp_sched_get_send(struct mptcp_sock *msk) { struct mptcp_subflow_context *subflow; --=20 2.35.3 From nobody Tue May 21 23:36:38 2024 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2055.outbound.protection.outlook.com [40.107.22.55]) (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 7CEB87FA for ; Mon, 26 Jun 2023 02:23:44 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LPQRYw37S7vPhm2wTQ5ryrLn40dDiaORfydRPhGGJ/h6lFRuMlPZJb4D0RzdhhF65jcGgpSwuWi27zTPljWrMq0ZWvSrIf9ZP04f3VuKURcoIMhvq/AOdtL3mOMGZ3ED8yfg3QAG5YFi6uPwb0Rtfc3zN8SXSWhDIIhFSgfcQNv0HL6HCKFH/wDOwcW7U8ZVahtktut4yYKilhGDFiuklibPcHxg7Wu8BPUlXRWUcDESyXU1e0+nCOFtp7wTuKOK1N8FCnaP0aWYjh9D76HemjQasey7qAELEHFR/peBVDjE8VyY9n7Aux6pMTv9e4Sdcl5wCaI4+VIyZAZyMGfDmw== 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=PUnWy3Uxwr30w+QK9cl6w8ugU4KeuI76tBk0ZcfpRtU=; b=iOyOKr1qVsbLEfntXs2uLTbsNUu7+D7951eW1TSR4iWoY04F8+ElIyJMf8/AlxSWoG2kIVZ3pjQaz9TPai3zCivkQP4cuaz/9qndgHU3KH1u5tHDQxyC7ekY13QDbzVvM91p7TSeohUUkAsa8xU+n3qepyTzDAi8o024QSaycDyelszmQLoYW8lfPF/UGvNc78mXpLzrXtWAIhZQDmOHRDikdHj5LD/pOl/a2k6/ylUbMSFNaZN2sI56kD20crXs8vOykJaOzBct+XdyQvK7j8MtbUqRQWpNc/w1hgLX4UH5K39r3JK+Pkoi4R4fZ9pIE2d4FjNeXmmmRVMu6E15kA== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PUnWy3Uxwr30w+QK9cl6w8ugU4KeuI76tBk0ZcfpRtU=; b=FbAHOQCWr6zCzbQ4sori18v2UCJRVqZmqTqNh+IAGmhbKkeubg+4zh5iA97TRGaDZTysLu/PSIJL8yoI11LAbvCM3cuo1bz8V91zo9fy1Jw7cEGRvbg6PypoK+88/wu9xVhXpHnrjnJnaVEX24wj9+SGyz9UAY0ePjW2iavaozlA5RmJOwi8ZCxmfwF8QgptYz2I2Q+UWxuVr3bEF6n1hkk5STZk3OG41JbQH8OUBxcxnCvOgqbRx6tQzaZrW0yo/aPmJEV2mgM3X2sipbm76T8Cp7wcqP31dXhvZ4FPOckr6n8xmOeFaPH6hI0YL6sMZDGhs98/ZT/73feHOLG2rw== 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 VI1PR04MB7088.eurprd04.prod.outlook.com (2603:10a6:800:11d::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6521.24; Mon, 26 Jun 2023 02:23:42 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35%6]) with mapi id 15.20.6521.026; Mon, 26 Jun 2023 02:23:42 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v10 04/13] mptcp: register default scheduler Date: Mon, 26 Jun 2023 10:23:05 +0800 Message-Id: <40f5e342066db2331695a4de80f0d22bf5c48e3e.1687746021.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR01CA0013.apcprd01.prod.exchangelabs.com (2603:1096:4:191::9) 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-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|VI1PR04MB7088:EE_ X-MS-Office365-Filtering-Correlation-Id: c3f92a82-ade3-419b-395c-08db75ec5bef X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 6CcnIOzRd3V+0BdHBZ1ppNt4I4+1fkw2wMdJM8xdhpWTb45OxHszFk7QQjnjSMvle0aKtutbOvp66DKCgmSyJ0PkBRMnUB3j71R7V4Avoar1q9VmMBoZSI+d7IkKfLDxXDFZxiDaRmrTn4zfh0q2Ki/amy8bSFTOd+WUL3fCH7FEJXFOc8mOqRNyL7/6trs7Q589yTheZYmCAFp9boPW8gy/WswOZ07+/LFu+Hdvi2cUoDXZbb2x0MDhGgYdG+wbYS88eMdklaRoRnC5qcgj7fmxHk1u3b7AiUfG52/SsWzzTevO2hRf3twIArkP+Y+IXEwzWQhd3p4k/ciPZGI6YlcXhnqwfBh8D/FTbCU8IDlA5VCLEoEiJn7/zdbthNG/rIVQJ30Sxykr3A5VtEQc7zylldZxC1NiZ3TG3Y+UukUz7VqbwEIadWG0soPFKbpgyN0Q3nRVY5ztgcJWA0hNs0f/sNGOgR/mUc8G7NwImcG7jF9SI+AYLmEfuqChQIpkVktdGPb/kgzlaZdeeNU6IezjRHsq84C70hOIhRQIR0SG/aSo/flyvCEF+N7z3aV+ 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:(13230028)(346002)(396003)(39860400002)(136003)(376002)(366004)(451199021)(6666004)(6486002)(478600001)(83380400001)(2616005)(86362001)(66476007)(107886003)(186003)(26005)(6506007)(2906002)(6512007)(6916009)(36756003)(4326008)(316002)(66556008)(66946007)(5660300002)(38100700002)(8936002)(44832011)(8676002)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?uSWSECOj6DKspfhFITEzDu9ey2VdSxpcNG0pQXD2+XNKJB12IT1KwnMddyfl?= =?us-ascii?Q?T2jx9JTrK3xIYpxrMZINkzajKMJjbDW2BG/IjxDunU8kuWLPGLkZvB3fODZQ?= =?us-ascii?Q?4VVrJntHnZp/FUSDmoCKGhWQ8PSVFtKH+7xp+vAnPJjK7CsqM+vMt74C2Efc?= =?us-ascii?Q?eVL6zP246A8n0AAiYWiygJP72jjO+/FvXZKMK9C2enqFsz7TVccGrKYIPpOo?= =?us-ascii?Q?9Mf0IF2NjpuyDs73Gm9h/2EoJ29lUBk9kP5xs31PtU7Ks7MfrW6Dsq5kCk9T?= =?us-ascii?Q?lZKuuKp3RNlztdckd79Eh13hqkrpmA1YO6PR1fFPgsPeQo5RAnrGoEnzEh35?= =?us-ascii?Q?wSEazUynO2aErmvTR2t91EZBHsc12chlx/oXbEkQPOVwYA/3/mcYCohmmUFi?= =?us-ascii?Q?WEpoC4aB7M/Dw9aQhL1rrEg/N20ooDEYh453N+rfskIIQ38UPx8001w4Rxh1?= =?us-ascii?Q?otFMfgqqecnvCE0xo3Y5O00ZKnsPRYTvt5WxxPgFZ+yhU8bP7HNFIdua77mf?= =?us-ascii?Q?nClK6JCIHWT6j1cjXSunwi7AXFBlPsNMLbQfah6nkB7T79QQzC+eUCu4Hkgx?= =?us-ascii?Q?PdXJvoIEtjaoAf7/r69qlxXpwGisICTpRrjYDPPN3f218PUS9HYZyLHS3ShU?= =?us-ascii?Q?d9zPA6VMm7pCVt0kBkNGup9UbTYfzJQLF9AeoTve5dt04Ayp9fE/uB73OsHn?= =?us-ascii?Q?xelDxxoRuYfxYA36YVA3LJJfR/lmrKDi+IOSxV2RpKhqeQ8J42oMhKQ2tWWU?= =?us-ascii?Q?Vc/sOhLAe0igppVfRtXUzq8cSrx6mgrq9PhBZDVwvDUT4K7D0Tt4i/lPbeVg?= =?us-ascii?Q?RRjdKljcflww8mIIZelRehfoVxa82CcGBmuRbMh7DKF3luVhNl3oFqNNg2x8?= =?us-ascii?Q?+AXqWAnRGVZXe+ktmQvdqvR2tUF76YcNWjxWs+1D6Z+PMMnLLa//7qQ79/YP?= =?us-ascii?Q?tGckYtE/liQe6YiKTT8P3+K3dvPXE+mGPd95lwZFTI/+JCFpy1kMWQoh5q9D?= =?us-ascii?Q?x6oUTdGSlgxUJEbmnNocjVCNrQ81LQmuGs/fYiUIgHIqpM1wnGcPKrJhTm2W?= =?us-ascii?Q?QicCBUi0RUS7jFSPX9TgCZWXy9LmPp0p/pZogoGhSOQTRHA/T24mOED0+YSa?= =?us-ascii?Q?Vq4VPvlGoyAF37Qxbdi803Ao6FUt7PaNWDyZNuQouFz4dfgO0zlYyvpVkwKV?= =?us-ascii?Q?Ayp189dHxkvNUpHaGyMnXm78pjkv8qju5+Qp9vRw53462lnkAxQ3i2x0OtvX?= =?us-ascii?Q?hm27XYs9KZyNAgijHN8limfBfc5h9ny8kfORPTp8DN/L+f99N3OVTiLHWPpu?= =?us-ascii?Q?aU5BijDvDG7K/pF/FCZ6gWdcEhE1ZYrxmnVdHAVnaGvV/U2Nsi3wVNtxASC6?= =?us-ascii?Q?C4kAN9uc/v0OcLNPdhXatYONLq6Uj+xRNdd/2qCWKR9eqM5G6oHHtPY/LMwe?= =?us-ascii?Q?+Blxgn2vCg8+llvPYYwcAYZ7JxGX6V8wPXpZlqrMdUR/x5kWtFRnelupqotb?= =?us-ascii?Q?vXX3n578v4jIMMA6xvxvS77WvjV4+7aOcWLapj3e2u7DVTot3jA3XqKxNdXe?= =?us-ascii?Q?GFfVbuXixvZkXc15DqB/G2hNJ8UEzB3C5kIhCrTv?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: c3f92a82-ade3-419b-395c-08db75ec5bef X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jun 2023 02:23:42.1143 (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: jtzqMb/q8d8yOu1OIsHEUWR/fM+ROpc7x0d3DFrUZA4nrq0qcfnM0H7u6SGZSp2C2/DS5hqtJlSbXFriSVcvsw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7088 Content-Type: text/plain; charset="utf-8" This patch defines the default packet scheduler mptcp_sched_default. Register it in mptcp_sched_init(), which is invoked in mptcp_proto_init(). Skip deleting this default scheduler in mptcp_unregister_scheduler(). Set msk->sched to the default scheduler when the input parameter of mptcp_init_sched() is NULL. Signed-off-by: Geliang Tang --- net/mptcp/protocol.c | 1 + net/mptcp/protocol.h | 1 + net/mptcp/sched.c | 37 +++++++++++++++++++++++++++++++++++-- 3 files changed, 37 insertions(+), 2 deletions(-) diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index 3ae0b94d25c0..5f9f046b2124 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -3970,6 +3970,7 @@ void __init mptcp_proto_init(void) =20 mptcp_subflow_init(); mptcp_pm_init(); + mptcp_sched_init(); mptcp_token_init(); =20 if (proto_register(&mptcp_prot, 1) !=3D 0) diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index cb2f34c8ed09..bb4d50c8c398 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -657,6 +657,7 @@ void mptcp_info2sockaddr(const struct mptcp_addr_info *= info, struct mptcp_sched_ops *mptcp_sched_find(const char *name); int mptcp_register_scheduler(struct mptcp_sched_ops *sched); void mptcp_unregister_scheduler(struct mptcp_sched_ops *sched); +void mptcp_sched_init(void); int mptcp_init_sched(struct mptcp_sock *msk, struct mptcp_sched_ops *sched); void mptcp_release_sched(struct mptcp_sock *msk); diff --git a/net/mptcp/sched.c b/net/mptcp/sched.c index 82665263bb94..a80cf0481edf 100644 --- a/net/mptcp/sched.c +++ b/net/mptcp/sched.c @@ -16,6 +16,32 @@ static DEFINE_SPINLOCK(mptcp_sched_list_lock); static LIST_HEAD(mptcp_sched_list); =20 +static void mptcp_sched_default_data_init(struct mptcp_sock *msk, + struct mptcp_sched_data *data) +{ +} + +static int mptcp_sched_default_get_subflow(struct mptcp_sock *msk, + const struct mptcp_sched_data *data) +{ + struct sock *ssk; + + ssk =3D data->reinject ? mptcp_subflow_get_retrans(msk) : + mptcp_subflow_get_send(msk); + if (!ssk) + return -EINVAL; + + mptcp_subflow_set_scheduled(mptcp_subflow_ctx(ssk), true); + return 0; +} + +static struct mptcp_sched_ops mptcp_sched_default =3D { + .data_init =3D mptcp_sched_default_data_init, + .get_subflow =3D mptcp_sched_default_get_subflow, + .name =3D "default", + .owner =3D THIS_MODULE, +}; + /* Must be called with rcu read lock held */ struct mptcp_sched_ops *mptcp_sched_find(const char *name) { @@ -50,16 +76,24 @@ int mptcp_register_scheduler(struct mptcp_sched_ops *sc= hed) =20 void mptcp_unregister_scheduler(struct mptcp_sched_ops *sched) { + if (sched =3D=3D &mptcp_sched_default) + return; + spin_lock(&mptcp_sched_list_lock); list_del_rcu(&sched->list); spin_unlock(&mptcp_sched_list_lock); } =20 +void mptcp_sched_init(void) +{ + mptcp_register_scheduler(&mptcp_sched_default); +} + int mptcp_init_sched(struct mptcp_sock *msk, struct mptcp_sched_ops *sched) { if (!sched) - goto out; + sched =3D &mptcp_sched_default; =20 if (!bpf_try_module_get(sched, sched->owner)) return -EBUSY; @@ -70,7 +104,6 @@ int mptcp_init_sched(struct mptcp_sock *msk, =20 pr_debug("sched=3D%s", msk->sched->name); =20 -out: return 0; } =20 --=20 2.35.3 From nobody Tue May 21 23:36:38 2024 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2042.outbound.protection.outlook.com [40.107.22.42]) (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 A66EA7FA for ; Mon, 26 Jun 2023 02:23:50 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mfdFx7BH7PC14WD4jZFhkdIWXILKV1McvGgiq4J6zuVJprouk+41ODJ5KUPVdmE1r7mqk/BgaI2CH6ILAX3uOLSZ0uZzJmvId5XO1XniSSeHpMWhviQ31PGF8a4tl3/DDEPqX4XeLl2djfjxfoqyaAQOOeJxUm82OPoO41bR7fB2kY/LFhkenzOzs35A605A47bAVoKwQp6rMuw04lsYF8pVM9/mL6ivCi9af2vnXrM0f9hzR0dFaRys0ufbTxyZKoDIQDx5MeBqDVNz6JZSXuzfoATWePNx63N7dpKmtc3/GpUU9NDk5b6CbzuUWHA8mvJsOlWbjMUww1UvQmUMuQ== 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=kSiHiz/oArmjJUR4Du8FgT4+A/D6PR7hI2CcKcZRsRI=; b=I9owc45opf6AefS/UKRUIOrrLqGAmgSMSsePEuvNk5Bk3Kpn+kXW1lKE2QZ+OVjZi5OCdzaiGxWhlxaS0UIdmjPASk1kLBfYJVfFEUxL8JRFvlM7Mn20CmjZngffbDgKBQz1X0F6YBpqSSboxwOQo69ezBZkQUf0JeiDg23IdVYQd6YVRW4cZPbevr05L9R0/piPxkguqHWi2wwnYULtq/5cek9HMgTF1mxb+wEQx0qCZZNG6PDwtCtKhZgx4ZJNOAiu/Smx/OmkjVKl+FZyVuH289xZrKJ6i1iOhoGZ9DCYdRhmR79Pr4ElKsYaTvD4sAKsbL+1zNzw/jrS/W3zcA== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kSiHiz/oArmjJUR4Du8FgT4+A/D6PR7hI2CcKcZRsRI=; b=rcVwrAoiQlw8g0kfqdo6H8H/4exOYQ2PzE5LxG22ZeKqkCyV2Axytskp7mYGREEFSV6SDpUl8lpNCMKI0Vn4FlmTnkGg5v7duyquJpQZZH2WM/PrzPiJ1+IutjzwOyJCJKUOwyt7gx/eH4+0Cr2gGpoDiM+VEViqkQyLpgNxFMprPlRDjs6GrWkFs8KwcHtz+h3TE9VXxaa0P7PowFEGG7pBqJNJhZHTCr6WxZdmxYZ0vhgrotpN9b6JBa2D4iEet9/P+W4AwZU+nou5W+Up87TzsWlpIx7vzMSzPMvTur0rVJIFviifF+i3Cz89dg316pfr+w6L2RMgquW3sM/MOA== 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 VI1PR04MB7088.eurprd04.prod.outlook.com (2603:10a6:800:11d::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6521.24; Mon, 26 Jun 2023 02:23:48 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35%6]) with mapi id 15.20.6521.026; Mon, 26 Jun 2023 02:23:48 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v10 05/13] Squash to "bpf: Add bpf_mptcp_sched_ops" Date: Mon, 26 Jun 2023 10:23:06 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR04CA0006.apcprd04.prod.outlook.com (2603:1096:4:197::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-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|VI1PR04MB7088:EE_ X-MS-Office365-Filtering-Correlation-Id: 360ee869-c5ef-47bd-6e8e-08db75ec5fc5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: wv3mubGXlbr8XXbPcD35U5FnG46SV/xmr0tp3BSoWm71irGmLfeggtzjWwvkNjP3lDEqqeFiAPfvBMmkwTl0rCsEqwJqqI87fcyceIgP1bkl6dWE0jOadmLWAceprVl+pZu2/NBv+/8rK9gxctb4VzM7ru/4LGuD+/+/TbK5yS/aqpLtZt/LHeicZ8MfPZrqRiy5rIQ3ceeAe9ffDlfpoW/Ci1jcV0XQPtel7HHKI5Z1jX44UjjbFzo94R8HE9BxF91dxVArWHGBhTHVqrXzno4rr8a7TRLuOlBeRwm2GbxFfR73c5Msmy0qHTuHSNxAWs1ilXNrCvry1ifCtU/SQbYnmN8w5DlP8xSt+ALCOWOthL/AUxOGbEqzKB0Nf7Lm4HCWLyv6B36k+I0UBoF26V3SAV7UqCjVmu3oSixlfQPyZluspDq4Vsie2+K6l5a4cQtrNPKJSdi74gsQ/Awn0zSKhqdefOvgZb+J1DlcFydGJ/nAxshHGDp1QR7W1G+kduZnQ9UsCPnNpqeteon0AHlilm6mP8VIV1OhIZqPn/UtprJej9W44zowDVV9LoO2 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:(13230028)(346002)(396003)(39860400002)(136003)(376002)(366004)(451199021)(6666004)(6486002)(478600001)(83380400001)(2616005)(86362001)(66476007)(107886003)(186003)(26005)(6506007)(2906002)(6512007)(6916009)(36756003)(4326008)(316002)(66556008)(66946007)(5660300002)(38100700002)(8936002)(44832011)(8676002)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ffs7QbGJAFlQb5vF9p7iNcQaC+DUwYvwaYhVnXza5NTpqbeCgEcgW4OkwNjZ?= =?us-ascii?Q?mdlfn6jqrjlEt99e3tVVmRm85nGwH92CZO0lruBPJ8VCBUQYj6lWj7fJvAgz?= =?us-ascii?Q?5UCbNC9Skqt2SU3yyYG0/ur2IdCka9eq7hsvR31TE30QmMnFCEEccF9qBVzr?= =?us-ascii?Q?bgpPjR1IWQt4PKYL8/lv256bgt9Y7QwPLWwlCawtv2eQFDdnuaN+ABuGBnP1?= =?us-ascii?Q?8V2olN1fYOcbnezuLiEHmWc+20o6Amx6Ui6VKyJG7n6Jca8NEJsUz7t2+05B?= =?us-ascii?Q?CXJRmd4HzySbeuzEzdI4cCSKB2zAGDtKjDFsTwbmeSGIstoOuR9z25+FgXGh?= =?us-ascii?Q?vgCTXYz00nTHml0cKnweM7jX8V2rntZahuyM9IRw3aj0AXFa/ou2DhCtXE/d?= =?us-ascii?Q?xi/DcSQOvqxHG56A+L7atQ76D9lenNAnGu/zy1eicrFkdsBWOIU8SaUxauyK?= =?us-ascii?Q?X5PpAritUzOb4DjZGFTqEnjFnN0WgwLVavmSWYXxpUskj1k6JXCl0zmUN29p?= =?us-ascii?Q?evESuddULFNVh+beY7FRHJdOtGJtQqRF4etR0rpmI2jCRMK/1V2dWie2GBgV?= =?us-ascii?Q?8tkqaBPDTBMKmEXXJ3fjzOzsmf39M/HX1uMBjqpzuXZprd/aRNQRggctyDi2?= =?us-ascii?Q?2yOVy9sNLR+X9hS6zKvM0DfTm0Pm/jvmNluUAEYQOHerVOvinWHaVQZMd1NT?= =?us-ascii?Q?oLhOhLEGHdJyOCnVhYsbSmODqBImKQnoyRysJIRmLXhnQiQxvcvAtQ+o6O6b?= =?us-ascii?Q?VHEDPvVaT8ax7/dCDr4wwpuTBjDCGDX3lWG1phwhV3J3pXkN8GuyDZ/Fnfom?= =?us-ascii?Q?5gYKIpszUBdnVi0KPs1IdQvF8TGzOCPPKBZk7pDElUpNhAEwwXQUok2Yymvl?= =?us-ascii?Q?cAi7MTjy+iKhDuRZYWn9qBI7fX72GetxGC5YhktI+YBXsdc/LvSYH5GSSNQI?= =?us-ascii?Q?K279EY2NEiW4rjtBmiOclxTpAECC6UkVGwkwTsPDdVe0w76IT2xYUpDp1MmP?= =?us-ascii?Q?or9FdJYqLGibnobDNikv1mnNGIbcoB/SNuBO/aF9DgyWwQbG6UBN4JwAG9EG?= =?us-ascii?Q?164rDZke/xNErh5Vddyq/BSrx54oIyKgIAKMJTyXJ5w3ckWq99wBdwASgYNc?= =?us-ascii?Q?lEG6ydlHAhbmSQzyEWE5jUgPZX1WnXNdwnRhPyRtV18DOa+qdCpgOzoAIzLq?= =?us-ascii?Q?rk727SKAyNOs0JOScdbo/RtlcDEM5DMOayZ8ZiDNO9jOkGIg8bP4qpNVb6WC?= =?us-ascii?Q?Jfbr3oZy2oK9NLoSjk/lj+Qtxj3jEH95GKtQ9ZXxyEEtGxsoYJ4i+qkxG7DW?= =?us-ascii?Q?XMZoL3gaUDg5IQGh23f+gqQqQ6pdJix1w8Cq8t8XwIC0eMhReu3uGg5WzGR7?= =?us-ascii?Q?z5gqdNJ26Cwvi8+oEu/lYPSrAYaBfeLl0b+hFucpOLMW0mf9YZf7NgnECzdl?= =?us-ascii?Q?0T8qZgIxbvrrI/9iRzfyk4F06KfFWALB9BGMzwGwzNNU+sX5BwrdBSpirfui?= =?us-ascii?Q?2y4E5lrGORhOrG9ypKgN+O6JuafVlLh7LiSgqglEE5BNo7GRz2RxPVvWlPCg?= =?us-ascii?Q?Xqroe8dZFt6CVdUW/yqI7a9flz8feVaRy300mMcj?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 360ee869-c5ef-47bd-6e8e-08db75ec5fc5 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jun 2023 02:23:48.3926 (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: dQH36iaTZWVUKB/AXstlFF/JA/KVtze3Lgq2rMMU9jv3YHJOR1VWYVA9wl0MWbajAvvvJtSIK/BNaZlfSdrVvQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7088 Content-Type: text/plain; charset="utf-8" Add write accesses for avg_pacing_rate of struct mptcp_subflow_context in .btf_struct_access. They will be used in the bpf_burst selftests. Add write accesses for all bit flags of struct mptcp_subflow_context between map_csum_len and data_avail in .btf_struct_access. The stale flag will be used in the bpf_stale selftests. Signed-off-by: Geliang Tang --- net/mptcp/bpf.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/net/mptcp/bpf.c b/net/mptcp/bpf.c index dd1208670c54..b9fbee8d7bac 100644 --- a/net/mptcp/bpf.c +++ b/net/mptcp/bpf.c @@ -50,6 +50,12 @@ static int bpf_mptcp_sched_btf_struct_access(struct bpf_= verifier_log *log, case offsetof(struct mptcp_subflow_context, scheduled): end =3D offsetofend(struct mptcp_subflow_context, scheduled); break; + case offsetofend(struct mptcp_subflow_context, map_csum_len): + end =3D offsetof(struct mptcp_subflow_context, data_avail); + break; + case offsetof(struct mptcp_subflow_context, avg_pacing_rate): + end =3D offsetofend(struct mptcp_subflow_context, avg_pacing_rate); + break; default: bpf_log(log, "no write support to mptcp_subflow_context at off %d\n", of= f); return -EACCES; --=20 2.35.3 From nobody Tue May 21 23:36:38 2024 Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02on2052.outbound.protection.outlook.com [40.107.241.52]) (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 A79497FA for ; Mon, 26 Jun 2023 02:23:57 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MWW3tcidOjpctx8I7RwcZG8CBrmcwplo6TPp4gEl4++agKSQB85Ptt3cF0q9n7Z1ni+zrlZTPNMZd4xH5wlaKBiGBy09deHLIES29X3a6AvA3c28tJrr3NlYMQe8FyDHXz2/4vryDMFiaMpUGgoI2dpqBvoLT0sqFug/pR+PN9xvZILxyc5bKCEJMAS9AmzMlewaiUqt9HyNl3el5IrZ5yBxa6yHyObg+Y0CR7YP7TIUiabWB1p4wmhN7egtCKDV5Nw9ZrUsvLPfsRqLrq7We/AMM6cI0a0a1+JLRW8tpoSWjRbh9ITGHzizGMfEX+jMHaOVuremC1M87S46fEUZLQ== 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=p1Tb5hy2h3gb0Vcbmf0NkiSLxCP+9uIrkp0UqWpbL98=; b=lXAISn4BiMWHbMgdbODdRdZ3IndkZMW1bEUdEvZSyAh6aOeQe0Deoj9Ivuq2V/4XsOSvbj1pq/a5/JYKICcBrpbEAY6m8RBltU9mvdeo/llCX7aH2CDtFqKeFBIQN7PNbcNRk6hS9tIZszJ0Q9N0pc/yP/CfJDmUJZYKZdZbxyaitNNd5AxwQtHO79MqT6xlhIEVLtRrPIqhT0nlAK3motkYpBDjwTGflf6SCYLXOA+TQf/hgt21JrazH9YwH4iB9S7RhgzV3H9VenNGbDqZXUaMpaergxcDpPDNMIOInR95cgCqL/1G5HG/L5SJrt9hfMgkO0w4dh3TIGAKDGM7yQ== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=p1Tb5hy2h3gb0Vcbmf0NkiSLxCP+9uIrkp0UqWpbL98=; b=FI0w6jviGkBrmtFL5B80lCZfWm/5mH3+T9Rzbi3s3E0eyhvTbRQvrBLG8P9+L+qo6koR5brp+U72G9bA/VZmQhVlwk9g6FoXz6HpIj1+I0BMX2juijtIuHxdXVC0hWA5ZirCMX2E7YBXQncUHciCheoYGQiLN9Ys4QVpGcjzSRQCqH+c2eKUNfY1EAJXx3zZ1uQt4qLosVQHCo2zCbvqVM3wlSJVjaiaQOS53PFnexJSGLyllSiG3J+nHmbFn+BQa9g3xlRKtAhVAsIInGtR4SWZhct3TLHcuBLH8AELeAt7lu3LKgClWVpTCaefjNotqXPg7Dmu+8L4/sc7eWTjqg== 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 VI1PR04MB7088.eurprd04.prod.outlook.com (2603:10a6:800:11d::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6521.24; Mon, 26 Jun 2023 02:23:55 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35%6]) with mapi id 15.20.6521.026; Mon, 26 Jun 2023 02:23:54 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v10 06/13] Squash to "bpf: Add bpf_mptcp_sched_kfunc_set" Date: Mon, 26 Jun 2023 10:23:07 +0800 Message-Id: <7223763dfcf01d4be73bda6268ddcfa34bf699df.1687746021.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR04CA0017.apcprd04.prod.outlook.com (2603:1096:4:197::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-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|VI1PR04MB7088:EE_ X-MS-Office365-Filtering-Correlation-Id: 4661389c-ac74-4e56-685c-08db75ec63a0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Nl2Tb4sWf79XuUlK9QYRB+B3crpBAoEQ1Q6iXlXg2R2pnD+WSoIPpBBayhzFL8bViHHJ5DLlN2HGtMxNTV3wGvSrUeSi/O2OvlG3ARONeP/BvImuINCdV7fWWwW4RAVSRjOUi50vzLuSg+OyYvYWQY+I8ltxzv7onwTmDumztiDseWuv9Hd1tpO7HSDZiVh+1VD4OmnSuW5GhZYWBzth2R2vUMBlxk67v5m1zuv+swZ6+ax77piawrv9u/XzuFBeJjSSsfyrbk6lS+irnsWCNp9msGZ1uTBuyd0r7ZoP87YqkhUP9flVPzzkMwBgsDJCg/Vuf0x8Z4kmnBNBN1LwwTLTyvl3Eu4D7E0SbhWpi5WRBseP6qdRsBjreM9S/thij13cfzGT9Wh3W8gvFs3n8ol3+SJRyrpDTg9ZoyVdgdXcakn+fjWHdBiqM8HlHXe0JLiLJOmwt8I5wkwghw+r86Om+zLMTz7u+wfZSZbqaLtbjAFzz0NQtNd56WdACwyCvfZ2Foc8oCVAHJYjr8jM+bdum5zuEW3R88xgYIT4XkR1xEQGm+QC+NJlFMbjiGqy 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:(13230028)(346002)(396003)(39860400002)(136003)(376002)(366004)(451199021)(6666004)(6486002)(478600001)(2616005)(86362001)(66476007)(107886003)(186003)(26005)(4744005)(6506007)(2906002)(6512007)(6916009)(36756003)(4326008)(316002)(66556008)(66946007)(5660300002)(38100700002)(8936002)(44832011)(8676002)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?wYnz8F1SJ9g3T2Enl9mAC2hqkMMmjcQJHFxIza894OcsyXxaDJG3Bwx7F5T5?= =?us-ascii?Q?HMg3et/CKp43nLLdEVIhptSOPvb2QaBObyzWsizHioik39yfYLxrLjY1CSM+?= =?us-ascii?Q?QprhcnaBCVLKIGsO5MAMd0axSUftR92xSM4JtCkgnTmBhqZGXfhOd/z7AR38?= =?us-ascii?Q?VaG/j+KTKBxDi3HuYbKEi3EJNMWpNYcuvEHsnD3NKxAONc+MkLSgu6XQ57H8?= =?us-ascii?Q?Bm8SQywssw9pIQKQ5IKuR6vxBQSyb6b26KxGIQC5iEK85J5y6i7eb9WcJ8oZ?= =?us-ascii?Q?Xca6pyoTkm4KYo2TUgGoqwHdPgQqtCtJ4Lfac8SHvHBVGnGY8pDTmRjvh/77?= =?us-ascii?Q?AZWp4DNPe898pnwYOzf6mSm8ZRFkSchmAstO5tgmVOfbB3J0eSqcDA44rBNa?= =?us-ascii?Q?7r7fElkE+yhXA1tLQHv8jnEyNsF/IWW/QNUZAykENrm51EUF0Vm3YcS6p5AR?= =?us-ascii?Q?VL42neL0f70xVGLY41ZnEFYV4AvgkFexYPpKhdsBCD2/u0+cawkyxhebtb5R?= =?us-ascii?Q?QzFqVLm44yugTZ47cciUS32Wo4+1Gh+ya81ojLvlqL9GNVfpq5voI6ffZF76?= =?us-ascii?Q?1qG1ywMOc1qU1gK3X/+fEZDvtqmd3jhhquljySmwpIhjA9SnDxZE8F3EapDG?= =?us-ascii?Q?cg+GnxCuvp1ZK8S7F3Qpe6HtyUVBN41DORzQhjhjCDcEc7BUDZbQYynQqYNp?= =?us-ascii?Q?0EsGGJNzwUbtuOzQcilpXhHG7QutxEOWn6Wo64SxGG6h8hZwTK/XdtKIlR8t?= =?us-ascii?Q?o0RByxgMvjdErAJH8Rk1KUzCkT/s3hZ9jCw2J+H+03BNx2LX1JX158JBkDdI?= =?us-ascii?Q?Hkmgq/ofqt+joq+CgDgQaJOX+qfBfLMuI14OHB69K9MYUMEI9mfaIiztKVii?= =?us-ascii?Q?n2RQw2JAw5xKDEkN1kqOku8uO/DJyhpUpsheMRbihO7rCVa4KEtyk14jsMDs?= =?us-ascii?Q?GPwghGw//aGsPl3XHvvji7v47v5Yk+jIF2MBxdjASjqjsxR9YCSC0oXIY5z8?= =?us-ascii?Q?MvG4qryRhmhxoFWQFvV6TmtgVDLRn+26XF8+nUNL5IdNoh8+WeEgt0YWndRH?= =?us-ascii?Q?TPncUCJ3sFsOkO/6Cav6NRp1LxjzTaMMs1hgQ5wBMYUoQ2Vl0Xg4/UGoUMe+?= =?us-ascii?Q?GGE6njA7ThL4YiWDz6Q+9a3vt3zkC1wOuL6zDIQC3kl/9wZQZW4BYfIyuhhe?= =?us-ascii?Q?qnPLUV79TPvA0ds+eCtLM3t/LBcSQtclKaXM0sXOFN4c0jXEYPy3yoLqNFSP?= =?us-ascii?Q?7ZTVeohtLzbRQUQdXhACD4gU83cXE8fTOK3TXAYRXjuvjfNTG70K8sYompam?= =?us-ascii?Q?nejl8VRTGmR15Y5xOhqjGNSvFMxy+uXxw1vBkERNgKkLz3wEJLp0vAmHVm5L?= =?us-ascii?Q?XFaf0Q8qf1+W4/xFqBNB9OroErSNAVNdQZ77Xo+kdCSCnueF0HO9EKAHwFE2?= =?us-ascii?Q?eC05aH+JE8SE3S+XqVLvazvEfKLjNymwrNdT124qkZR3NiG3zbcFk+HsnaUt?= =?us-ascii?Q?r7or72YevDwlsJVKN93n0jhW3+cy3AO+RvnKFir3brbOsL2rLv0WzSwWuZwj?= =?us-ascii?Q?K7uwx57HHsGbJF0L94gaNlGpSKPeupZltRDolbWC?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4661389c-ac74-4e56-685c-08db75ec63a0 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jun 2023 02:23:54.8311 (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: nuU+zWTvOuk3bGeHpHmzf/9TBBpqSP+CmufShvYthVs8tHGGUXHuG23SpvxBiA3mafJ/aqmtADibB8Yvpqbt9A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7088 Content-Type: text/plain; charset="utf-8" Export mptcp_subflow_ctx_by_pos too. Signed-off-by: Geliang Tang --- net/mptcp/bpf.c | 1 + 1 file changed, 1 insertion(+) diff --git a/net/mptcp/bpf.c b/net/mptcp/bpf.c index b9fbee8d7bac..7f29c68a0dc3 100644 --- a/net/mptcp/bpf.c +++ b/net/mptcp/bpf.c @@ -166,6 +166,7 @@ struct bpf_struct_ops bpf_mptcp_sched_ops =3D { BTF_SET8_START(bpf_mptcp_sched_kfunc_ids) BTF_ID_FLAGS(func, mptcp_subflow_set_scheduled) BTF_ID_FLAGS(func, mptcp_sched_data_set_contexts) +BTF_ID_FLAGS(func, mptcp_subflow_ctx_by_pos) BTF_SET8_END(bpf_mptcp_sched_kfunc_ids) =20 static const struct btf_kfunc_id_set bpf_mptcp_sched_kfunc_set =3D { --=20 2.35.3 From nobody Tue May 21 23:36:38 2024 Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02on2055.outbound.protection.outlook.com [40.107.241.55]) (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 51BFE7FA for ; Mon, 26 Jun 2023 02:24:03 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aoBOa0OPaEsyL5z7kuU2HNANdNn7ccmQkSjh5v80G2M8p4bSkXFq1qtBSDNhzv8xen4XZOIA0kzdViH6S9RFJ6H2vDT5YbhcKsf/tyDQ9qnDe+zMYzMxKxZG9u1GCWZxk47bccBSi9VUKLX2MSIpuVKp3wWC4y+tiOk5gWmAqYzmyUPyAcWx23jyT0cs2pz0B9pJ66hofztW5/Yg5ws/MVSywboAs0B4jAo5DPSXTJy7h0iiMR8l2vGwRai4JDFAAZ+UR/a9Yb4dn+Zgdgzn0xX801+CR3mHI+57XHvKbpiWbtuP6LnFjmUA9ubtElVqVXj+39FHb2cthhx0hXyXfw== 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=IFJKBA3RCzzauWIHskvLv5uGsj1bBGCTUKvU82tw8j4=; b=a5cVd4IWLc26ZuPFjd8ztayJcHKRo8cTvY+RdXAWE7wVPE2irTKJcwEe/C8EwGUdt0+tupHPkJ1kFyCXbF+UpJzzkTdQcMpuNO9e8JCgyWlhtkW9NztVUF2yNNMjHQACmdJh68q77n7Ndr4sYc+ivi3ZTtyqExGKO6kYlASaprocapiUL5UkyLNyiyUe+AFj0+ZvoYgbYvaga0pm2pbzNrvdza+iBvcA71j2SBZH8mxTBabKXtgM8lVzm8WrE+L9D8tzHWxhmNW1ziWo9HmnY2ydrFswC+6HTTkvvPUBzLFjAICrTIfT4XoZkne3ztWntkyUn7sl9/ackzwx+3/qtQ== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IFJKBA3RCzzauWIHskvLv5uGsj1bBGCTUKvU82tw8j4=; b=iAgeUfmQ3oAnvjPEjxyKF5TxN92Mn0NBt07J7o+PNhwxLKDIDT1n4e7ZPh4aKEVqHqxsn52pTbWmfd+6oqbwBefUkL34C/Zubt5x4CKkMoTfYcPNpu85rotj5JL7xrd4pW9YhXmPwuAiSjRRGt7yCBVeIAXxubsHqc1LDEvbSBTWyte4mUVz/SQVtjRU4O7LdQcgKM/diBaFdoMl5obAVyv7BfRc/4w6Gwxygb4wHT4AOadRDfUQp8vY4SFG+epTOPkc0W/jvR9ei+KurOR6ZRcOyQ7VZSTHpn2dWQUpYVJICKJv8yBwRBzyu8Px7blWDQaqn0JPh7GIyXuLqn4mPQ== 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 VI1PR04MB7088.eurprd04.prod.outlook.com (2603:10a6:800:11d::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6521.24; Mon, 26 Jun 2023 02:24:01 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35%6]) with mapi id 15.20.6521.026; Mon, 26 Jun 2023 02:24:01 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v10 07/13] bpf: Add mptcp_storage map type Date: Mon, 26 Jun 2023 10:23:08 +0800 Message-Id: <71ab0afbeccdc94212dabfe51b6f6fbd1e33e68b.1687746021.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR04CA0004.apcprd04.prod.outlook.com (2603:1096:4:197::22) 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-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|VI1PR04MB7088:EE_ X-MS-Office365-Filtering-Correlation-Id: 29b744b7-2016-4e63-ca91-08db75ec6720 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: VFzMn0wUw0Z7gr95bDWwuXCRMbMZhiOZ+oc/rFJB/KYV2qw6W2sTriExlKgdF/SMlORc5S4MT2rS7KeBj0/x8qDjPo1DAvlT/K6Ix1Uwe+N5xMA2TbKfuggPVcecU7h21au7dOuFeWaFpPo06Idha5VGJaPmSCSp9IRGnobkWHQqWQck/1vvT+IoBkteITdzwTT69/+erdEgYfQRlz6zJeWs2DMcnxKceaf4zmHP9wRHVLySzGXH86Yig01Rf4Y9Nzgc8cvYsJrGrROVW7Zg01Zx7jQEvYod9Z8ryaNnwnK+R/+Ov2LP7f5QWZ2tqbghH9K4YJ7RarOFPdMZrnDs+CDg1Gjwtc66eVQM95RcLOk3COWNLEVOxW8I34tDy9vx00TxkKpdp6AZOQ2gr76VJ7+wzs2Lcf5WgTlcZH/oVQDrDdvbf1jyaOJeQJ8dQpQQ0SHHSTK/0ic8iYVedEjrdUOCTBxWnA2855aft1AG93nFSwDvEyYLeY8llHkTO0BteiiJOv2NHiI/phbfdXgtvKIxBhZf1BjIrkvVjpYu7+QYUNisi4O9+hyCL4y1gDHP 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:(13230028)(346002)(396003)(39860400002)(136003)(376002)(366004)(451199021)(6486002)(478600001)(83380400001)(2616005)(86362001)(66476007)(107886003)(186003)(26005)(6506007)(2906002)(6512007)(6916009)(36756003)(4326008)(316002)(66556008)(66946007)(5660300002)(38100700002)(8936002)(44832011)(8676002)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?0k1Ix+VRUp9f0twOCEfwZRqF8oyl+qGkYYm4VCf3Y7GRMJ0+jRGdPCazxb9z?= =?us-ascii?Q?HRup+0mZsJY4xp1+FvfcNJWnCMqqrqxtVemXx02w28TjbQSgd1Kqcq3zCnM+?= =?us-ascii?Q?6DVfWXD4x5df9QLAt0Qa4ACQRBB8HSXLO7DepHYT0ofv6s95mN1/BkoeAJR9?= =?us-ascii?Q?oGup4vm9TC9w6r3+p2CtwxvskV7+jRk2r3g/zeo9qbjNr6EGVYGkIS6lvwnG?= =?us-ascii?Q?9LbF/CvwtfTRK3NxwaPO9sH88cShibD5iJdAw/H6/UyX9Jh1B1ALrIYmYVAM?= =?us-ascii?Q?9wldA+HKgPYgTiiNi34LfVIX2SpMjBKmPwv5mLKLuGFmiDZCdvGVckZQDeSN?= =?us-ascii?Q?a4alYY7j2TsRDQRqEqFBbMxhfz06GCbgx1LtvQ4Gobg5KFhj/mB6dvS2+kdT?= =?us-ascii?Q?F/Q3Pln0xFanKlsUsjzDbfneldb1E94eSvIaQKtBWPRjzyYetxMsn4H8opxk?= =?us-ascii?Q?PEM4p89B4yYf87g50yT1LfhWxRRQ75FxUULKq+BBWDqaqLHbfvC48KuftO59?= =?us-ascii?Q?zgLTnScNy0H4gbcj29TsEiTT2392zXll7HzvZsxOsTPaKi4DymwhdkLK/wO0?= =?us-ascii?Q?q5jUOsN91r2cAPyZoV4n6edkyFnfk/TYpwgaeUacrans73Jd8l7ClMOEYSTU?= =?us-ascii?Q?S5HTVToMu5b8Q2S86EJIH1G98C/+OmYjyBx1npqueCY2dHxcV//pBwpQfh52?= =?us-ascii?Q?pjKCqH1JRw6d+Xbbu38xpcjkMxGREw0S6WAuBPqaXTNKH/js3rNMLjgsHtYU?= =?us-ascii?Q?4JMXXmdauoQ04VC+GjddCHzzdRCWVAqAEj+eQTQQdtRPbB7ER5hakzjNHFyf?= =?us-ascii?Q?dQwEBjP8Y2EoaqaOXGfIohlbm/efU/1Am4z1krR4v/18mpfDEjg7+x4C+PnB?= =?us-ascii?Q?kemCy8goRMk52Rz4llM8OLnK6M0+uTsIUVbaDk/xtlYDIgWrgwG8BFu8ZZl0?= =?us-ascii?Q?nrXkBTdD03L6uzNKfojYnudFn0n4cwge19iHdEXqVrb21RnRWOyHp6cSus4a?= =?us-ascii?Q?SbdV0e1TbWFTgtaxllJtRBR5A/8JeTRO/5aqRik2CmHimz7/g964JgMQ0WQJ?= =?us-ascii?Q?Dfl3tI59uwXcoNAoGJPW5n++UHAj6TVbWhC4KhZakSwJ2VJvuNw9+LqUindN?= =?us-ascii?Q?7s3phgvAkiFHAOr97T+vvgGA7jQ9FCL8tnHxm1pQYYQ/LsxGI4flvrgjh7DT?= =?us-ascii?Q?KUKMlGpNeYO9OHeN7iSgO+/jUKjCxBICeaee/P/iUzME34f/ZfHVoKj1K1Eq?= =?us-ascii?Q?DVSXLeWmU9f8IC5JCO3QWCvdBb85l13ASo87mezSnXqTMaOdBF8bOwgauOC1?= =?us-ascii?Q?a4+dvY/5BYCVCWwgE62NMlneeAu+NB3K9kulMIBruT94RzYxJNpwaKSXowbd?= =?us-ascii?Q?v0U/mKDOJUyoQQWeFw5OAsxqqUu5pLQOdE0/5EImAV3sjW3CUhtv6RjxYVj0?= =?us-ascii?Q?FwzWfW+//nqgbbkQnpmty5UNdcuc9nsycqd2+6GdtGYki5J5jPPHn0KIROqZ?= =?us-ascii?Q?IYJcr94C27M9EivG8so1sBsH9IdVZvbZ6wBY0EF0FPEjSOtTHRfdMgw/Cv/N?= =?us-ascii?Q?VYKF0HZ4bodN1GCCkXGH1xZvolXT6tEBosYefj6J?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 29b744b7-2016-4e63-ca91-08db75ec6720 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jun 2023 02:24:01.4334 (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: jS90sP35XPY5D9xfkhT2wHgfr2o1LB8kbKsz8rsuosxA4FsbIp9GNhKZMpo/+FjH7iWLFT/Km932jk1iKY6Amw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7088 Content-Type: text/plain; charset="utf-8" Add a new bpf map type MPTCP_STORAGE, define its mptcp_storage_map_ops. Add this storage into struct mptcp_sock to store persistent schedulers data. Signed-off-by: Geliang Tang --- include/linux/bpf_types.h | 1 + include/uapi/linux/bpf.h | 1 + kernel/bpf/syscall.c | 6 +- kernel/bpf/verifier.c | 1 + net/mptcp/bpf.c | 154 +++++++++++++++++++++++++++++++++ net/mptcp/protocol.h | 3 + tools/include/uapi/linux/bpf.h | 1 + tools/lib/bpf/libbpf.c | 1 + tools/lib/bpf/libbpf_probes.c | 1 + 9 files changed, 167 insertions(+), 2 deletions(-) diff --git a/include/linux/bpf_types.h b/include/linux/bpf_types.h index fc0d6f32c687..ef942ba2e176 100644 --- a/include/linux/bpf_types.h +++ b/include/linux/bpf_types.h @@ -122,6 +122,7 @@ BPF_MAP_TYPE(BPF_MAP_TYPE_XSKMAP, xsk_map_ops) BPF_MAP_TYPE(BPF_MAP_TYPE_SOCKMAP, sock_map_ops) BPF_MAP_TYPE(BPF_MAP_TYPE_SOCKHASH, sock_hash_ops) BPF_MAP_TYPE(BPF_MAP_TYPE_REUSEPORT_SOCKARRAY, reuseport_array_ops) +BPF_MAP_TYPE(BPF_MAP_TYPE_MPTCP_STORAGE, mptcp_storage_map_ops) #endif #endif BPF_MAP_TYPE(BPF_MAP_TYPE_QUEUE, queue_map_ops) diff --git a/include/uapi/linux/bpf.h b/include/uapi/linux/bpf.h index 6961a7b70028..f43cf69e47ea 100644 --- a/include/uapi/linux/bpf.h +++ b/include/uapi/linux/bpf.h @@ -943,6 +943,7 @@ enum bpf_map_type { BPF_MAP_TYPE_BLOOM_FILTER, BPF_MAP_TYPE_USER_RINGBUF, BPF_MAP_TYPE_CGRP_STORAGE, + BPF_MAP_TYPE_MPTCP_STORAGE, }; =20 /* Note that tracing related programs such as diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c index 4497b193dd20..8b96df76b780 100644 --- a/kernel/bpf/syscall.c +++ b/kernel/bpf/syscall.c @@ -1060,7 +1060,8 @@ static int map_check_btf(struct bpf_map *map, const s= truct btf *btf, map->map_type !=3D BPF_MAP_TYPE_SK_STORAGE && map->map_type !=3D BPF_MAP_TYPE_INODE_STORAGE && map->map_type !=3D BPF_MAP_TYPE_TASK_STORAGE && - map->map_type !=3D BPF_MAP_TYPE_CGRP_STORAGE) { + map->map_type !=3D BPF_MAP_TYPE_CGRP_STORAGE && + map->map_type !=3D BPF_MAP_TYPE_MPTCP_STORAGE) { ret =3D -EOPNOTSUPP; goto free_map_tab; } @@ -1085,7 +1086,8 @@ static int map_check_btf(struct bpf_map *map, const s= truct btf *btf, map->map_type !=3D BPF_MAP_TYPE_SK_STORAGE && map->map_type !=3D BPF_MAP_TYPE_INODE_STORAGE && map->map_type !=3D BPF_MAP_TYPE_TASK_STORAGE && - map->map_type !=3D BPF_MAP_TYPE_CGRP_STORAGE) { + map->map_type !=3D BPF_MAP_TYPE_CGRP_STORAGE && + map->map_type !=3D BPF_MAP_TYPE_MPTCP_STORAGE) { ret =3D -EOPNOTSUPP; goto free_map_tab; } diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c index b54193de762b..d8482a4ef465 100644 --- a/kernel/bpf/verifier.c +++ b/kernel/bpf/verifier.c @@ -16577,6 +16577,7 @@ static int check_map_prog_compatibility(struct bpf_= verifier_env *env, case BPF_MAP_TYPE_SK_STORAGE: case BPF_MAP_TYPE_TASK_STORAGE: case BPF_MAP_TYPE_CGRP_STORAGE: + case BPF_MAP_TYPE_MPTCP_STORAGE: break; default: verbose(env, diff --git a/net/mptcp/bpf.c b/net/mptcp/bpf.c index 7f29c68a0dc3..764c670e843b 100644 --- a/net/mptcp/bpf.c +++ b/net/mptcp/bpf.c @@ -10,6 +10,7 @@ #define pr_fmt(fmt) "MPTCP: " fmt =20 #include +#include #include #include #include @@ -180,6 +181,159 @@ static int __init bpf_mptcp_sched_kfunc_init(void) &bpf_mptcp_sched_kfunc_set); } late_initcall(bpf_mptcp_sched_kfunc_init); + +/* mptcp sched storage */ +DEFINE_BPF_STORAGE_CACHE(mptcp_cache); + +static DEFINE_PER_CPU(int, bpf_mptcp_storage_busy); + +BTF_ID_LIST_GLOBAL_SINGLE(bpf_mptcp_btf_id, struct, mptcp_sock) + +static void bpf_mptcp_storage_lock(void) +{ + migrate_disable(); + this_cpu_inc(bpf_mptcp_storage_busy); +} + +static void bpf_mptcp_storage_unlock(void) +{ + this_cpu_dec(bpf_mptcp_storage_busy); + migrate_enable(); +} + +static struct bpf_local_storage __rcu **mptcp_storage_ptr(void *owner) +{ + struct mptcp_sock *msk =3D owner; + + return &msk->bpf_storage; +} + +static struct bpf_local_storage_data * +mptcp_storage_lookup(struct mptcp_sock *msk, struct bpf_map *map, + bool cacheit_lockit) +{ + struct bpf_local_storage *msk_storage; + struct bpf_local_storage_map *smap; + + msk_storage =3D rcu_dereference_check(msk->bpf_storage, bpf_rcu_lock_held= ()); + if (!msk_storage) + return NULL; + + smap =3D (struct bpf_local_storage_map *)map; + return bpf_local_storage_lookup(msk_storage, smap, cacheit_lockit); +} + +static void *bpf_mptcp_storage_lookup_elem(struct bpf_map *map, void *key) +{ + struct bpf_local_storage_data *sdata; + struct mptcp_sock *msk; + struct socket *sock; + int err, fd; + + fd =3D *(int *)key; + sock =3D sockfd_lookup(fd, &err); + if (!sock) + return NULL; + + msk =3D bpf_mptcp_sock_from_subflow(sock->sk); + if (!msk) + return NULL; + + bpf_mptcp_storage_lock(); + sdata =3D mptcp_storage_lookup(msk, map, true); + bpf_mptcp_storage_unlock(); + fput(sock->file); + return sdata ? sdata->data : NULL; +} + +static long bpf_mptcp_storage_update_elem(struct bpf_map *map, void *key, + void *value, u64 map_flags) +{ + struct bpf_local_storage_data *sdata; + struct mptcp_sock *msk; + struct socket *sock; + int err, fd; + + fd =3D *(int *)key; + sock =3D sockfd_lookup(fd, &err); + if (!sock) + return PTR_ERR(sock); + + msk =3D bpf_mptcp_sock_from_subflow(sock->sk); + if (IS_ERR(msk)) + return PTR_ERR(msk); + + bpf_mptcp_storage_lock(); + sdata =3D bpf_local_storage_update(msk, (struct bpf_local_storage_map *)m= ap, + value, map_flags, GFP_ATOMIC); + bpf_mptcp_storage_unlock(); + fput(sock->file); + return PTR_ERR_OR_ZERO(sdata); +} + +static int mptcp_storage_delete(struct mptcp_sock *msk, struct bpf_map *ma= p) +{ + struct bpf_local_storage_data *sdata; + + sdata =3D mptcp_storage_lookup(msk, map, false); + if (!sdata) + return -ENOENT; + + bpf_selem_unlink(SELEM(sdata), false); + return 0; +} + +static long bpf_mptcp_storage_delete_elem(struct bpf_map *map, void *key) +{ + struct mptcp_sock *msk; + struct socket *sock; + int ret, err, fd; + + fd =3D *(int *)key; + sock =3D sockfd_lookup(fd, &err); + if (!sock) + return PTR_ERR(sock); + + msk =3D bpf_mptcp_sock_from_subflow(sock->sk); + if (IS_ERR(msk)) + return PTR_ERR(msk); + + bpf_mptcp_storage_lock(); + ret =3D mptcp_storage_delete(msk, map); + bpf_mptcp_storage_unlock(); + fput(sock->file); + return ret; +} + +static int notsupp_get_next_key(struct bpf_map *map, void *key, void *next= _key) +{ + return -ENOTSUPP; +} + +static struct bpf_map *mptcp_storage_map_alloc(union bpf_attr *attr) +{ + return bpf_local_storage_map_alloc(attr, &mptcp_cache, true); +} + +static void mptcp_storage_map_free(struct bpf_map *map) +{ + bpf_local_storage_map_free(map, &mptcp_cache, &bpf_mptcp_storage_busy); +} + +const struct bpf_map_ops mptcp_storage_map_ops =3D { + .map_meta_equal =3D bpf_map_meta_equal, + .map_alloc_check =3D bpf_local_storage_map_alloc_check, + .map_alloc =3D mptcp_storage_map_alloc, + .map_free =3D mptcp_storage_map_free, + .map_get_next_key =3D notsupp_get_next_key, + .map_lookup_elem =3D bpf_mptcp_storage_lookup_elem, + .map_update_elem =3D bpf_mptcp_storage_update_elem, + .map_delete_elem =3D bpf_mptcp_storage_delete_elem, + .map_check_btf =3D bpf_local_storage_map_check_btf, + .map_mem_usage =3D bpf_local_storage_map_mem_usage, + .map_btf_id =3D &bpf_local_storage_map_btf_id[0], + .map_owner_storage_ptr =3D mptcp_storage_ptr, +}; #endif /* CONFIG_BPF_JIT */ =20 struct mptcp_sock *bpf_mptcp_sock_from_subflow(struct sock *sk) diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index bb4d50c8c398..9e2aecae8923 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -313,6 +313,9 @@ struct mptcp_sock { */ struct sock *first; struct mptcp_pm_data pm; +#ifdef CONFIG_BPF_SYSCALL + struct bpf_local_storage __rcu *bpf_storage; +#endif struct mptcp_sched_ops *sched; struct { u32 space; /* bytes copied in last measurement window */ diff --git a/tools/include/uapi/linux/bpf.h b/tools/include/uapi/linux/bpf.h index 6961a7b70028..f43cf69e47ea 100644 --- a/tools/include/uapi/linux/bpf.h +++ b/tools/include/uapi/linux/bpf.h @@ -943,6 +943,7 @@ enum bpf_map_type { BPF_MAP_TYPE_BLOOM_FILTER, BPF_MAP_TYPE_USER_RINGBUF, BPF_MAP_TYPE_CGRP_STORAGE, + BPF_MAP_TYPE_MPTCP_STORAGE, }; =20 /* Note that tracing related programs such as diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c index 214f828ece6b..3365b6a34bb4 100644 --- a/tools/lib/bpf/libbpf.c +++ b/tools/lib/bpf/libbpf.c @@ -168,6 +168,7 @@ static const char * const map_type_name[] =3D { [BPF_MAP_TYPE_BLOOM_FILTER] =3D "bloom_filter", [BPF_MAP_TYPE_USER_RINGBUF] =3D "user_ringbuf", [BPF_MAP_TYPE_CGRP_STORAGE] =3D "cgrp_storage", + [BPF_MAP_TYPE_MPTCP_STORAGE] =3D "mptcp_storage", }; =20 static const char * const prog_type_name[] =3D { diff --git a/tools/lib/bpf/libbpf_probes.c b/tools/lib/bpf/libbpf_probes.c index 9c4db90b92b6..521cdc2dbcd2 100644 --- a/tools/lib/bpf/libbpf_probes.c +++ b/tools/lib/bpf/libbpf_probes.c @@ -308,6 +308,7 @@ static int probe_map_create(enum bpf_map_type map_type) case BPF_MAP_TYPE_INODE_STORAGE: case BPF_MAP_TYPE_TASK_STORAGE: case BPF_MAP_TYPE_CGRP_STORAGE: + case BPF_MAP_TYPE_MPTCP_STORAGE: btf_key_type_id =3D 1; btf_value_type_id =3D 3; value_size =3D 8; --=20 2.35.3 From nobody Tue May 21 23:36:38 2024 Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02on2048.outbound.protection.outlook.com [40.107.241.48]) (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 8D5EC7FA for ; Mon, 26 Jun 2023 02:24:10 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cCsWLlKPZVa0wC8prxKxJfnmELHk0577Vz34NJv1Lpj3TmSjXh0KaTAokVmkZnKwPzgFVIiFAeD2YmmDmsjX0IBtCikZh5BCJbecU6NpmVYAXij589Airr5+nNJUawTO7SqZI5HLG1RNY/Cch1IcmR9C+9dBGyIgIq5h4JGdTb5COpWF5O3hvLN51ZQP/jlwZmuwOL6ZqHaGKDDkj+Xv9hVAv9SIC6V0XvX6LnIfg92d9k82SJxWAcVvcOPCh+1plMsMq1HoGVLvu3nT6qQfxtjiOLlfEBAQg7W3JAY1zN6MpnrNDolTNt7xO2PH+VAnULjlpbz/WmdqnTVz0E1djA== 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=Hp1JKoQDCuvHpzmx4z/JOo3IqIGgE5P22SInXVRcGfk=; b=eUtDHsLuRoRdBb7Fhi5q3vK8q2BV8XqjFxExuCNWFP0pZ9ohjE2KcDwMRsKKM0SWW1L4F5sJ8Uv6n0j9mhW3D+JbMSAGHpUHSDtoKwAXmhytzpbvfLINOcYMRm6CAKBKrsLCErr+A/TSq6B+t1NBvTxny8+zBQKUZ+X4kRylXDcBQ1syzVzEfU74vqg+Qv22FzcyDmHpc0k8TBZCWNmImVJlDcDuEAj5ZqDT63GMKJU4Ea4VDiGeeaBATlP7USID3qdnaje6lcIb7DuCGprvqkRlGqDV/r1wUMi3qDxU7xT8J2rbJ74Dt2YroNzpFl1Z8wJNAqAe3pEsPpmhhGZ2CA== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Hp1JKoQDCuvHpzmx4z/JOo3IqIGgE5P22SInXVRcGfk=; b=ONfgXG3QHZSkUzPWhULk7QjQR3qBc98BibTLfWQlM5HqZF4X3LWuFrVuMx8hdG3cokn2dNo1dIJlab7GBX7qq2Egj9ArVT6Fzu6I34eW5JqZj7vyTiEdz9GG0a7dOOTe+I3xyW9Mox0SEgoCQpRUrre925XIX3CAunKTgQuFfgysFw6HzBLrKPsUZuKw2MECF5elZL3aN2O/WMjwUK9QlzBLJJVMd3X+YLIylnKBm49hLE7vRcNy4l7ZHe1Z1+yGx+tzlEoYmzrL9WmvFWgvDpLH2ASgnTC6mzzuDP/AQxDnrRxG+iVdY2LMF48TvyEdLyPSry6JX8D+vNQ3PGLwrg== 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 VI1PR04MB7088.eurprd04.prod.outlook.com (2603:10a6:800:11d::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6521.24; Mon, 26 Jun 2023 02:24:07 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35%6]) with mapi id 15.20.6521.026; Mon, 26 Jun 2023 02:24:07 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v10 08/13] bpf: Add mptcp_storage helpers Date: Mon, 26 Jun 2023 10:23:09 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR02CA0006.apcprd02.prod.outlook.com (2603:1096:4:194::8) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|VI1PR04MB7088:EE_ X-MS-Office365-Filtering-Correlation-Id: 9884669b-580e-4bef-4986-08db75ec6b43 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: llnkZVZs3PCAxl8Q9bhShS08MGKx7M8S9zWpz6dcakALGHY+GJprlwt1codLkw/faJo41kRgSGNzOdE8L3Miq1AVhFwC3U7UFldixv3bFZVVW5IVpvI/vu5NQV5z9p+b0RTARmmDhS5zy/M9Dat1c34x3KAMjv5XDYiClGWyYpqwstyHu2rFFG42RaWjI9ElZT8ZqH6Dv2VhjPShAMEuN8KIr5PIxoLYWsbl8oOCkVXX7djPW5+dHyhzYzO5DsbyB7bE/r/eTSj9d2x9qg97BF6xlxjr/AWM2BQWrTMT4eWDy/9sx6H00AJyzwfsLj3KsEFLDrku+5fNGvFIJ2Q7w3XgP6aAwlEaCXL8/YvpajercLqBteeOZ1ebrLVUZQXKvRv3va0oAfRGjApgxkz7mrO8bXvnsKfmyB8nHOHNY1A3lgcG3zbberFm/OEo5qA7mPDUqvKQcYCrZWsvcahEIbvWsnUGfSALeidRCYFdwPPbO9wcssb1TgpFf18vEsiOBbeKJ/hHvOQAIWnIi+9BSZ+dYVDsI6iiBEIVwIftnrZWphK1tik0kDoqY9Sy4iyZ 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:(13230028)(346002)(396003)(39860400002)(136003)(376002)(366004)(451199021)(6486002)(478600001)(83380400001)(2616005)(86362001)(66476007)(107886003)(186003)(26005)(30864003)(6506007)(2906002)(6512007)(6916009)(36756003)(4326008)(316002)(66556008)(66946007)(5660300002)(38100700002)(8936002)(44832011)(8676002)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?MlntkSzZuDZzV8+n5h+ZHzhMwsUwt0S9PzecpqU/J1ac0Lwcy6NMKURIAcP9?= =?us-ascii?Q?SD1RH6kkp1oKnsLseLy0TMWUiEs/mtXVIsvawhV/i6koI+yCDmqObBtMYoHl?= =?us-ascii?Q?nRsX57ASvNQJ2LUgSR9axQpkIv9MZFMduAVWjYLGA/US9xbQiarm1eoBQ8dL?= =?us-ascii?Q?03JwMGu0P2CKs5PkG0ibLNejAoPNKoAmSvrL6/JlWVIchsPU76uu030vdmJK?= =?us-ascii?Q?rIEKzBDjHg/eBTVyNWs/PNB7O7zh3gcdtTdgPGCLLIHsLsV0nKuynjWPj1Pp?= =?us-ascii?Q?zkaBJAH6rpRdXs3dUUaAhYe2yZkI6l2wZ8LlQN/YGky0TGKnyEPs/IW9SU+p?= =?us-ascii?Q?SWA9BffXA1dib1OD8zkB3siccWZ3WcwyVhB04eQ0JMjmjFTIARh2zW9uTYas?= =?us-ascii?Q?sdDXte3VwE7J7Tz2VGmh0y1MicEPvGTtfbv3M2jiGhFWm/VtVw8vqjlyMZGu?= =?us-ascii?Q?so4sSG2G5N/SiX+tqP/KeTid8kdSC2erUhLxBy3rL4Y90lYGvw5zMl5AGOpK?= =?us-ascii?Q?2B/Tkx/KSaYzZRriysXNFf7oK6paNERXMNzMr1JNcdRVd/Z1WDmlqBn4keGw?= =?us-ascii?Q?YIquBRZB5Jvv4KMv5Zroew/lLjBzS8jOwyuZI2OBejWU3B1iy0oFpPgITuk+?= =?us-ascii?Q?/WkkRV9V8cQzSnD8K4Wprf0ED3QFlJH+1URk3nEPF5V+EgymKA8H9+nnBIE6?= =?us-ascii?Q?Tkf2+L6E/AsQqpyWo2yazIP4OR+lowSsaM2p8L0ZYnTImfgrwfk5f0uNByKb?= =?us-ascii?Q?2it6to6aGt/sdJc5rktHRjA6ik5IQ9AR5ah+JmFze03Icu/2MjiA88rWM40T?= =?us-ascii?Q?OS9lb4QO2axIjv70LXLEsWjfw0dMWxYx/fTgFM5mliTTKVt7QqgjyqRcaPX6?= =?us-ascii?Q?fZLx6iLOzjddaCOI7Qrwgv4AFQFAzjO1bKqBqrYBOxHAwwDgr3fI0/y26Uct?= =?us-ascii?Q?ZYXvIkmJMNXpjLaP5WQLpHAkGdBufOj/61lXUQCVnphLylSMH3WGZ/T8fqPB?= =?us-ascii?Q?oOXsv6bOY4DdMfQFqZRW8cDA4suyKetJfMGDkzNqj1TP7l81HYEdKy0AP8Le?= =?us-ascii?Q?3X6rDXdfP14wRUxab6IHcNZZ+lk9lhaPTRPokS+VOVlLj+DlxyQucfiSFAbd?= =?us-ascii?Q?jDnYEhFi/MFqTNSjyWs84NLsI0C82E1qTSew5H22WfpwSVN9M7pNfAW140pI?= =?us-ascii?Q?bwUf5br8dPm/6P3kc7n7RxGb0GXDAWRjullLqTA9pTg3ui1mMZ2T8HFwmtoN?= =?us-ascii?Q?hDfOCUl1rA6EHnaX/ok8Dc2lFRuX2J1R79dqwxF5hDhJsvuxYLuU1bw23rdx?= =?us-ascii?Q?n+cVi4GZmKQX6n004ABBfkDO7ykUJosE11HIjYoXc/QvTN5saXLBR4oZy75Q?= =?us-ascii?Q?TMh0wP8r1cXKJOlp2tuJgarwGjwnyQ0aDGXQdrj+QYjESscSEGfx9OJDBVVl?= =?us-ascii?Q?1tejvHjrIn1GtX26WbzVXDKlAVIdqNYp6V6p9xLae1avV8D02k4tJy/V8Eu8?= =?us-ascii?Q?4Y8VdnuahodyIklWHocuqhk89HH1V1xmNkm4J/Hfb2iXnqVFVnFpZrzqCnlf?= =?us-ascii?Q?kM3poUEx2oVHUBtgoGFySobjEpZsQxtQRAB5l1rU?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9884669b-580e-4bef-4986-08db75ec6b43 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jun 2023 02:24:07.8107 (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: LVG60Z36ZswMyXWxmxPnM/bLHqM1Vq53jREwXeoJZTo7kg83125t3tSLuN9onHErIVA59VEPXfuP9LrTDxDEMg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7088 Content-Type: text/plain; charset="utf-8" Add two helpers bpf_mptcp_storage_get() and bpf_mptcp_storage_delete() for mptcp_storage map type to get or delete a bpf_local_storage from the given msk. Signed-off-by: Geliang Tang --- include/linux/bpf.h | 2 + include/linux/btf_ids.h | 1 + include/uapi/linux/bpf.h | 39 ++++++++++++++++ kernel/bpf/helpers.c | 4 ++ kernel/bpf/verifier.c | 13 +++++- net/mptcp/bpf.c | 84 ++++++++++++++++++++++++++++++++++ tools/include/uapi/linux/bpf.h | 39 ++++++++++++++++ 7 files changed, 181 insertions(+), 1 deletion(-) diff --git a/include/linux/bpf.h b/include/linux/bpf.h index f58895830ada..ac4b5748451a 100644 --- a/include/linux/bpf.h +++ b/include/linux/bpf.h @@ -2909,6 +2909,8 @@ extern const struct bpf_func_proto bpf_get_retval_pro= to; extern const struct bpf_func_proto bpf_user_ringbuf_drain_proto; extern const struct bpf_func_proto bpf_cgrp_storage_get_proto; extern const struct bpf_func_proto bpf_cgrp_storage_delete_proto; +extern const struct bpf_func_proto bpf_mptcp_storage_get_proto; +extern const struct bpf_func_proto bpf_mptcp_storage_delete_proto; =20 const struct bpf_func_proto *tracing_prog_func_proto( enum bpf_func_id func_id, const struct bpf_prog *prog); diff --git a/include/linux/btf_ids.h b/include/linux/btf_ids.h index 00950cc03bff..abd56cfcb03f 100644 --- a/include/linux/btf_ids.h +++ b/include/linux/btf_ids.h @@ -267,5 +267,6 @@ MAX_BTF_TRACING_TYPE, extern u32 btf_tracing_ids[]; extern u32 bpf_cgroup_btf_id[]; extern u32 bpf_local_storage_map_btf_id[]; +extern u32 bpf_mptcp_btf_id[]; =20 #endif diff --git a/include/uapi/linux/bpf.h b/include/uapi/linux/bpf.h index f43cf69e47ea..137e0620fd69 100644 --- a/include/uapi/linux/bpf.h +++ b/include/uapi/linux/bpf.h @@ -5570,6 +5570,43 @@ union bpf_attr { * 0 on success. * * **-ENOENT** if the bpf_local_storage cannot be found. + * + * void *bpf_mptcp_storage_get(struct bpf_map *map, struct mptcp_sock *msk= , void *value, u64 flags) + * Description + * Get a bpf_local_storage from the *msk*. + * + * Logically, it could be thought of as getting the value from + * a *map* with *msk* as the **key**. From this + * perspective, the usage is not much different from + * **bpf_map_lookup_elem**\ (*map*, **&**\ *msk*) except this + * helper enforces the key must be a mptcp_sock and the map must also + * be a **BPF_MAP_TYPE_MPTCP_STORAGE**. + * + * Underneath, the value is stored locally at *msk* instead of + * the *map*. The *map* is used as the bpf-local-storage + * "type". The bpf-local-storage "type" (i.e. the *map*) is + * searched against all bpf_local_storage residing at *msk*. + * + * An optional *flags* (**BPF_LOCAL_STORAGE_GET_F_CREATE**) can be + * used such that a new bpf_local_storage will be + * created if one does not exist. *value* can be used + * together with **BPF_LOCAL_STORAGE_GET_F_CREATE** to specify + * the initial value of a bpf_local_storage. If *value* is + * **NULL**, the new bpf_local_storage will be zero initialized. + * Return + * A bpf_local_storage pointer is returned on success. + * + * **NULL** if not found or there was an error in adding + * a new bpf_local_storage. + * + * long bpf_mptcp_storage_delete(struct bpf_map *map, struct mptcp_sock *m= sk) + * Description + * Delete a bpf_local_storage from the *msk*. + * + * Return + * 0 on success. + * + * **-ENOENT** if the bpf_local_storage cannot be found. */ #define ___BPF_FUNC_MAPPER(FN, ctx...) \ FN(unspec, 0, ##ctx) \ @@ -5784,6 +5821,8 @@ union bpf_attr { FN(user_ringbuf_drain, 209, ##ctx) \ FN(cgrp_storage_get, 210, ##ctx) \ FN(cgrp_storage_delete, 211, ##ctx) \ + FN(mptcp_storage_get, 212, ##ctx) \ + FN(mptcp_storage_delete, 213, ##ctx) \ /* */ =20 /* backwards-compatibility macros for users of __BPF_FUNC_MAPPER that don't diff --git a/kernel/bpf/helpers.c b/kernel/bpf/helpers.c index 4ef4c4f8a355..381b680007fb 100644 --- a/kernel/bpf/helpers.c +++ b/kernel/bpf/helpers.c @@ -1768,6 +1768,10 @@ bpf_base_func_proto(enum bpf_func_id func_id) case BPF_FUNC_get_current_ancestor_cgroup_id: return &bpf_get_current_ancestor_cgroup_id_proto; #endif + case BPF_FUNC_mptcp_storage_get: + return &bpf_mptcp_storage_get_proto; + case BPF_FUNC_mptcp_storage_delete: + return &bpf_mptcp_storage_delete_proto; default: break; } diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c index d8482a4ef465..c7479628acf7 100644 --- a/kernel/bpf/verifier.c +++ b/kernel/bpf/verifier.c @@ -553,7 +553,8 @@ static bool is_storage_get_function(enum bpf_func_id fu= nc_id) return func_id =3D=3D BPF_FUNC_sk_storage_get || func_id =3D=3D BPF_FUNC_inode_storage_get || func_id =3D=3D BPF_FUNC_task_storage_get || - func_id =3D=3D BPF_FUNC_cgrp_storage_get; + func_id =3D=3D BPF_FUNC_cgrp_storage_get || + func_id =3D=3D BPF_FUNC_mptcp_storage_get; } =20 static bool helper_multiple_ref_obj_use(enum bpf_func_id func_id, @@ -8241,6 +8242,11 @@ static int check_map_func_compatibility(struct bpf_v= erifier_env *env, func_id !=3D BPF_FUNC_map_push_elem) goto error; break; + case BPF_MAP_TYPE_MPTCP_STORAGE: + if (func_id !=3D BPF_FUNC_mptcp_storage_get && + func_id !=3D BPF_FUNC_mptcp_storage_delete) + goto error; + break; default: break; } @@ -8353,6 +8359,11 @@ static int check_map_func_compatibility(struct bpf_v= erifier_env *env, if (map->map_type !=3D BPF_MAP_TYPE_CGRP_STORAGE) goto error; break; + case BPF_FUNC_mptcp_storage_get: + case BPF_FUNC_mptcp_storage_delete: + if (map->map_type !=3D BPF_MAP_TYPE_MPTCP_STORAGE) + goto error; + break; default: break; } diff --git a/net/mptcp/bpf.c b/net/mptcp/bpf.c index 764c670e843b..0bf3409cf288 100644 --- a/net/mptcp/bpf.c +++ b/net/mptcp/bpf.c @@ -201,6 +201,17 @@ static void bpf_mptcp_storage_unlock(void) migrate_enable(); } =20 +static bool bpf_mptcp_storage_trylock(void) +{ + migrate_disable(); + if (unlikely(this_cpu_inc_return(bpf_mptcp_storage_busy) !=3D 1)) { + this_cpu_dec(bpf_mptcp_storage_busy); + migrate_enable(); + return false; + } + return true; +} + static struct bpf_local_storage __rcu **mptcp_storage_ptr(void *owner) { struct mptcp_sock *msk =3D owner; @@ -305,6 +316,59 @@ static long bpf_mptcp_storage_delete_elem(struct bpf_m= ap *map, void *key) return ret; } =20 +/* Called by bpf_mptcp_storage_get*() helpers */ +static void *__bpf_mptcp_storage_get(struct bpf_map *map, + struct mptcp_sock *msk, void *value, + u64 flags, gfp_t gfp_flags, bool nobusy) +{ + struct bpf_local_storage_data *sdata; + + sdata =3D mptcp_storage_lookup(msk, map, nobusy); + if (sdata) + return sdata->data; + + if ((flags & BPF_LOCAL_STORAGE_GET_F_CREATE) && nobusy) { + sdata =3D bpf_local_storage_update( + msk, (struct bpf_local_storage_map *)map, value, + BPF_NOEXIST, gfp_flags); + return IS_ERR(sdata) ? NULL : sdata->data; + } + + return NULL; +} + +/* *gfp_flags* is a hidden argument provided by the verifier */ +BPF_CALL_5(bpf_mptcp_storage_get, struct bpf_map *, map, struct mptcp_sock= *, msk, + void *, value, u64, flags, gfp_t, gfp_flags) +{ + void *data; + + WARN_ON_ONCE(!bpf_rcu_lock_held()); + if (flags & ~BPF_LOCAL_STORAGE_GET_F_CREATE || !msk) + return (unsigned long)NULL; + + bpf_mptcp_storage_lock(); + data =3D __bpf_mptcp_storage_get(map, msk, value, flags, gfp_flags, true); + bpf_mptcp_storage_unlock(); + return (unsigned long)data; +} + +BPF_CALL_2(bpf_mptcp_storage_delete, struct bpf_map *, map, struct mptcp_s= ock *, msk) +{ + int ret; + + WARN_ON_ONCE(!bpf_rcu_lock_held()); + if (!msk) + return -EINVAL; + + if (!bpf_mptcp_storage_trylock()) + return -EBUSY; + + ret =3D mptcp_storage_delete(msk, map); + bpf_mptcp_storage_unlock(); + return ret; +} + static int notsupp_get_next_key(struct bpf_map *map, void *key, void *next= _key) { return -ENOTSUPP; @@ -334,6 +398,26 @@ const struct bpf_map_ops mptcp_storage_map_ops =3D { .map_btf_id =3D &bpf_local_storage_map_btf_id[0], .map_owner_storage_ptr =3D mptcp_storage_ptr, }; + +const struct bpf_func_proto bpf_mptcp_storage_get_proto =3D { + .func =3D bpf_mptcp_storage_get, + .gpl_only =3D false, + .ret_type =3D RET_PTR_TO_MAP_VALUE_OR_NULL, + .arg1_type =3D ARG_CONST_MAP_PTR, + .arg2_type =3D ARG_PTR_TO_BTF_ID_OR_NULL, + .arg2_btf_id =3D &bpf_mptcp_btf_id[0], + .arg3_type =3D ARG_PTR_TO_MAP_VALUE_OR_NULL, + .arg4_type =3D ARG_ANYTHING, +}; + +const struct bpf_func_proto bpf_mptcp_storage_delete_proto =3D { + .func =3D bpf_mptcp_storage_delete, + .gpl_only =3D false, + .ret_type =3D RET_INTEGER, + .arg1_type =3D ARG_CONST_MAP_PTR, + .arg2_type =3D ARG_PTR_TO_BTF_ID_OR_NULL, + .arg2_btf_id =3D &bpf_mptcp_btf_id[0], +}; #endif /* CONFIG_BPF_JIT */ =20 struct mptcp_sock *bpf_mptcp_sock_from_subflow(struct sock *sk) diff --git a/tools/include/uapi/linux/bpf.h b/tools/include/uapi/linux/bpf.h index f43cf69e47ea..137e0620fd69 100644 --- a/tools/include/uapi/linux/bpf.h +++ b/tools/include/uapi/linux/bpf.h @@ -5570,6 +5570,43 @@ union bpf_attr { * 0 on success. * * **-ENOENT** if the bpf_local_storage cannot be found. + * + * void *bpf_mptcp_storage_get(struct bpf_map *map, struct mptcp_sock *msk= , void *value, u64 flags) + * Description + * Get a bpf_local_storage from the *msk*. + * + * Logically, it could be thought of as getting the value from + * a *map* with *msk* as the **key**. From this + * perspective, the usage is not much different from + * **bpf_map_lookup_elem**\ (*map*, **&**\ *msk*) except this + * helper enforces the key must be a mptcp_sock and the map must also + * be a **BPF_MAP_TYPE_MPTCP_STORAGE**. + * + * Underneath, the value is stored locally at *msk* instead of + * the *map*. The *map* is used as the bpf-local-storage + * "type". The bpf-local-storage "type" (i.e. the *map*) is + * searched against all bpf_local_storage residing at *msk*. + * + * An optional *flags* (**BPF_LOCAL_STORAGE_GET_F_CREATE**) can be + * used such that a new bpf_local_storage will be + * created if one does not exist. *value* can be used + * together with **BPF_LOCAL_STORAGE_GET_F_CREATE** to specify + * the initial value of a bpf_local_storage. If *value* is + * **NULL**, the new bpf_local_storage will be zero initialized. + * Return + * A bpf_local_storage pointer is returned on success. + * + * **NULL** if not found or there was an error in adding + * a new bpf_local_storage. + * + * long bpf_mptcp_storage_delete(struct bpf_map *map, struct mptcp_sock *m= sk) + * Description + * Delete a bpf_local_storage from the *msk*. + * + * Return + * 0 on success. + * + * **-ENOENT** if the bpf_local_storage cannot be found. */ #define ___BPF_FUNC_MAPPER(FN, ctx...) \ FN(unspec, 0, ##ctx) \ @@ -5784,6 +5821,8 @@ union bpf_attr { FN(user_ringbuf_drain, 209, ##ctx) \ FN(cgrp_storage_get, 210, ##ctx) \ FN(cgrp_storage_delete, 211, ##ctx) \ + FN(mptcp_storage_get, 212, ##ctx) \ + FN(mptcp_storage_delete, 213, ##ctx) \ /* */ =20 /* backwards-compatibility macros for users of __BPF_FUNC_MAPPER that don't --=20 2.35.3 From nobody Tue May 21 23:36:38 2024 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2041.outbound.protection.outlook.com [40.107.22.41]) (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 6C7807FA for ; Mon, 26 Jun 2023 02:24:16 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=K6tIJh2R5EpyOP8sPnYFnqBC+yosp2TPEJ2Zzq+Oe2dQBmw4+X6TGtmofypyu3YEPYFpSORFjEqQX1GOj5uSjqDdscIX8cex5n0utuhn1Wiqz/oC+y95smqKciPLnY0ENuIFPGxUG1kfEGtpv6YCk+gHUwqQrCHQsqUodDjLg6dDbUeEhsMtvWB4b4+SFg1OFXdUNTd504m8mnm6SP62x9chre9IHNBnJO7evr0TjEGRmIwUiS23PLzEJi0BGvlnbPkWqf0WJWM93X1kquuKtY3RHhlLzVb4kvxZQxctAMnQBkjQ9CnTQqiryJUsuiyGkaW6h4PWST0tabc1YaElBw== 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=V8w6Fy11ZLX5izmI9cYU+HhaQ515N2DxkYc7IdRsYXo=; b=mlsUzFAnY5y5+AApV2Qq1JRQ3LYV6rB7E3DXc2j3Ee3RhyFtYDg3qVpcyN1NWJgdHB8rhk9zIHJPy2RWaZ4cvF1sW3lNSk0IWAn1kK9FOuR6ovw/8aT6G2iy1L+VcoIWBJ2LmXpAUktb8pLkiE9w8aVrIwKTc4xQeHO7Tu4wC9qcNd2EP4Z+nIE1xwJoW7BpdFH+n0OnEHIcAH1rY+v7RauxhBjOHfVUC4J2gPC6tw39GLTQtS4RjUQUMDWGnlxH7c5hndiSq7j/e3ObJUP6i4W7hUXzOV8kEIKHNxGMaT979ci21pPV1BBi7NDnqGvRtNImO6bKKMPxoCwUKzfV9g== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=V8w6Fy11ZLX5izmI9cYU+HhaQ515N2DxkYc7IdRsYXo=; b=rz6CDFT+OsKrW4RCJnFc6TxfzxftJBq1P3qibrO1a5EI+7yQ1ycf2GYYtqXenvIQ6JNczMQ8itpoT+TwL0WxIR73irBPtUdBhyyRktfxSCmK2mSYEB8khzI7jJxZTgFPUOaVZDkr5Pv2nEJdhNLoRCLW+RD1BWxWLQOAckFiuyrICl1zBtG7D8gtYA8mXSEsWLkebyKIhO7YnRrcDx8JZGiY0wa21fPcGle1DaKuGBxo961zIEAvy60NaoP2FZLEs2i9p88U2++jPHdUKwKIZv6QtSfbfKtgiTR316db8LRZQPUntmYurssNcet4wQc5wp5twL5++zTJC1bcKVRPRA== 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 VI1PR04MB7088.eurprd04.prod.outlook.com (2603:10a6:800:11d::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6521.24; Mon, 26 Jun 2023 02:24:14 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35%6]) with mapi id 15.20.6521.026; Mon, 26 Jun 2023 02:24:14 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v10 09/13] Squash to "selftests/bpf: Add mptcp sched structs" Date: Mon, 26 Jun 2023 10:23:10 +0800 Message-Id: <25e059ba8d89058617a6f111652db5eb15f9a377.1687746021.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR02CA0010.apcprd02.prod.outlook.com (2603:1096:4:194::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-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|VI1PR04MB7088:EE_ X-MS-Office365-Filtering-Correlation-Id: 9a4a6375-951b-4671-80bd-08db75ec6efa X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: odkOTSBHmUHAOGl1Bg6+BFoikUAaDVL6Ltg/+ohq1yFh0rPavUU2tkJRN2kmgYQNVmlmRuuqlJXPdVIaChpOgv4EJ90KICdUlvPpbhsh1RDc9VWdAzdGeB45a3NzWwawe5vXANAqHjArgEV3Ocgf8TPyUjiSt3tOJhxFhrB+XpSUl115ZpW/POuoOshPRJUUP+wBGbBHdw4To1QYolCC8zIl0LPBSmWiah2QpyLRimLB9exAgpSKk0to3fUzL/ngMEAyI9u+9Jg8qKVsjPWXhNMTEGiUW6CTL73mQcPcCdBkAE6/TvcaUauzkxTm+Z4ZVZCHcAe3yRPgBkyh5swmmD2xHgEsY+/oduwocw1E7mg9Z7UNmDWSoAB+U3zYY1V1twNcbdt7+62l5vRMM3H0dbsv7r2Xnf8jngcJAyf8EIlROB+lMK3bLPTGWHifbeK/JWE7LUDI6KXoP/Izt6UO2cY6TNKybJgPHjNvPBSjrqjcBM96IMwqXEunrf03k0gK+ax/w5b5ZbKV6cMkAxV3HwFLhj30wkTcf6kGFzWpF2kxtuuxIU2z86id90WPVhUY 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:(13230028)(346002)(396003)(39860400002)(136003)(376002)(366004)(451199021)(6666004)(6486002)(478600001)(83380400001)(2616005)(86362001)(66476007)(107886003)(186003)(26005)(6506007)(2906002)(6512007)(6916009)(36756003)(4326008)(316002)(66556008)(66946007)(5660300002)(38100700002)(8936002)(44832011)(8676002)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?kqGFJsuCehV9OgxZw2GF2YjpMdI081VElcXRuLjkIfjmvUkc2HL/7F34kaKH?= =?us-ascii?Q?2uDSdoD944LWreYB8aZvPIE+5TRH1rNQQ80dNKzyT3HQPe2SlEuSV6XJnNQq?= =?us-ascii?Q?r+kNhmwuQ1s8j+bqj9s9vsMzJbghH/3WLshpFpFsNbq7IlK9DGmvmuq/WyKW?= =?us-ascii?Q?TiS133psTGIALHj3kwapOyAgzvHlarTkszZejwpSGFV5tGSHRw31ojgsKyGC?= =?us-ascii?Q?tp9/Tx1E+nltfAIq7bTbsW0zA6+o+b2VszWMWp1ouhFdPD36OQwBvrOYWj78?= =?us-ascii?Q?IjTvGsQH2NabMhUVMhXuue6E2yhYDu333v54fOjv8S7BG3A+15uUUldDdCgV?= =?us-ascii?Q?qEBz+1a3gufdCtQJ/blIz09lWJWJ7w6WKA7bLM5jyr4/rc1IoJjkgoVVOd3U?= =?us-ascii?Q?HQ6P5im6Uul+nbHN7o0B0NvROaVnTGaN6Z8PYHzba7xFfSHIQsU+yT3djthq?= =?us-ascii?Q?uFKVe+4KEQJZnLkyQ3r20gzq4h+lCTLDDOtFHTUXm2J5nbtbsnSDSej2JLcg?= =?us-ascii?Q?Pby1XWsHGbdwHQlZJT0DhYLsHmdb9NY8fZL91Bo73ScAN97W+dyZolnixj2t?= =?us-ascii?Q?57PP9KB6THS8eSpHXR0xsCilkXX+7drGCBIDXqFoGHVdH0DLBDhlLk1RxayF?= =?us-ascii?Q?QQVkSfki7taqnQBbxFKqPEAiq9fr2CQPWaJW1/whWISa5XUqzwdCcNZOOBGM?= =?us-ascii?Q?Jg40xCVlTVInXLux7KD2Y60h9k39w12z8RDIvCePPOMd842bOsd4qOCsxU9D?= =?us-ascii?Q?yrXn31yiSoMu6liOA6qn/b4YA0N3e1hxOtXm8WVy2aVMqJQHnVLxIPkdWssI?= =?us-ascii?Q?ekVe6NZPMwRoE1m05iAsXYsV385/eDPKXsMVas1d4l7y0+eUaf6+bKDwaSey?= =?us-ascii?Q?yDVrcng8enwFKBxtqCqiSzOyymANjWI+OYu6czaJ1Hc7u9dCLm1Xn0u8YoG5?= =?us-ascii?Q?TSxkA4oR0wP8ItbnttqUErK6lpARZVMoDs2fIepL55DPRaSJS/nVGLKy/2Cy?= =?us-ascii?Q?JQSxY6LwofaDo4XcLZkZlF1zkqy9cqtYE8mKIUvNMcxLyRDyIaoxLqbzgtxc?= =?us-ascii?Q?GwV6iTwTWF6newjDpkHnjkHYrLwmGBy6DV/gqCoCrV3doMSd2z1JdKXcwwpz?= =?us-ascii?Q?Sdfzhim5l19b8gM7ZD6iXDepKUcJIzHm+R0u+nYTNqsoUwpx5QM+Sz4JNwMq?= =?us-ascii?Q?gX1cAd+0YnMiICh0/P8YdDEPjBzb6SFOPNSXXQlh1kSW8JmphBW/G39xHGLr?= =?us-ascii?Q?QBfmb9GiQTtFPpYIISnJ2K3KomcIeeDsQf4sq6S+29eEMPS0STQT0ypyNe2k?= =?us-ascii?Q?PkMbyLqfZVgsjbLjNB8qFids6zzfXKKgEw4WRqFRB5fWtZiCwVlMf6e1SSg0?= =?us-ascii?Q?2xxffULntHK7C5c5YokoaJGIBvyooEzy+DLQiBGoZ6XqmS47C0mx0p5pm8mg?= =?us-ascii?Q?eiCBlTAhMMSMoEA+AQ+hEr6h8bQYwsBeavREHG4BU/md+NgPljswRsTzEruF?= =?us-ascii?Q?ElvwPQBo2lmLJa8K1PAs3ZyKRGTcwS4D92drvD8H8EEXJNLxTU3UGAliLQIR?= =?us-ascii?Q?f4CPp4x08cg8ZdKJIG7QjJKQRgi7f9DuXD72mOIS?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9a4a6375-951b-4671-80bd-08db75ec6efa X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jun 2023 02:24:13.9466 (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: ovL5Zr8luvocwSVgHk91t6jO8sRBxgHQj2mRsMpwH22ifmGy65ka0lwqW/QP6cwvswpyS+s7lVtZTGd5csad0g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7088 Content-Type: text/plain; charset="utf-8" Update scheduler API. Signed-off-by: Geliang Tang --- tools/testing/selftests/bpf/bpf_tcp_helpers.h | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/tools/testing/selftests/bpf/bpf_tcp_helpers.h b/tools/testing/= selftests/bpf/bpf_tcp_helpers.h index 72c618037386..b4b766c7a68f 100644 --- a/tools/testing/selftests/bpf/bpf_tcp_helpers.h +++ b/tools/testing/selftests/bpf/bpf_tcp_helpers.h @@ -240,19 +240,19 @@ struct mptcp_subflow_context { =20 struct mptcp_sched_data { bool reinject; - struct mptcp_subflow_context *contexts[MPTCP_SUBFLOWS_MAX]; + __u8 subflows; } __attribute__((preserve_access_index)); =20 struct mptcp_sched_ops { char name[MPTCP_SCHED_NAME_MAX]; =20 - void (*init)(const struct mptcp_sock *msk); - void (*release)(const struct mptcp_sock *msk); + void (*init)(struct mptcp_sock *msk); + void (*release)(struct mptcp_sock *msk); =20 - void (*data_init)(const struct mptcp_sock *msk, + void (*data_init)(struct mptcp_sock *msk, struct mptcp_sched_data *data); - int (*get_subflow)(const struct mptcp_sock *msk, - struct mptcp_sched_data *data); + int (*get_subflow)(struct mptcp_sock *msk, + const struct mptcp_sched_data *data); void *owner; }; =20 @@ -269,5 +269,7 @@ extern void mptcp_subflow_set_scheduled(struct mptcp_su= bflow_context *subflow, bool scheduled) __ksym; extern void mptcp_sched_data_set_contexts(const struct mptcp_sock *msk, struct mptcp_sched_data *data) __ksym; +extern struct mptcp_subflow_context * +mptcp_subflow_ctx_by_pos(const struct mptcp_sched_data *data, unsigned int= pos) __ksym; =20 #endif --=20 2.35.3 From nobody Tue May 21 23:36:38 2024 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2044.outbound.protection.outlook.com [40.107.22.44]) (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 625927FA for ; Mon, 26 Jun 2023 02:24:22 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cf8rAIQffNdm/twtV4HT3e8Yy5MRg63HcXQgDKqjnGT28jzCzyLIbdrRUaludGIPr12nWiD6mFwx1Gjcle/R7SVYdM4gqvgv9r5OgPBZN+ZNQqBouuXPMY1/IpBLruk8xyCT4PNSXRZ4276NzYUd4+OjxT43ZX9T/G6V5yc5SBLbBYPEWvYBvfh2VW8WtxDuo7gpRlx4jQetvNCw8xTWeDMtJbnlfT7taADGc0plnrZwhxUdG4gW6lVHQ1AkzZH3o17jCDy3H4YzTCCZzN1fgC1fe2aNFYqzgjUtjzaRXqco8rhgOuTgEYoPrZBtRremvPLEjdCNVb1Z2wCb3q6fEg== 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=GXUEK29Ag1K2VSEDf5t1XDYKLbgsGTzzQ5ZSkdfnVOE=; b=Nm7DOMPcepnEtxsPNlqIBeU7K1VyE/bqYv3odZIx1X8gAFRiTahYgFtHZd1fxwx0K1uvIBgU+nGw5vS16ttbKclMgN6x2nqVJ+uqbwAKaN8bh+lqdsug8OxfKM+QOHXPFeCDi5ZvPqimjDYcyIV+J1EsomZNz74ALT+ff0EOibDEaFK7HZ5NWRxhiQDzqwbbIGOVxPzeAsV/70CF/q4fT6TS1ap7lWo2zCVW2tZef22swsomhEUjixh1Eqp1aqvGO2pPLdEZ0ZFvOjn50eH6yndpzbP0qfZx+dZwO8lm53YFbVFuwsuMYYA2Li0w3woDWi9t6xdab20OCVUNyO3Njg== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GXUEK29Ag1K2VSEDf5t1XDYKLbgsGTzzQ5ZSkdfnVOE=; b=gyze7GAS5KQ0FDhrFd2PECcEkwIsSjWBZqS/JHrxJuBo782DZSyrT2DoG3nIj3f4LHZ0zhHHBLNtQr9SQMrYmCuXXDTcyHLnn4BSnNHN3qLzx5t7WVUXlQoax0yu2Tugvae2RZSgN5Apyy3pNw4Wsm+WtwxcTnIPHIEi6hTohVJQc6PNVu2Js161mrksXlqQu/XVCyWtp/F3+7ie+inQgUj82vlDzaspqFp2+OU0MolhamifMIu8Ypav1PMjnm6Ck1WIksP3X5joDW42OB5DT6aDhB8HjyliBv4FdI7+wj4FLUPPWMLBwrFExTrwLKZxYj3LN/S4WFE66+IehsC1Ow== 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 VI1PR04MB7088.eurprd04.prod.outlook.com (2603:10a6:800:11d::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6521.24; Mon, 26 Jun 2023 02:24:20 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35%6]) with mapi id 15.20.6521.026; Mon, 26 Jun 2023 02:24:20 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v10 10/13] Squash to "selftests/bpf: Add bpf_first scheduler" Date: Mon, 26 Jun 2023 10:23:11 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR02CA0020.apcprd02.prod.outlook.com (2603:1096:4:195::7) 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-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|VI1PR04MB7088:EE_ X-MS-Office365-Filtering-Correlation-Id: ff07040d-f755-4c36-e0e6-08db75ec7299 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: YvraCbwvqiiiETobfpJY04pdgcSP5kHtrQBfXZ5HA7E10zoF2+JhE7iZSnebkJzZBXdSZbUSDTRzcJIBJE9FhGG2FcGQ5LZjopDl6Yncz5tP2E6xl6IE2edKUIziT/YXyTNOXYCRhqjKOfBn6P5R3x/8lK+GApMktgdADh4fYNOoTXHq4JUjlOdMs2hNdfSEG4+3S2oUrWQ9/FQr2HW2G3r2Iae/XWEzXI7XmSg1RspXv/yPpOlDKXVnQYpkaU8Dcbo/FkEcRLhhEBZ5LzP6tnA4lvMp5728mYUgKgNDPmwqrM7uctoRSTBk+KePFWu0vCX1xguenX+BZQvAwpQuZgSwRcDZEiyHGFtT1JZzzhG9oyqAv6daSjZixcnZRQCzFbk8uDIFuxNZWcnTHjYnBoOmy7PevvzCS/b+uDR8kMrfnxYptofevGmNsOhriTgGQPcWBP9JfZ8dQLhkAN8txki7tOdZtS7vBJKG8rcPE8BRvpwYvZYJWh6PU0NVXwiT7XykDBzBgBUbslhbXcM35+mNBhI/NBs1SQaKCshawet88h3LBTT7VjxIrMtJkpLZ 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:(13230028)(346002)(396003)(39860400002)(136003)(376002)(366004)(451199021)(6666004)(6486002)(478600001)(83380400001)(2616005)(86362001)(66476007)(107886003)(186003)(26005)(6506007)(2906002)(6512007)(6916009)(36756003)(4326008)(316002)(66556008)(66946007)(5660300002)(38100700002)(8936002)(44832011)(8676002)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?WWVVOiTOqT3f8C++V2AVB9V1JORdFOsXkPKk/nZTDdGz9XzV4pnQCCdrp8Pc?= =?us-ascii?Q?otF03GQpT2fnDA9dYd+Nondyu1FzXGXwPFHFLnWkdeCU3HZSQggzC74jVLfV?= =?us-ascii?Q?O4Mo0FawK8R03t80qEXF9dunQeg5AqRx55UFate+vOk9U6GExt4DnZQ+dSDd?= =?us-ascii?Q?opDFeiKdUJoPE7AGhcxf10z/efTKzP26YvdbUYLenkK4ctVDk2fsV3XKtaB3?= =?us-ascii?Q?q9KhqayNNc5k+Oj0O3/Rg9NJGUM03LqH3Voh5JNYnUMzk8KiDL8EPkTQFILY?= =?us-ascii?Q?SiPWCQnAr0Rm3Trxh2xDjn/69PguthE0MMgqX9jMwffNuCsdMQHWl9ABJvCG?= =?us-ascii?Q?tZsdDUW44N+siUr1kR2pnA8cfrFOO5oZWZsDjrHo7MeiH9en+sTwBaTPD1wo?= =?us-ascii?Q?toEkAsGiO6Ws1E42pRpQ4u5icxUDP+xPRjy6LeB142BaLXJ2bq+dhA/UHWGd?= =?us-ascii?Q?pbI5lTFwJSCbiHjeQa5Gok8NYOCjg0CyR64v5qKYYRY9hC7YVqzYsSn8waRA?= =?us-ascii?Q?KMpH86cbb57LHhbU+EGy+mQGuh+e5TjHE0pqvxS1fcsHPGkAs3Y/vNORdJwD?= =?us-ascii?Q?8EFPKXlx5G0k2Fb5ZR83v6PAcnQ3Hq4JlDZoZE3Lw9gPWHORf3o4w4gbEi5G?= =?us-ascii?Q?6UJNvCIUpk6XZ9NTGVgxiuzy7FMJ6jdHKFJohZzz3Lm3jfhT20gkfZSzKyFl?= =?us-ascii?Q?+aqxCdoEklUXCl8GZiJ5bXx08/ayGObdrawGAbNXJDQYJZhDFCzQKYyyev26?= =?us-ascii?Q?pDKo1ilFyKCYJpc5bODENhD85LO1Huj4coDDkbxOk+AY314iflMWaEPSuqdZ?= =?us-ascii?Q?3lwsYTvYCpjvGMh3C5tBvKfr94fXuL7U66+2HOByJiNJyH8XWelXuizhvnlT?= =?us-ascii?Q?ABmDyoBNzPmaXtudrwr+TUhdqDNUYam9flqQbQdhj+6Bb1Ojk3NU+/u+u1CZ?= =?us-ascii?Q?LX/blCbNeYTXHvFFi2uOEaFoYSxSI439ZA2GtkC0sNs3eG220iVIuG1OStRx?= =?us-ascii?Q?MJCZPMfT5ErrCzy+ikkGP/S6ixMy7bmlhwkWQHLjkhn9BkqYJPJC56B0KELD?= =?us-ascii?Q?8J2JTVT2khRK7htNqi90KdXjhxUn8X3TXnqmrOL5S+JijQpGOtbJ02DLDVyc?= =?us-ascii?Q?Vy9urq/ammj6hO5QT3wtyQjaeYEnIf5AZvgUHiHReoHn3DOo08xF4nA7Sroz?= =?us-ascii?Q?Rxq8ikUIElArfBxTt5r2AtZ8TzW8vyF/MEypXaEurRFyY/cjCMxTHOFRF86A?= =?us-ascii?Q?T12Arr7uRCaV46wUZudeIbxuYAR4fVeSC9ph7cwxiS0ljg1lT6DsGb9zyQGC?= =?us-ascii?Q?HagndknWSETYhYHJRGll1s1OSST+km3Cn4BoFOUfRBuEZf74yFwjYS4ovzln?= =?us-ascii?Q?qc9JowzkOWtjuj8u/mImpe2VpIqBNlWxCVwPSSUzwohBWj397Om4Urs81y9b?= =?us-ascii?Q?PLms8E8Dcb7r+iiLbEtIuUkeSpyn28TMdGzgrbcFqy+st7yGLumLLNb4xnX5?= =?us-ascii?Q?3QHSmrzamHI4FD6lCx+mVjS/1OsKj2DoUmACpt6Yqgs0sHyMEBEDVb6Dww4e?= =?us-ascii?Q?exWl0CpwW+L4Je81g/w36hB6JyJM+JltC3jlwkhl?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: ff07040d-f755-4c36-e0e6-08db75ec7299 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jun 2023 02:24:19.9550 (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: aJZ3tF384KFrYDCvKS/tQ/v8lUBNrGBd/w9mUMIznkSH7A6bmIhMHLxtKfiLJc1EFBIYXHUkdeNJB10F0YlwCw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7088 Content-Type: text/plain; charset="utf-8" Update API. Signed-off-by: Geliang Tang --- tools/testing/selftests/bpf/progs/mptcp_bpf_first.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 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 e4caa2dd8c6f..75591256067a 100644 --- a/tools/testing/selftests/bpf/progs/mptcp_bpf_first.c +++ b/tools/testing/selftests/bpf/progs/mptcp_bpf_first.c @@ -16,16 +16,16 @@ void BPF_PROG(mptcp_sched_first_release, const struct m= ptcp_sock *msk) { } =20 -void BPF_STRUCT_OPS(bpf_first_data_init, const struct mptcp_sock *msk, +void BPF_STRUCT_OPS(bpf_first_data_init, struct mptcp_sock *msk, struct mptcp_sched_data *data) { mptcp_sched_data_set_contexts(msk, data); } =20 -int BPF_STRUCT_OPS(bpf_first_get_subflow, const struct mptcp_sock *msk, - struct mptcp_sched_data *data) +int BPF_STRUCT_OPS(bpf_first_get_subflow, struct mptcp_sock *msk, + const struct mptcp_sched_data *data) { - mptcp_subflow_set_scheduled(data->contexts[0], true); + mptcp_subflow_set_scheduled(mptcp_subflow_ctx_by_pos(data, 0), true); return 0; } =20 --=20 2.35.3 From nobody Tue May 21 23:36:38 2024 Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02on2085.outbound.protection.outlook.com [40.107.241.85]) (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 A3A887FA for ; Mon, 26 Jun 2023 02:24:28 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Oev6/W6c9hySFA5vrdeQa/1a75YOVzcUJeyH1Synjz8fAx7ivXaoz53/yGz/gFKtGUEuAgjmr76jpNMkmwOYH7re1vLcjKZ0s570h0UxvLoq0xGlhit6szDSz7Gj6bmm0o/tHTvkX69x1Qy9bwLfiLwB80RuCJF9dFaJewDvZARmrV+vtto23IEcazdoUDw6HXRT1VvJrPyeaIm23h96hLOHS2BoQZpU9iWTixBzurCw3UydVVll2JMvi9pOVJW5Xl8GyUsnyTHFE7+JtrV/A9dthUUQt/RJmAmlqWOe/jd2A6EQWq0aWYI6/CgY1AC3vEZCEX5xNvsOBPABlVxNVw== 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=zr9z59N+KLMla6215PGcW4rZQWmSpBgyJjNgqVIEnEQ=; b=PiRgtiTp/y6yDctotGGUwaUYgwfU2PYJbjaZRIaK+bLWu5p0dKSjQIncgIo2nKg+pA0Dll9lYCOKUp9Zkc3CJCprWQjGBJmY55hGcHoXqel3WWyqTITGxg+tb9Dpd0LvMB7MTK3adLTSUjkYSxkd3gXUhTW/ddgWlQTUtC+Djn8nlBwKdvXnTx9olI2ARuiolLVfDiEYjB5cON+a8MWoEurRTTas53/0QQ+Ez0JX+EFRGY+uEyZraXAREkrDwCKp2c70kTIvijlwXqQvYngwdqEcqRVfEAIFLyhL7WmMf+A50T/OxWW75XhBYkh+iuYAPO75iLWoYSdGvBKO+S6xnw== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zr9z59N+KLMla6215PGcW4rZQWmSpBgyJjNgqVIEnEQ=; b=nG8V38JLiUCBMDvp+X12GYOcAZvsukKtW/AaBymX3OShsz/odNqSt1jomy7zdP4Yfjoy6hUeUyYO4HREZIEZJsIueGeRHzxlOSbZovS5Lz5BgS2pP0XrfX1LWCRhLAK0OPiNROQjmbu9tPokTzEyHpf/FqQBEX9DW95dquB9dRzDjKiO9ib0NEVUrGRbN6PFWPFxEqUyr7OGQQXnj/0eJVzsoWi2bUqmkcSuFM1zNCyMwxMEkeCR4H0SkHyTCBpZEf++Wp4o0W279Cz2bbZLssrP+b6Ib1OWa8PlLhMS5BDHEsYrBjOBDecDwBbAj+3HrlBCJGiQt+psTshdBC5aBA== 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 VI1PR04MB7088.eurprd04.prod.outlook.com (2603:10a6:800:11d::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6521.24; Mon, 26 Jun 2023 02:24:26 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35%6]) with mapi id 15.20.6521.026; Mon, 26 Jun 2023 02:24:26 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v10 11/13] Squash to "selftests/bpf: Add bpf_bkup scheduler" Date: Mon, 26 Jun 2023 10:23:12 +0800 Message-Id: <6fc63365893a9d9a06a35a28c0475a4438be6736.1687746021.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR02CA0027.apcprd02.prod.outlook.com (2603:1096:4:195::14) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|VI1PR04MB7088:EE_ X-MS-Office365-Filtering-Correlation-Id: ad28da01-bde2-42be-7a79-08db75ec7653 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: yMsIzl5YsVlxdIHVEGEH6PRCBzxV3ndbnPfhr/sPdAmBQLQJtAl2fYUiApLpDByxahJOR+UiyupdLMT25g1xyfoG20oxVq4y7nHMAmfqYooBUE1gtYl8ROgw0zSmt9YDgcIP7m8f4aaX2Ay958PiSMlWlFfU1cM+pO+c45q88b44ssUpLpsNB7ryVF6fVjE1RyCM2Cpu2vUGmsgIWy+CMAOg6NwgJb+py1IEdZcGNWBwJ2Z5samz08cGaMZEvymTBH756l48svs7c/LeDH/+Xbco/qiAH3zQNzZxJqXbDIQKNvAu3CfBh03whI9IK/M/YzF250CGCvFwDpnG1DMe/C6R1NsQCqXQrNMjn6ufEzKos5a++KckW0NcrjWsKG909mjBAVbCPKCZluWfYacAfC07/XAbThl1CeaiwTYAlHmbgQkk5i+ztOhs6nn6wfNDnFTHxccTyEfgdPma/j9GCg9PIPlCkH2hoO5gehq06EyThk3PoJMMtYqZ6voMmA7hv1X9/x/yCXHu08OO0FDzaBIY7zVMvcZ1FvV2IiEr2s6/otRk5cOZ5EhxOusJibbo 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:(13230028)(346002)(396003)(39860400002)(136003)(376002)(366004)(451199021)(6666004)(6486002)(478600001)(83380400001)(2616005)(86362001)(66476007)(107886003)(186003)(26005)(6506007)(2906002)(6512007)(6916009)(36756003)(4326008)(316002)(66556008)(66946007)(5660300002)(38100700002)(8936002)(44832011)(8676002)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?NF6a1MW9U55lkNSodbQWkgzorfUHM7xCV5uzlc0GgHZ5hJBXIkKlXK89zs9J?= =?us-ascii?Q?R7taSpa7UntFfuzDlwiR/6DAaaLZe8uBUB78hwwNw4cfQJkv1Y4yZ3DfvitK?= =?us-ascii?Q?aleoi6JePa7lTBXqaMtQtY1rsMg6UIXFwy80c0MdMOa4U0IST/BGS0Ny+vPS?= =?us-ascii?Q?h6MxkA3zaggFq6G1re7TGLyuTEXvMkzL5UsZxDWrgigB4kmsNVStMD4afrIc?= =?us-ascii?Q?V9LI3RFHbeSwbVPJ6+ONiKUPRw/QDmWxNpWnCnDlyBb1Js385fVpQPxhvLyZ?= =?us-ascii?Q?vu8mVX3S7//1r0VeHQXqg+Pqj+l0JSEXafUDD31XT7I+DxkpWd0yj3DE9Or+?= =?us-ascii?Q?VmQpupliYdpodGjfTrtw1b9oDRg5RrEvJDwTf9jb8s0fSKiseMxzPNdpIMr1?= =?us-ascii?Q?hBxl93pZ/JIdi7w+KLtp4z1VZgQgKNR+7va7lyC9AqqkUASsoo000f/qXh1C?= =?us-ascii?Q?1Xd9JDnnt1k0uuI34yAZ08FFKACfy0zSD0LC9AYS5BinSkksFEkC2NXjUaMA?= =?us-ascii?Q?/+a8c48GRXUIcRNOV5g7o/6CEpvNlSmO884NjZhAilF6m+3IwkhYdpvYiJT5?= =?us-ascii?Q?b9yf5l/udGB0FL8GFmFE3XLUsYCFCU9Z0SzceKAaWsT9w19V5qzCk0pcxIfy?= =?us-ascii?Q?ni7UeVfFqhmVFitIt/u7AfbWmiGUgSKEpS+3bT9pVOLz8gotfHjCI1dMBZcg?= =?us-ascii?Q?1vGko9THw8iE0zQSyi1nUoiEmG3MM4rMXJSsoaVzQd4SkKQ8tcJnQprwb443?= =?us-ascii?Q?e0sz90fyC9WrvbTTt2aV/36/Us0EO0T6+fczJa56HenPuVr4Gd++IM7BcWnF?= =?us-ascii?Q?plj7Jw/i2K72xz+X8Suqaiw65wDYDWQ9+SvGLHbeBJ/6zNKJnBRP5KEPWBe3?= =?us-ascii?Q?4ATTpG86Jnev+pBKL8EnEPxqr2WTi60HzvKS8s7B1b5ozuIkutyHg87GD4Ha?= =?us-ascii?Q?JwgIgxquKgvC0op4UWQsSD7Jz5mYPuuANOwAHZdAYq8X7wHmn1s+0UMAwsjV?= =?us-ascii?Q?Sg8HJI30gs4ge+7xGmGCm0tX5acjTMQdcEM3x4D+WIqorguvA3/nhY8NsXIP?= =?us-ascii?Q?7gfung503CWHw48hzDAKSeDTLkwW2YhOf8JTk36nrKnHT/cCZIYiDNLGXVUr?= =?us-ascii?Q?3gU/7W9+6jSR73Hz3G2yzARuD0nPqu2Dx3ObrP88suKJo6wY2h6b94OaUO0s?= =?us-ascii?Q?l8BI0qwDFlvC4834Q87iW5MS038SBk7S1F+BoYFAYb8yf5oGflV0dMViSkTd?= =?us-ascii?Q?XAJnuLvwClXqDnVbw0T6QAe/hRoxnd8H9+yI7bHLaSZDmk/hBVHO9nM3b9dP?= =?us-ascii?Q?ontGPDKtdzKAyX8EwsA4cUSHLZ32LjejV+ZMWNbyRS58PWR52aYSSrFBZm9u?= =?us-ascii?Q?HAd6SndGghjolyyObgggeL+bkq3YJcYKVB+Qi84aWqXPq9RVfzBusA6jbg7W?= =?us-ascii?Q?8pwio1qJJNsT4RVO2PIekxXJSnt+jXbzDKl9uOd34jsuakvtfNcQclylAxNL?= =?us-ascii?Q?gLuOMv6UldLQ3wCqpC2nfyu4UmCj+QeoVrI/4rjHS/mcgu33VhdJJvHClxYY?= =?us-ascii?Q?15mJVLQdsiDQkpw7ZV0kAvEWcBVktTNbwfky2kVX?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: ad28da01-bde2-42be-7a79-08db75ec7653 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jun 2023 02:24:26.2130 (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: 7LQxRK7DKo718jfckzAiH7z0SmmntWFqvOxCbQiYmKR6XYnnBb1Yc9l73nbji404QchBhVoe37z3WPkRjqkvLQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7088 Content-Type: text/plain; charset="utf-8" Update API. Signed-off-by: Geliang Tang --- .../selftests/bpf/progs/mptcp_bpf_bkup.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/tools/testing/selftests/bpf/progs/mptcp_bpf_bkup.c b/tools/tes= ting/selftests/bpf/progs/mptcp_bpf_bkup.c index b2724426676e..2ff69f8d66ed 100644 --- a/tools/testing/selftests/bpf/progs/mptcp_bpf_bkup.c +++ b/tools/testing/selftests/bpf/progs/mptcp_bpf_bkup.c @@ -16,28 +16,31 @@ void BPF_PROG(mptcp_sched_bkup_release, const struct mp= tcp_sock *msk) { } =20 -void BPF_STRUCT_OPS(bpf_bkup_data_init, const struct mptcp_sock *msk, +void BPF_STRUCT_OPS(bpf_bkup_data_init, struct mptcp_sock *msk, struct mptcp_sched_data *data) { mptcp_sched_data_set_contexts(msk, data); } =20 -int BPF_STRUCT_OPS(bpf_bkup_get_subflow, const struct mptcp_sock *msk, - struct mptcp_sched_data *data) +int BPF_STRUCT_OPS(bpf_bkup_get_subflow, struct mptcp_sock *msk, + const struct mptcp_sched_data *data) { int nr =3D 0; =20 - for (int i =3D 0; i < MPTCP_SUBFLOWS_MAX; i++) { - if (!data->contexts[i]) + for (int i =3D 0; i < data->subflows && i < MPTCP_SUBFLOWS_MAX; i++) { + struct mptcp_subflow_context *subflow; + + subflow =3D mptcp_subflow_ctx_by_pos(data, i); + if (!subflow) break; =20 - if (!BPF_CORE_READ_BITFIELD_PROBED(data->contexts[i], backup)) { + if (!BPF_CORE_READ_BITFIELD_PROBED(subflow, backup)) { nr =3D i; break; } } =20 - mptcp_subflow_set_scheduled(data->contexts[nr], true); + mptcp_subflow_set_scheduled(mptcp_subflow_ctx_by_pos(data, nr), true); return 0; } =20 --=20 2.35.3 From nobody Tue May 21 23:36:38 2024 Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02on2070.outbound.protection.outlook.com [40.107.241.70]) (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 D3F407FA for ; Mon, 26 Jun 2023 02:24:34 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kY8cPpDjeqQPUqEEsLE3/Y2lZxq2rCP96Wo9y2pUbyo3ATGNtoD6CvlA98fM97nw7hA502bNvy54zIYBgFYR/hTqHVk6bUPBkkfy/EPIpmXqGp1wgun34ZygVal+SbfIwp13UL5BVb37JeulYKyqM17yFYz5qXOcZfsiq2RimdxSZqgxQqNHrOLh4I9tbeGcSOvjYFp0ZnhO6SVHW+9VMaFUFDz40GhavsZPQ7A95942FUVmTCx4tF/0L4XvLRUWPDJ/wUuBvOUnjm6wIq3ayWoTcp0/SZfJzrK0Dncc1HgYUi7tH9P2JQyCC5QFVhG3boINtVP+/uHzKP7SfhjFMQ== 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=o8FnK1/Rzr4qBqJ3xVZkk758EzadRcoY4AIkfH7C2cc=; b=i7GO5B3PsoIhjNynr/I1I84tRomq0rZqOLTgGtE6i8L7voMCzEHIzib/XDfEryey94Qei1VTuB3uup+mK+mDi9KByGV72mzH9zh2Ufg9u1JP2IWFUAEX89bbwFWOZEpx0+p2Vwil+Zh5s1wTNj+2gBXsBujhJXPfY7rDl6QwdZFaArIFvmpnuGlteEW0FpJO5zdb9Oue43J7BNSd/ma4xKiBHdCHwjgbKtVwUdeABjsF0Mh3oY5ud6nbEPpR3EeSzNEhbBacVvDK7ejRiakglpzTOEwz+ISCA38UzodVbCr53GtTFUowPpVCuO3pESmpT2Wnngxsx/fU9+Zvg7tNdQ== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=o8FnK1/Rzr4qBqJ3xVZkk758EzadRcoY4AIkfH7C2cc=; b=EFXNJwi5sZCql+d9z4Z9X9rEe4Zc8mbzBwSZsTUOGiZmC+s/g7yqoNFXVOZZ56O8XzW5/FGi5cVuSbImFsNSb9LeRdj08rHijc2JHFs9aBBqEgLy4iE2y/xOf3hXUe/fm3ltNwttQeOoHmLHQXL3uPKX1ADfoQylIKqsF1XEsl6XAz9T0c3CUROZQNAml+9gyblx33ldz5ttgibINcCHHYrAvJyjlvb4YJzindf+GZQOq4+/qNQ1bFLSfwsnkqunqAfKp/JoDxwtJEMXK7FPb3d6Xr8sJY/micOWsFT0H9sl+g7THcnUz6eis59jklDGqo3mfSpFgBey+Rw1cUaCoA== 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 VI1PR04MB7088.eurprd04.prod.outlook.com (2603:10a6:800:11d::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6521.24; Mon, 26 Jun 2023 02:24:32 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35%6]) with mapi id 15.20.6521.026; Mon, 26 Jun 2023 02:24:32 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v10 12/13] Squash to "selftests/bpf: Add bpf_rr scheduler" Date: Mon, 26 Jun 2023 10:23:13 +0800 Message-Id: <984826f7c18f5dbe96ac89657b51a817d10a7dfe.1687746021.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0046.apcprd02.prod.outlook.com (2603:1096:4:1f5::14) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|VI1PR04MB7088:EE_ X-MS-Office365-Filtering-Correlation-Id: dc2eb07f-0a8a-4758-2a8e-08db75ec79e2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: MgsoNTw4NlJwbmIrTM/1DNmSn1kUnUFYRT5dtA5d4Q5QxgqPwzcQ2eiEsmoQ2DxR8/tMQOPrETKnNygzQ70u9knBj3YEn7fXi37Uked3V8sHs/DWvcfC4q5hTyDc1gystNM6GsUnRDX7HllH98EkHDcdlyHc1VYg3nLf1JjVavaHIn5WItApOUmV4e742BzJ3fC6K6qohahjXA+6bZqyGKNYDXech4SHlSGvFFfYJLRNdHXamvBgpuc4OWvaBVcAgU5MgfGGFaKXmWDKC9s2TsVaSDexbsyLbqMFJpDOHH4QQnVs1vOdoMPWxQNUSpOVUwomwa3Z4aoO2gmuRGdQstU17ohDOr9rR5rvTzr1Sp1Cgp/qqXA8Cg4yPFifdAi4A7GveXmr+CTtpXp09qf8h+aFD93PF2DAaGvTy+H9ymH5UqBL89GJJjnsr30PcfgK9EZpi8Nm5woKMRDzQKOUhVVUKGOC51LM0dJzT5gglkhNwVMCHELwLSkY9JSY28sjrygQqDBLYlCJ6CKmB1ZEyxhv8m82b6LuZzphSrGLZ4mKRfkgZ8CxGq8QC5tn92Nq 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:(13230028)(346002)(396003)(39860400002)(136003)(376002)(366004)(451199021)(6666004)(6486002)(478600001)(83380400001)(2616005)(86362001)(66476007)(107886003)(186003)(26005)(6506007)(2906002)(6512007)(6916009)(36756003)(4326008)(316002)(66556008)(66946007)(5660300002)(38100700002)(8936002)(44832011)(8676002)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?HLwR18k7Oj4HUCvf19sn2C0cH/GOSSlG/fhEjaQA+y9WJqJNT3rmwoeUZO5j?= =?us-ascii?Q?2JcUSnmqazV7Q03CGio7X95LS4HDeXez28M/b894FwlvilmYKKRAm3l19knd?= =?us-ascii?Q?CFFpc08hl6Z5J2ATgF4xrb4QEKgtCm+ChJpimgszqcOFBsRxPJjzchBW7gc6?= =?us-ascii?Q?kQyGjvYI3M91gNgXonCye/h28oGzTRlS2+LxStr8zHAVVWZz/moR0ftxMott?= =?us-ascii?Q?C9beQec/B5XMSjIYebw+eKdeCjnWwX/Sorphgum4LUS3DHyd7sGhPCeeIv2E?= =?us-ascii?Q?rrJjuDBCin5oapQqi6iBMZYBCeQ4L0EHR5fbzEpmGeP3ruVfr/CHV2oZaq9Q?= =?us-ascii?Q?v0fbhF+O/hm1kRlSItGqa6WoRJGh/PR7of5jeBDzOTH8G50B3eKM6ka7b/RN?= =?us-ascii?Q?UVGcBSrucus+8OQlEzIdy/vmHWOUFXfOOc/1PTcAIUGnj3eVGyvnIl4hFUnP?= =?us-ascii?Q?cug3pwNWrsgQ6tjoyJw+DGOXE2WqXfzpQr7ScmMoZIaRYTOk3sHWgeuE4T+N?= =?us-ascii?Q?CjHZIwYp2Yn7pMssc4wYl469xmR5Ht+DMUk6cTjlyAlBy1gK4ZZ8AexowU8S?= =?us-ascii?Q?X6Mr7rU/SUc9iEhyTHXqiDGxR1Rd9URWpwbxZbfARANV2atp0WObDKy26TGU?= =?us-ascii?Q?k0hs687hefdFQDdlk7TbCaFUciCGCW/+oEq+yGIA4dxvH7ReDn861nCQhZG4?= =?us-ascii?Q?kfCBI8mb8qoaLXIIA9ptCw4klxWSrsSVmoR8H5amLmVcubSbLU8i9mHa2XQz?= =?us-ascii?Q?j+8aPu2KcXP7coiWT5R/1zKJFuJCxUtTwNR9u/KMaozgNJXPSrUMLPN3JNr8?= =?us-ascii?Q?YSnF2NPCuexiigmMH5phUytmDDQB3iJ5x8yOnoP4eaJQTpLiUXAfPVgsU1Sy?= =?us-ascii?Q?UlIuUXdDlxXXiZ8lhFjI7P7FU58N7nYfycBsu68c++m3XHpZPX/d2Am5O15/?= =?us-ascii?Q?CDFs/vNLbszuUw2pHUVvgMlD8qm4yiO5h/L9lJlAu7qi/i4s82YgUwoNG4nm?= =?us-ascii?Q?2UGYpsFuYW81n7LPOXuSXIKDRn4bP9tfgh+8V89WwL7IFtAobkRxoF6nnCfQ?= =?us-ascii?Q?iheKK/HvHsi+8zXTvf2wpjWYuWZZQ1WSOgHovyRzUNX8rQTiUe82EbGebiTE?= =?us-ascii?Q?FJHfSkuS7i6HKQpCllsgtgcLf1eKPDFZzkfC+9KIttZGQzzR4HuauBdyi2jM?= =?us-ascii?Q?f4LWeUel6RGamUqeGTLBESZb2DT59q2xWeZyk1PLPB9NXmcBGR/80H65bDzJ?= =?us-ascii?Q?Gb5wMmw5DULImX6dGzqGqlcEuEQEQZki9qaI0J/6ICt+yC0T2ObO2VocCDpk?= =?us-ascii?Q?G+TZdqVFlRfjZi3eBW8BwLNRYe8jrzaHrqN4u8tcv960a5zJF4gybyzb+kIC?= =?us-ascii?Q?gmn7XkQyCGXiWQGhE+KIqHTy354VEh2p13cVXMt/JAYMDlucheCzP+r3Ph6m?= =?us-ascii?Q?QHGG07MZ9VfZ9KAKTMS58mrftHLRegxd0nq1lL/m4TnKeofdPJ47OkFxuMVt?= =?us-ascii?Q?yVJPcyZ7S/QXJOTceiih2qg01srG19oYlX+G2famkfc2did3dVmlk7AmyAtg?= =?us-ascii?Q?m/MdqDI9kXz1E7ZfSZRcGhace92VV97yoi5i6rka?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: dc2eb07f-0a8a-4758-2a8e-08db75ec79e2 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jun 2023 02:24:32.3873 (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: DbQBIV3sO2442fEM4tV+W5pzvBf3KTBMe5yc+1Ar2/cq959WgekFX0Keta7DjLJRhWNrm03DetWT3vQuOzA1bA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7088 Content-Type: text/plain; charset="utf-8" Use mptcp_storage instead of msk->last_snd. Signed-off-by: Geliang Tang --- tools/testing/selftests/bpf/bpf_tcp_helpers.h | 6 ++- .../selftests/bpf/progs/mptcp_bpf_rr.c | 43 ++++++++++++++----- 2 files changed, 38 insertions(+), 11 deletions(-) diff --git a/tools/testing/selftests/bpf/bpf_tcp_helpers.h b/tools/testing/= selftests/bpf/bpf_tcp_helpers.h index b4b766c7a68f..945dd46c98c0 100644 --- a/tools/testing/selftests/bpf/bpf_tcp_helpers.h +++ b/tools/testing/selftests/bpf/bpf_tcp_helpers.h @@ -259,7 +259,6 @@ 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]; @@ -271,5 +270,10 @@ extern void mptcp_sched_data_set_contexts(const struct= mptcp_sock *msk, struct mptcp_sched_data *data) __ksym; extern struct mptcp_subflow_context * mptcp_subflow_ctx_by_pos(const struct mptcp_sched_data *data, unsigned int= pos) __ksym; +static inline struct sock * +mptcp_subflow_tcp_sock(const struct mptcp_subflow_context *subflow) +{ + return subflow->tcp_sock; +} =20 #endif diff --git a/tools/testing/selftests/bpf/progs/mptcp_bpf_rr.c b/tools/testi= ng/selftests/bpf/progs/mptcp_bpf_rr.c index e101428e5906..a6f1aa55a16b 100644 --- a/tools/testing/selftests/bpf/progs/mptcp_bpf_rr.c +++ b/tools/testing/selftests/bpf/progs/mptcp_bpf_rr.c @@ -6,33 +6,49 @@ =20 char _license[] SEC("license") =3D "GPL"; =20 +struct mptcp_rr_storage { + struct sock *last_snd; +}; +struct sock *last_snd; + +struct { + __uint(type, BPF_MAP_TYPE_MPTCP_STORAGE); + __uint(map_flags, BPF_F_NO_PREALLOC); + __type(key, int); + __type(value, struct mptcp_rr_storage); +} mptcp_rr_map SEC(".maps"); + SEC("struct_ops/mptcp_sched_rr_init") -void BPF_PROG(mptcp_sched_rr_init, const struct mptcp_sock *msk) +void BPF_PROG(mptcp_sched_rr_init, struct mptcp_sock *msk) { } =20 SEC("struct_ops/mptcp_sched_rr_release") -void BPF_PROG(mptcp_sched_rr_release, const struct mptcp_sock *msk) +void BPF_PROG(mptcp_sched_rr_release, struct mptcp_sock *msk) { + bpf_mptcp_storage_delete(&mptcp_rr_map, msk); } =20 -void BPF_STRUCT_OPS(bpf_rr_data_init, const struct mptcp_sock *msk, +void BPF_STRUCT_OPS(bpf_rr_data_init, struct mptcp_sock *msk, struct mptcp_sched_data *data) { mptcp_sched_data_set_contexts(msk, data); } =20 -int BPF_STRUCT_OPS(bpf_rr_get_subflow, const struct mptcp_sock *msk, - struct mptcp_sched_data *data) +int BPF_STRUCT_OPS(bpf_rr_get_subflow, struct mptcp_sock *msk, + const struct mptcp_sched_data *data) { + struct mptcp_subflow_context *subflow; + struct mptcp_rr_storage *ptr; int nr =3D 0; =20 - for (int i =3D 0; i < MPTCP_SUBFLOWS_MAX; i++) { - if (!msk->last_snd || !data->contexts[i]) + for (int i =3D 0; i < data->subflows && i < MPTCP_SUBFLOWS_MAX; i++) { + subflow =3D mptcp_subflow_ctx_by_pos(data, i); + if (!last_snd || !subflow) break; =20 - if (data->contexts[i]->tcp_sock =3D=3D msk->last_snd) { - if (i + 1 =3D=3D MPTCP_SUBFLOWS_MAX || !data->contexts[i + 1]) + if (mptcp_subflow_tcp_sock(subflow) =3D=3D last_snd) { + if (i + 1 =3D=3D MPTCP_SUBFLOWS_MAX || !mptcp_subflow_ctx_by_pos(data, = i + 1)) break; =20 nr =3D i + 1; @@ -40,7 +56,14 @@ int BPF_STRUCT_OPS(bpf_rr_get_subflow, const struct mptc= p_sock *msk, } } =20 - mptcp_subflow_set_scheduled(data->contexts[nr], true); + subflow =3D mptcp_subflow_ctx_by_pos(data, nr); + if (!subflow) + return -1; + mptcp_subflow_set_scheduled(subflow, true); + last_snd =3D mptcp_subflow_tcp_sock(subflow); + ptr =3D bpf_mptcp_storage_get(&mptcp_rr_map, msk, 0, BPF_LOCAL_STORAGE_GE= T_F_CREATE); + if (ptr) + ptr->last_snd =3D last_snd; return 0; } =20 --=20 2.35.3 From nobody Tue May 21 23:36:38 2024 Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02on2065.outbound.protection.outlook.com [40.107.241.65]) (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 CBCE47FA for ; Mon, 26 Jun 2023 02:24:40 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=P5BKpegKSz7Qz7iQQ7+xg/Baghs0+zdYWdvQh2R3tXlDyfX0BDaRZADpkLwrrCWML6bvgx28BsyTS/paWtmq83aEgaU3P5eTpCKqBbftK9aS9MRB8xudcg7CRFe0DMO04Kkh/B703LoWkIW9Qk2u+fy4xxQLKjfUeIDR6RUalcd3rryLQUnu55AmM6GGaog8g/RhSV3b+jAUN5xbnCl9/mlrNazcwamVvhKMuYwaHQOjm0zMg/E+8b/X2labgxR46ltQ/sey18nFi91EGEGwFyXVMVd1tuK5fLJAvRT7Q2syCaiQFAXIGyfET1L1kf38CF37q80oTOHM/j3ExXNjOA== 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=Qsk0Ue9+/pXinT0HWfS5nVF9Ns3y7k3CQrOBZfNu2Zg=; b=H3HCMFWWPLIkUmRR42lZPr2vUC2+MW7saCjlMMUljofpXEukdVut06N/c+5QWCS/0Z/a2j2GO88MRLRVRYwMoUEQLe23k2Ruop9i9Pmma8sktGa9syO54ueko6dkzdszWvuiwdqKOu4OJmIQegMNI9Sj6FVdWhtB8cyvqn8Ud6bpgMj6mODLPo8IqCDlzUQB/YjK3IgnjedE9LT4ubZc8SekNnxFJ7O/OiCgylZ/V8ajkal618ngK08mxWR43pbjopxaXE8CTJdMbEAvHNbweGlmrH2FrRxu1sI1MPLN8uPipeUiC3WoWZGgPIHE0dKL9jmOda+XneSQ33pbMVtOMw== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Qsk0Ue9+/pXinT0HWfS5nVF9Ns3y7k3CQrOBZfNu2Zg=; b=Up0lMNuWU28ocueSZsye7City48XRdkJWG9wRmebB9fw0byp0KJV22lTHvq0azdovKCDHqTbtzM5xJr15Wwl+Eke8VGKD+pGwLpviADztjZpOBLPQNFWYl3QI6WAGrTAZBGxHFThqP1SXtEFxIkAu11cASUyumJNUvDpQjMHU9csEWhE977FJhvcWf3cpwDgLHNSiyjOP0NIDQYK922JofyfuGMKdgREVlgoTv+Ik7vlmnI0CQ1SPukDHx/a+NwuDnZShIiM5i3XOK78k9/4qYnkdeTj/GNZuCVIjWMxOeh6ezMJKEC733Bd9xc7/Vws+LqdbEu5X9HkM0ZwfQCJ6w== 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 VI1PR04MB7088.eurprd04.prod.outlook.com (2603:10a6:800:11d::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6521.24; Mon, 26 Jun 2023 02:24:38 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35%6]) with mapi id 15.20.6521.026; Mon, 26 Jun 2023 02:24:38 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v10 13/13] Squash to "selftests/bpf: Add bpf_red scheduler" Date: Mon, 26 Jun 2023 10:23:14 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0057.apcprd02.prod.outlook.com (2603:1096:4:1f5::10) 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-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|VI1PR04MB7088:EE_ X-MS-Office365-Filtering-Correlation-Id: 274528b1-fdd7-4efc-4f53-08db75ec7d86 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: bN6nWvg/iAf+T4Z1UIOxhiO0WSJKwxovZE7M85P6zB3OkKfYJZjcRgENDmc2CSOVrNIpUQAosOd8PKbyTfTefK02veAg64D2Nk5vzCDESXJwBQH1kpPkzR6DFumuKC5Cn8zoteXnupaQeWs/d52PSF9uomnbdvxu24Qa6mBGauTVTr9lPuJ6T4A+/Mt1399mtt1f2wHD2VoyT5zQdAZ7a8VGfStmc+iLSQ1AF4mIdlnOYUOjTzCFHutaj/FbswU9cB1+s6UfOqgItAGkMcR/i8Iy6peycxTMX2Wct/uoS3cPkyfP66ljWEnWdHfUR9X165jte9WhqQo4etFDUE/38GeVJiGmp0pZ5hx0AlQ+NcvPE8lV04U9PbOZR8UdR7Io8pdhILjpMxC6dpPbbHUMS7l0IrWhkKCgIf/rsMrQbAh7HzQ7tSqFO2rTgZMD1gLfvN4gYuSbkd0KHaKCxKQhQepeDLHQE8p9SbB5rnIbuhCWs/QfZxktb9NpZdj1ggOxuzTGX6vKTyXwJKu03+bZrXf6vf0gfhnm9Eep5NWkpMe+I8dJK/W8wzJVPYUg4zRe 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:(13230028)(346002)(396003)(39860400002)(136003)(376002)(366004)(451199021)(6666004)(6486002)(478600001)(83380400001)(2616005)(86362001)(66476007)(107886003)(186003)(26005)(6506007)(2906002)(6512007)(6916009)(36756003)(4326008)(316002)(66556008)(66946007)(5660300002)(38100700002)(8936002)(44832011)(8676002)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?FgaDhE5fv3pmPpj1prWByWFAk9TA+UHL40KKjjjtn17cFb5iyl0zjbCvmv0s?= =?us-ascii?Q?s2fEZWXwkBupFHW3QekATLbyXQEbKOxOdLBocMZ6TAsiehK1Iighenq6babU?= =?us-ascii?Q?KZNCCWDUzn2dhQCiGgk5mvdKi2q7hTE30TdE/vBdahJzdp8WnB2HJ7brtQaq?= =?us-ascii?Q?d/RCRDa4QOYUcSe9Hep7fXNam3jk1UWlD0GINTRFAwrunKi+ri1H/FZjixhu?= =?us-ascii?Q?J/qItWH3O8XLOjStO7qSkKnIA1VVmjHp1Tt0gexRy34Es3p63QGNl3VOQxQR?= =?us-ascii?Q?4fkG5DSByuyQFU+XS8tJ1Zg0MSVMvNCrW6XiqFCCDkG3J27WRm+1mo+SQws/?= =?us-ascii?Q?Pl2vjij6gyB5YAaCRSZmYCjKgLaJAWWV5koNop2euTH7HnHgtRU1Pt0clAM6?= =?us-ascii?Q?dMS8Dh+ZB0ldXLAqFPzKmgL4VemNoltI60OTAFePL1Nu7b2o4/Xz6vMOwqr9?= =?us-ascii?Q?auRhqBX5YyX/M/OnC6WQS7x0WOjQMvEQ95WqOz3Ts0Z8BNdwcVVpGVwy/96N?= =?us-ascii?Q?0w/cNXz0gcCbRns5Z73URZegInVnTQIAZEMtlwmBYs5aHQqQ9ReGUU9hKfbd?= =?us-ascii?Q?WlvRgpWaelCSv4/ZVoDnA93A4zo0Mlts31yK2MMIZDQgsxIinwHsbvjUs54I?= =?us-ascii?Q?bNAKA1Lj8ukLH2AEspA9alQNIjunxzl7iwjMZ59pAvgdE8wzdnw2z98DS9kS?= =?us-ascii?Q?63YNplYRKQHe1V8ZzU/n/eMvUDWNMX7kozkYWO7NRZBgPi0U5bmRg2ByGSJa?= =?us-ascii?Q?dmD7p53azB5UOt6Zhm+x+mtxY0D/xT3WYRGCwE9oj5K/+/pkc9XhF/ASiwAq?= =?us-ascii?Q?wxsrXjdE/6TDZlAFBjgjUrK7lpx+k2zry0HNnLRxAXEvjx3qFEo87gOHtzVt?= =?us-ascii?Q?vngsRqTPBfuf1SrPUyd+nmxGEb39XdxXbMJMT/lB00NNMtN3tNyftj+ovd4I?= =?us-ascii?Q?0pznHCnqJDaXCkJbUsW1FfeJ99NovoKCfGcBVWE+YVK1GMtSriqDS+vV/CgP?= =?us-ascii?Q?vRx+btF2zRSLFdag32PKF6Zm3pmNxLVJjZ0acGDVmKFKwttDBXN/OB2F8ggD?= =?us-ascii?Q?H3c9s2gAIklzUY8LUMpqewxB33H6aM5Mwh0MsQv1NNQba0pzO8RTMOUC8Cof?= =?us-ascii?Q?jnxiJwjTn/1R5nOY7LH6FsSOEnJXkwcVTP0hkR1NhCHpIkCgzwxdWGctagwI?= =?us-ascii?Q?uiJzLB6b9528eyoaebnTG860g9Agj7Nvn5ujb4s0kV913OnHH4TIO0cUqpSD?= =?us-ascii?Q?m8HOwGpoMbnyaItNcxO1odbUZqFfy7sl3WXbFgyThKuBMOxtpi14l6R71Cmd?= =?us-ascii?Q?4sxiBIOxGARlMPTWT116ApIRIf6L6HeMPAY0PN2GADhEPSqFI+ME1fZNIcZx?= =?us-ascii?Q?LshTCjI2neyIvFlrV6C0uQCRYuQHRxN82MroutQXoap+Z75bC85NjWSuGvnj?= =?us-ascii?Q?v/P0HMYYrMpdo0aE+0Zw7BpFO5R743rUfe98KEkuM10jBtooWW8902g8VLlH?= =?us-ascii?Q?+fThGt5xHrumEYI2y/dkExyE0nMnzVQANy7rEaW5DoIz33CrkG91xrDJL/Wt?= =?us-ascii?Q?MWIvzPYnpOteoDzM6EUof9aeuK6gDU1sa/zdyysc?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 274528b1-fdd7-4efc-4f53-08db75ec7d86 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jun 2023 02:24:38.4578 (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: lR7y6iTVlGzWQMYuQLoeONqpKvHwMYl3sbM+h/Ir0Hpj/mVlR5BCXSjfmWX1y9C30KBmDlDbDvchmCEvCljWLg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7088 Content-Type: text/plain; charset="utf-8" Update API. Signed-off-by: Geliang Tang --- tools/testing/selftests/bpf/progs/mptcp_bpf_red.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tools/testing/selftests/bpf/progs/mptcp_bpf_red.c b/tools/test= ing/selftests/bpf/progs/mptcp_bpf_red.c index 30dd6f521b7f..52f40e39fb07 100644 --- a/tools/testing/selftests/bpf/progs/mptcp_bpf_red.c +++ b/tools/testing/selftests/bpf/progs/mptcp_bpf_red.c @@ -16,20 +16,20 @@ void BPF_PROG(mptcp_sched_red_release, const struct mpt= cp_sock *msk) { } =20 -void BPF_STRUCT_OPS(bpf_red_data_init, const struct mptcp_sock *msk, +void BPF_STRUCT_OPS(bpf_red_data_init, struct mptcp_sock *msk, struct mptcp_sched_data *data) { mptcp_sched_data_set_contexts(msk, data); } =20 -int BPF_STRUCT_OPS(bpf_red_get_subflow, const struct mptcp_sock *msk, - struct mptcp_sched_data *data) +int BPF_STRUCT_OPS(bpf_red_get_subflow, struct mptcp_sock *msk, + const struct mptcp_sched_data *data) { - for (int i =3D 0; i < MPTCP_SUBFLOWS_MAX; i++) { - if (!data->contexts[i]) + for (int i =3D 0; i < data->subflows && i < MPTCP_SUBFLOWS_MAX; i++) { + if (!mptcp_subflow_ctx_by_pos(data, i)) break; =20 - mptcp_subflow_set_scheduled(data->contexts[i], true); + mptcp_subflow_set_scheduled(mptcp_subflow_ctx_by_pos(data, i), true); } =20 return 0; --=20 2.35.3