From nobody Thu Sep 18 06:42:59 2025 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a05:6a06:10a:b0:4d9:b80d:fb98 with SMTP id h10csp8516pio; Wed, 1 Jun 2022 07:09:12 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwE3OVoPUkR7ajYP9ajHZ/8b9m9uCOgful0t5GiYzsoLgZG7Ibz2Gr6P0cDU3EWs6NI1aZQ X-Received: by 2002:a05:6808:1381:b0:32b:2afb:bf93 with SMTP id c1-20020a056808138100b0032b2afbbf93mr1764oiw.192.1654092552134; Wed, 01 Jun 2022 07:09:12 -0700 (PDT) Return-Path: Received: from da.mirrors.kernel.org (da.mirrors.kernel.org. [139.178.84.19]) by mx.google.com with ESMTPS id y202-20020aca4bd3000000b0032b1175553fsi2069998oia.132.2022.06.01.07.09.12 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 01 Jun 2022 07:09:12 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-5516-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.84.19 as permitted sender) client-ip=139.178.84.19; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=mimecast20200619 header.b=fJA6no7X; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-5516-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.84.19 as permitted sender) smtp.mailfrom="mptcp+bounces-5516-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by da.mirrors.kernel.org (Postfix) with ESMTPS id D34BE2E09D9 for ; Wed, 1 Jun 2022 14:08:41 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id CCAD72573; Wed, 1 Jun 2022 14:08:40 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.111.102]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 02B5E256F for ; Wed, 1 Jun 2022 14:08:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1654092517; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Yb4iPGrUX9cts8HHtjVGVyh+GzCizSil68EXyz2+Sv8=; b=fJA6no7XoARauRiJ2n5TW+G8LOR5KcQFxTToxXLMmr3aFXp9imSGFr7WB3ZtxNpsc41G3W IjxqD8Ay4LgqGyA8V4aP3Ep5iH6P/fO+8UaCgXf10uvLWrOz+nwTHUSNP4nx/xvkvZFwIf QtCvIUM7S6B3qQLDvQsGkkcZeSaVbjA= Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04lp2052.outbound.protection.outlook.com [104.47.13.52]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-46-FXWcdpg-MeisX9cXL_NSpA-1; Wed, 01 Jun 2022 16:08:36 +0200 X-MC-Unique: FXWcdpg-MeisX9cXL_NSpA-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UhwveMcqySkQXnopzidjaC+rVO2FRbB/IYRFLdInr4m4a9nNtyXViYhlFVWuQAeyyo0R9t2gKXHlV2QZLsDXXeua1ZeMljYKnYamx9lddzChCq8KFYAZLQ49egxr5z60XIoPXCYnXHfsXMWvt1OR3J6jPGG+f4mPlwaZIx3Evtf4mejMIvTVB31oVecADOPLsC1BynQUXXHE7I4Cqa5OM35T1T/DEWBrK2306xvAxysT6Xj0EQ6U32km1/L0+nwCRotkhpLKK1DMyUC+izL9lEaRg9OF6wSzj9Zxk7+CoUNCE+nTa4SX+/UhhDh4qWH+s/S81HIGQ+kGV9eGzH1QQA== 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=E1kX8/zRtbMNU6ObA5bAo4EHAJ9E2/txENrsCWcWHVI=; b=Bfh9vsjLvaV3HZl0+Xb/f0VsfDL/PPxQlCbDftvP0eJseG/Tbau35EQM2N9Qy6X3SbBYbKDi++WR+7pu+FMwRLgK5cwet12//BEcRo4PqBKdNsSjIcmdhXQtpLPupx18ZAQCvfAE0jBqmdAUtpWE+ionFxIRwg0cMzW9Pr7N/JPGJEypVRz+1dokWWWLr42dWa3p9mYJheDeodRkMbACAj22uuQPaYVCxh6JPQAjM+jxVoKi9K8IBo3Bq5r0bgimjjfuWZ2Bjn6wOtQruZbQxvTbAivPnJXtrXVD2Fi5gh1Ue10q4tVxwvcm/7XK/LIDBl9dJvXMjHc0F8vMrojkig== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by AM6PR04MB4805.eurprd04.prod.outlook.com (2603:10a6:20b:d::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5314.12; Wed, 1 Jun 2022 14:08:35 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe%5]) with mapi id 15.20.5314.013; Wed, 1 Jun 2022 14:08:35 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next v6 01/11] Squash to "mptcp: add struct mptcp_sched_ops" Date: Wed, 1 Jun 2022 22:08:14 +0800 Message-ID: <6a61daefe1888661fa63a50c108b043bd20775a1.1654092153.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2PR02CA0217.apcprd02.prod.outlook.com (2603:1096:201:20::29) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f6c7c0d1-1ca5-4244-9c48-08da43d83777 X-MS-TrafficTypeDiagnostic: AM6PR04MB4805:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: kyi2F4/CUtoeovBKbrYQDMsJwvBSyRObadNKAGbsYiFOSCJc/CPAcZC2YY1ldzziodJ+2UNEQb0wdYUxyA/lJZGPttcy/rfjFkyhKyonCkYM3NtMCC9xVncEBF70FNXSwldcYuVcRm4SVoNXVoYW2FV4h1XMpPxi3R7omXokoUakcbxu0NyhE9SlrvtFI5y3x+XK7GPpgdu3+XNtCSjEtccRndlniY7UuzeKtdgGSlaYCQyKkin8c7a+tKJhRVkJiDyBMjgyshSh08/iazUve5wa8E5unslN9dDERkdS9xnSEOOlHTl1l9vX0gVxyLskgnvW1pUXZDiFvOvW/Cj0ceUf4OHRiPCPPAMAFVzVk787s7xr0wCRyUKcVVCW2XhLlAubtt9HKHCSLSCU0WxvzXO7t42GLjPHtioek6vErhipTLQ6z83QzyEw6T4mW5gk+9W7bKjc1ZN+pxQPYfTZmvoc7Rh9Fg9FU3qbflt1ig/N8QqqbbmvDRNwsafoBbRsdWCtPIDUlMp144NvzwGW6neCAjZdtXQcpFoM5JMWsn+pDpGahQiymLEKbG5BKgH3CIwHUNtEMUTHBNwVCoDSDh70/lg0gs7UdxsKN3+ghye4A/vxKG4+hooHlrYailnR78gbYU/5Qq/ACOqj4gHE+Mkg5/+0cr9lmS9F6fipbbJqp1R9281wYEa/iVGtdmPI/kdx/1O9THc3x/Rpn7MBcw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(2616005)(26005)(6506007)(86362001)(2906002)(66556008)(36756003)(4326008)(38100700002)(8676002)(66946007)(66476007)(316002)(6916009)(6666004)(44832011)(83380400001)(6512007)(186003)(107886003)(5660300002)(8936002)(508600001)(6486002)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?e/EuysqC4VogjnmKgxCAvCtrPR6dfMBJtj4oY2+eK+RlA/HrJQxN4WEtczyB?= =?us-ascii?Q?ntGU1L7Oq0mIYEr6VaJQVhPbt+IyXVMo6MhUccfo5xiXzJeeMra3AcOVeRdR?= =?us-ascii?Q?7v73CHC3h1HNJhqB9RhjDFUkuivqp6z7kJ1/0zuzo69Tcrl3KX7qh1BgYDb7?= =?us-ascii?Q?COCLneDKglxNCy0IaQe9os8ujwlelxaBKuobXIpLXT3v7R2/gZh7XNUh8mEB?= =?us-ascii?Q?fO9XoLpKutqKXfLFsXzMGwUpubFd0y0/tg0gMeLDElBq3/wYSRtt9tERJGTm?= =?us-ascii?Q?J9CEpRePTMVf2oCcswCnwIRl385IDMW/HRkRCfWKoucYF23CPT2ezyNVAzUj?= =?us-ascii?Q?GZvDQblEedezSbk0W3H1TQWyGCrpyzAeUWLYkuRPk+MzS2fVv1TjSxjfzt//?= =?us-ascii?Q?+X2oN68X0NLXtvxt3bIafzPjb8ztku86qSVIPFpSYhWmXI61SWkvWizpkXOk?= =?us-ascii?Q?KdaHlbjivIMAmKUpFwedF1BncaJDF2eOd02BXrg2Ah8PzuAE22jf3QEqAkbR?= =?us-ascii?Q?6u4G0D8NSLHv3xPM7+wHHAbGNONtqYU6vuusrOs0KxvtZi4OQsOOmK7fkvqa?= =?us-ascii?Q?sGQAMgVE9VHHxx5xau8qpejStU9qWp5aDorAgp5AJBvpGMelwY8tHXjAJcxo?= =?us-ascii?Q?LDRotz4W+21e6utPLltQPkDOOo86bD42VRys3e8WAjXMcI/3pFdxyPds8bkg?= =?us-ascii?Q?lG46SHo+kIBB2ITgYcXuewoEiAO0o677n3+nMBRtVdQot7EglZD5++Lbt1EJ?= =?us-ascii?Q?+xwJ+/8rh8wEG4I2jQ8LF5li00z8pQ7RO+3i0MT80PAiqlYlVkR8KxwqZ23v?= =?us-ascii?Q?4Gd/3/MgU/VuK2VbpQU7t6hUmETORlLqZElBu5IdugTscF5aluOCN229IkXP?= =?us-ascii?Q?JhaO5KjiHbtmvRanaZYNiwZP8yNf/1/3xYIP1xD/K7q6Z2xD+inNyDTMDcsB?= =?us-ascii?Q?2ItQPxaYkjAui3rXcjQruxbads2VdmbyToUaXFI/2fdBSVanwoJaJ9nrzyL0?= =?us-ascii?Q?ux2yA0I7bxhRQhLRO8fZ7B7LRX7FQjV5cfEAD7iuJoj0RT2Qxr7rR+WAYUBy?= =?us-ascii?Q?sm05OL4/WapoR95s/nU0OoI/5dcGYPk9mKPUuokWI4xXQpOebLSXDLSzG89K?= =?us-ascii?Q?8/Sj4CXhq0fTu4kGgZ1U4peczmxiTrU7SaRbuitcUo2WP1TwMk3EfBujUCj5?= =?us-ascii?Q?CJnWLPDkgxErBC0GjxGi2qkMHjF/QgFgnqGVGAW3ZX5e+K6pOxyRSbQVs/TA?= =?us-ascii?Q?K2WSI2c5ttzxS74fWL8FOCYGhs16WHZrJs0b4XaGE6wO0qLeKVUpqeVSMCi5?= =?us-ascii?Q?8RhrBqOKkiavKpRt37JgxPcAVeuOqoFHhEwe3cpf5IogzIkb2P7Aghq/ozDm?= =?us-ascii?Q?j1A2ifKImEt+xmFZ/L3XJ7uvh1zRAqmeKaKS+AzR08QTvcgwygUxnpeJTRSP?= =?us-ascii?Q?9NWNYqjp3braUvUxxGFBQHVPKqUsl2oQt/UJ2Ku5W0ZvkVsJ1WSVjUNgpv2d?= =?us-ascii?Q?FU3T/J5PsnS3sJilzIYLHbUzZEvZhALwUrTbu7R6BC6kGSjur8mLd0xGoG5b?= =?us-ascii?Q?HLUscKXNS+QNzM3Ls8ycNNH0N61sHX9HLLC1jYvTBGWmP9nymgIt4BXu8/OY?= =?us-ascii?Q?DQIcujZq9FxQ5InWYXEIjuSpUMhqBEEgEVVz7GX5OVqBUeu5ntvqco1Mhl6H?= =?us-ascii?Q?KBFjy+YY/GriXynHrsZTXeq1wYr2+RG5iQNrDLw6PT4DicOFeWuvoeorqNom?= =?us-ascii?Q?UUuwUzsn+SIb6daS6iluaSs6TJRukLg=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: f6c7c0d1-1ca5-4244-9c48-08da43d83777 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jun 2022 14:08:35.1741 (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: nZyTaGITA63IbtmgQE+g3SS+BB9iI+zEvECtvBtLGqgQX4LZO1tmdTphnCE942f2cPSTbsigMzAWCriZkJzepQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB4805 Content-Type: text/plain; charset="utf-8" Use new BPF API. Please update the commit log: ''' This patch defines struct mptcp_sched_ops, which has three struct members, name, owner and list, and three function pointers, init(), release() and get_subflow(). The scheduler function get_subflow() has a struct mptcp_sched_data parameter, which contains a reinject flag and a mptcp_subflow_context array. Add the scheduler registering, unregistering and finding functions to add, delete and find a packet scheduler on the global list mptcp_sched_list. Add a new member scheduled in struct mptcp_subflow_context, which will be set in the MPTCP scheduler context when the scheduler picks this subflow to send data. ''' Signed-off-by: Geliang Tang --- include/net/mptcp.h | 7 ++++--- net/mptcp/protocol.h | 1 + tools/testing/selftests/bpf/bpf_tcp_helpers.h | 11 ++++++++--- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/include/net/mptcp.h b/include/net/mptcp.h index 6456ea26e4c7..7af7fd48acc7 100644 --- a/include/net/mptcp.h +++ b/include/net/mptcp.h @@ -97,14 +97,15 @@ struct mptcp_out_options { }; =20 #define MPTCP_SCHED_NAME_MAX 16 +#define MPTCP_SUBFLOWS_MAX 8 =20 struct mptcp_sched_data { - struct sock *sock; - bool call_again; + bool reinject; + struct mptcp_subflow_context *contexts[MPTCP_SUBFLOWS_MAX]; }; =20 struct mptcp_sched_ops { - void (*get_subflow)(const struct mptcp_sock *msk, bool reinject, + void (*get_subflow)(const struct mptcp_sock *msk, struct mptcp_sched_data *data); =20 char name[MPTCP_SCHED_NAME_MAX]; diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index 8739794166d8..48c5261b7b15 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -469,6 +469,7 @@ struct mptcp_subflow_context { valid_csum_seen : 1; /* at least one csum validated */ enum mptcp_data_avail data_avail; bool mp_fail_response_expect; + bool scheduled; u32 remote_nonce; u64 thmac; u32 local_nonce; diff --git a/tools/testing/selftests/bpf/bpf_tcp_helpers.h b/tools/testing/= selftests/bpf/bpf_tcp_helpers.h index aca4e3c6ac48..8338c7b31f87 100644 --- a/tools/testing/selftests/bpf/bpf_tcp_helpers.h +++ b/tools/testing/selftests/bpf/bpf_tcp_helpers.h @@ -231,10 +231,15 @@ extern __u32 tcp_slow_start(struct tcp_sock *tp, __u3= 2 acked) __ksym; extern void tcp_cong_avoid_ai(struct tcp_sock *tp, __u32 w, __u32 acked) _= _ksym; =20 #define MPTCP_SCHED_NAME_MAX 16 +#define MPTCP_SUBFLOWS_MAX 8 + +struct mptcp_subflow_context { + struct sock *tcp_sock; /* tcp sk backpointer */ +} __attribute__((preserve_access_index)); =20 struct mptcp_sched_data { - struct sock *sock; - bool call_again; + bool reinject; + struct mptcp_subflow_context *contexts[MPTCP_SUBFLOWS_MAX]; }; =20 struct mptcp_sched_ops { @@ -243,7 +248,7 @@ struct mptcp_sched_ops { void (*init)(const struct mptcp_sock *msk); void (*release)(const struct mptcp_sock *msk); =20 - void (*get_subflow)(const struct mptcp_sock *msk, bool reinject, + void (*get_subflow)(const struct mptcp_sock *msk, struct mptcp_sched_data *data); void *owner; }; --=20 2.34.1 From nobody Thu Sep 18 06:42:59 2025 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a05:6a06:10a:b0:4d9:b80d:fb98 with SMTP id h10csp8354pio; Wed, 1 Jun 2022 07:08:49 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyzdbMdAgVKtt5afVAP/96jrTkPgvefOUZRQDrI5ItLOzzpQqAvKYtQJLVCoIU9c9xDFqYL X-Received: by 2002:a17:90a:14a6:b0:1dc:f64f:ff2c with SMTP id k35-20020a17090a14a600b001dcf64fff2cmr34827256pja.161.1654092529460; Wed, 01 Jun 2022 07:08:49 -0700 (PDT) Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [139.178.88.99]) by mx.google.com with ESMTPS id s74-20020a63774d000000b003db27cae6b4si2628825pgc.430.2022.06.01.07.08.49 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 01 Jun 2022 07:08:49 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-5517-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.88.99 as permitted sender) client-ip=139.178.88.99; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=mimecast20200619 header.b=VDpcIpr1; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-5517-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.88.99 as permitted sender) smtp.mailfrom="mptcp+bounces-5517-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id F1EE32809AA for ; Wed, 1 Jun 2022 14:08:48 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 0E7792573; Wed, 1 Jun 2022 14:08:48 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.109.102]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6BEAB256F for ; Wed, 1 Jun 2022 14:08:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1654092524; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=8XVEh+4oohQt0XUMdIgg5ktNgzeix+uZ6ytucP5wyv4=; b=VDpcIpr1ASQ01nonuoJEsAlrWM4JhGroIMajrxJeDMxoXi7oZZeno+JE1JE3rebNuqo1e6 LHD8z8WMR0U8qQmOaeZS7BXm9tX0SEe5e676boR6lVSYnyWABq4elUTFNKmb3K8GB5jLvS xHNMgloRhy73E+AHd9NzXmrQjJDBmiA= Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04lp2053.outbound.protection.outlook.com [104.47.13.53]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-43-dnVu-1tgP5-Ht_ix-NZ2EQ-1; Wed, 01 Jun 2022 16:08:43 +0200 X-MC-Unique: dnVu-1tgP5-Ht_ix-NZ2EQ-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kUyhrqRL8ExWlO0LzAZKMrrc7sTiIBQ434mFfewGv8ervEudbG644PD0+ffumycvd49NulrCovt4cQw49Clkzxmif7Os67nI3G7y0H28LXHtDqCFFaPxHtKwoaqZ8pkgH650kUP2BN6FarZ7LRHNoafVJ3rrvGnFdHaaySlfT4/pseYSc8oE44YNUMyVTo3OaoE+FFlWce6w76in3aooXUE1H5jP14r4wsVPtEsF7NRla15yJvGwsNlkKNf1DD5p1px2II2HV/Yg06ONiE4LOgcmnIZF5nx5fx573wbQ74kDGzFouQApK9KvytL6Fchx8VgfxB9oyBvjnZhk32JYNA== 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=jTZx3ll2k3q1OqI0daXsEaVA8G+mDbxRVrj43jBmfsA=; b=N9OErM3L0J3koG3P8c3XjPqHOWqWTF2DXuY/Sp8z9sF5mwrDspkBs6qQ7A7AIrTMPmiJIzY1T+eTnKSJ6iIpuKNFQL5LTKCIdtSO/0IPfdz7mp5MSwpabmT39hlKKtNufAKcdHdRllwH5MSVYRktlyveuAhJBrcUVFPGzhfR3lfrcuPKngWmG7V5w5qsubFQ2E+vSw7h/5XPVbHMuTg6TbTNWC5h5mh1EYxClxB4Iv+37lc0xyN7XprJTCqF6ASRty9bBbQRyS8qY57ZH0jFpsjTtz07NtZ8OXTgLjasenp3Hz5pihIAQ559ZnTxaSk8lO9WAt6DN6g+WjWr3LIACA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by AM6PR04MB4805.eurprd04.prod.outlook.com (2603:10a6:20b:d::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5314.12; Wed, 1 Jun 2022 14:08:42 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe%5]) with mapi id 15.20.5314.013; Wed, 1 Jun 2022 14:08:42 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next v6 02/11] Squash to "mptcp: add sched in mptcp_sock" Date: Wed, 1 Jun 2022 22:08:15 +0800 Message-ID: <4032935cf852a5ba37ccdbe925f063967cb30402.1654092153.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2PR02CA0202.apcprd02.prod.outlook.com (2603:1096:201:20::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-Office365-Filtering-Correlation-Id: e55e26e2-937b-4935-15a2-08da43d83bf7 X-MS-TrafficTypeDiagnostic: AM6PR04MB4805:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Ees6akdejgwb6UCNKm7YX6Z4Ap97LymahBvr3RjMB3lGi0BYLyIx/uh9ABBWTZwf8WCVwkfuLBmEj2GctoXD6ItBzHxBLIZawmxvLyCwgtSyFf09fSDIHiNufMwOatAwGXqkGhHcp7UfBebOkSBlLIUZ1htR1h+d0mZxE/z/vEq5Qgj9eATZ4Z8FKELkzrENJdHgmXo0YpHWojIamcCE7qIiED4OP+HGF6qQNQzD/xz2Rh3ElMjj+kZNUqyJDf7+vmgm+e11lb0q7WQHmDZyy1XHLRs+6+eG00R0gOSyaGq50YRChlxJdSfPGJp/Pwccr8nhapdy0WnJuAQG1lpwle516ZXqroDxjKK1wb2b8Ne6Gsj7wLWqC/RkUUHpF7A0F8zwJzmvBMHZnHFyaP9V9v/LYk1xhL+uxRvIziuazlSq61o21oQ9ldmJ7omwmB7KVIKT/daeBpOgfRqQaGXOgXixf+7OwAy8A9MrSGq6E2Xg9nFcw/L+Iigr8b8e3YJ93s5XFWL36xjIq9o/X4/9Jqsb4bHExZVP6SSpyYzGf1cDgS/yrIw2y1qASlnxwiQs4W7bq5HZWvJomMwWXgsG1uZq+gvjQ57DmKFnrW868EMVqlbgNTULN7FCwu043SY2Iwa9DwdC3ss6+el8y+PeZnfnwMOt836JF6n9J6u6iB/uj6U/dithb7cUoNMQAzYu1X/P16rSt7AlCD48HDybYg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(2616005)(26005)(6506007)(86362001)(2906002)(66556008)(36756003)(4326008)(38100700002)(8676002)(66946007)(66476007)(316002)(6916009)(6666004)(44832011)(4744005)(83380400001)(6512007)(186003)(107886003)(5660300002)(8936002)(508600001)(6486002)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?HPa7yNJxteIjN0DVTR+MxhJoP5zqRqMMw3qLeGmSqdFqYsnmitcGBzowUzSe?= =?us-ascii?Q?VXiFORjnCpTUveh6q5JnVJeV9SHwb1wi8OcmpTHv5CaTM5i51ETIGwEm8gGf?= =?us-ascii?Q?G7HHhZfGzX+p2wZBY9vAZWlRhHljIZg5tM9Gi+Qa02T4YELjphS/fdpJQ2eI?= =?us-ascii?Q?z476WgQyuH05nYNm0kbtkJPWF7GcQgMyO2IobVCCA05jl3iLPEzbmGiOUM5B?= =?us-ascii?Q?+xmOAi4w39/V5tIDurq1WJQnVojYpiRB/XJC8nmKsIzYEYi+ncLyI09a+a1S?= =?us-ascii?Q?vD5JAZLsrzhjy129ITo+6XzATmL7twVgIXsi4MrgVNismbhd0EQu1Bp0REYB?= =?us-ascii?Q?vNTpHnKELEIGacuC7wInPr7VWYiN5bqvV5wURrLkCAY90pTjvOSnZ+9BBFCR?= =?us-ascii?Q?CFYi5URLXcxUp2OYteSLXSDAdMV8ZsabAoB2ebPRsF+GGM2UwWhD4oF5hKnJ?= =?us-ascii?Q?qgakMaMB1bLd2tJQiMtKY614AwAn0J1vNAYNppWhWdPhwKJKXTDapwmzJMjF?= =?us-ascii?Q?2h9NwvZeMjb7mjexy0uChde3LRIowCU9xDAm0+E/TcNN/eDtFKfXl84G03q8?= =?us-ascii?Q?MhBT4S5he+3zL7Mlp5pDW/Fxep3/xAImGObbKbfIk+tEvqILyxgVBjYU0B0q?= =?us-ascii?Q?0RmlmRejvO1ewKwQHKB1XGg73hYI7JUxwDfg94BnaaiTiRlBV5tnhGBlx9LC?= =?us-ascii?Q?qGLLWB7gLPiQWsai3Dq7522VCuXwHdfRnu5UCU6Kq7EQuUldzCNnJeGJdsDr?= =?us-ascii?Q?le4sAiq2Lnp0kuJMqCsIXE4ejOQfmkMhm3a1CRhUqUa/ccrH39fBwyglzFoV?= =?us-ascii?Q?/0Q6l/I5wdQyW4hrHIpK5pkFEtHMpse/qBTAX3TK15lcfHEffG3+tEV8NGe4?= =?us-ascii?Q?DRaGirsrv+aNrX1eJFduTUG6ZWpok7N3Z9vT0hrUAW/I1HLS16JPHxLBlhs2?= =?us-ascii?Q?+hVjbpxvZ9N4eYL7LNYZTwRJLIxdc6ISMYHAAvshRWKJkOasdVkCZkjcOzVT?= =?us-ascii?Q?hjSyttaSyl7UEUSj4BhRfFVS21UIAy9hxOz3Y+RLJ3DrJYH6eF0BANaflS9O?= =?us-ascii?Q?+ORKdSVhH0AjQnQMeN7QAnl7uMOT2dOKMxgQ9oIcJ6rriUMqNBxM5ryGVFFO?= =?us-ascii?Q?5Bee3koDl3EgLR+0Y3B2BFTRuMvMnD57kof8B81CQw/pDdVFeL+T9nRA/JU6?= =?us-ascii?Q?OLkwNpbThnnqAv4gleQqMAzKVh/I0G87JXxd83tI6FJhPSJg0lsrXqvrChKL?= =?us-ascii?Q?KD5TAhNUuxzIOVI2B0ZkOx5yJq48E7r2mvv1x1I+eP0UxDCjBq2fbHla8hh1?= =?us-ascii?Q?sfCveirqpaRvv7+u9mC4YUjJNz7HPSoGZIqjAtLM+MADxxIijjnPdVJjVNlu?= =?us-ascii?Q?FlSV6iDhwu46oowWtDYTjJYgNipmP/LJPVsMXeXuwJ/crKWFYibk3q2ReLtc?= =?us-ascii?Q?bAn1zuz9HRD02ZW56yoYim9Alg6dqIt4rPEbtJ/HNH5gggsju3oxCVQEOJTA?= =?us-ascii?Q?AB1XL2FXyzV8bXEmXS3hFrwP8ORd51uHu/rB+kZL7tlsK0p8gSxTw6aARw1b?= =?us-ascii?Q?EsWqCguseR5zskUCytEau9WC/6cmwqzVUQsrkxgMxyKIsoSqHOlB3KBt8S13?= =?us-ascii?Q?pvGdjZN5YIJKhNZQdcECYfSPGmmuD7hcG8QhoJ5PjEjb/oTlLZU+lhVN1B++?= =?us-ascii?Q?hCecBbXMmewullT88H1Pu3SUyHUuGWJP85P3bwES+RKhUTfzf/Kh464kzoFT?= =?us-ascii?Q?h7A6MNf4flTQrclIPyoHPUDcM2u05VQ=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: e55e26e2-937b-4935-15a2-08da43d83bf7 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jun 2022 14:08:42.5017 (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: DhGEReziL7sSnnqVhL1EahLkP2pkTqC6sJUs1cZvufx8im85Je+sE6nNo1py89ePAlG7XGL4IWoMWgHnBCp1IQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB4805 Content-Type: text/plain; charset="utf-8" No need to export sched in bpf_tcp_helpers.h, drop it. Signed-off-by: Geliang Tang --- tools/testing/selftests/bpf/bpf_tcp_helpers.h | 1 - 1 file changed, 1 deletion(-) diff --git a/tools/testing/selftests/bpf/bpf_tcp_helpers.h b/tools/testing/= selftests/bpf/bpf_tcp_helpers.h index 8338c7b31f87..5f6a7fa2269b 100644 --- a/tools/testing/selftests/bpf/bpf_tcp_helpers.h +++ b/tools/testing/selftests/bpf/bpf_tcp_helpers.h @@ -258,7 +258,6 @@ struct mptcp_sock { =20 __u32 token; struct sock *first; - struct mptcp_sched_ops *sched; char ca_name[TCP_CA_NAME_MAX]; } __attribute__((preserve_access_index)); =20 --=20 2.34.1 From nobody Thu Sep 18 06:42:59 2025 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a05:6a06:10a:b0:4d9:b80d:fb98 with SMTP id h10csp8419pio; Wed, 1 Jun 2022 07:08:57 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwhybBpOCgSYRAq8GyCg+GcrKFjC2R3x4bFwQMs4zUa0oDBiUymtsC5NYhhA+N75t1KkuZT X-Received: by 2002:a17:90a:5a48:b0:1e3:4180:a218 with SMTP id m8-20020a17090a5a4800b001e34180a218mr8374780pji.182.1654092537337; Wed, 01 Jun 2022 07:08:57 -0700 (PDT) Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [139.178.88.99]) by mx.google.com with ESMTPS id a23-20020a621a17000000b0050dcc1acf09si2187314pfa.111.2022.06.01.07.08.57 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 01 Jun 2022 07:08:57 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-5518-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.88.99 as permitted sender) client-ip=139.178.88.99; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=mimecast20200619 header.b=PGcMf9Gd; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-5518-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.88.99 as permitted sender) smtp.mailfrom="mptcp+bounces-5518-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id A9EE92809AA for ; Wed, 1 Jun 2022 14:08:56 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 93A122573; Wed, 1 Jun 2022 14:08:55 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.111.102]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C5AA5256F for ; Wed, 1 Jun 2022 14:08:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1654092532; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=n87uVikxLM9PVAOI6fbnJ4VkYhT7/s+g9vGn/W3uAHQ=; b=PGcMf9Gdo7aCzMm/CXVj8VZAiODVwt1o+Xxxi9er3LiEnWrcSIua4zZUr2W/ctO9RoXqIc /MorPG13yo67DAv60U6qiaNUtOkPTJ/OCY7zgyqRnwQ4bIYjtQ6WPA1EMvAxacr0Yjq1aM ukSHsGpTnzS8SjSYWT8FC/R+LereLuE= Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04lp2051.outbound.protection.outlook.com [104.47.13.51]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-8-JBHxG3SGNPCF4DHAF1ubhQ-1; Wed, 01 Jun 2022 16:08:51 +0200 X-MC-Unique: JBHxG3SGNPCF4DHAF1ubhQ-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZiJ6ygfEsOT6VPphvjabJvCEqRJhV262kIzyPg3prNigHhrbjOGUUg1N9hVFzXkMsLJmMkjEYPI85Wi9H9xJ0sXZJbyHLoRov/HoVaBVMLpMPGht9L4MBl1FA0wFzavQM1NxeCzTiGwVX4ZIOJetnaD8GKzSbotmYhz9KtCxad27etxnYjxFEfSYJcBIDuNBgozAa6O9D+d8HEXKmt7ebI6wI6WwNr2VHiWAZNrnmfOT2OtHWSDhxG//CQU4Qn3puTUnSed2otsH8EDSHiIJAa1hpkpNGFryhzItaKgA6jXIyvLwTcNffoYYuG/C4OezlEkUlqQcNmDQ4DAAPBpB7g== 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=2MwvdLP6jdtrIelNnF219KvplBm75aWyGRbrx/cmC/k=; b=lz7ahFakadGODI0Pr/2YFfLvGHFs/b5J+Pg17wqMu3VQGzMuPkjoikB/BnnVZnA1WjyWszWmCY034eOqZRLXklfPz/PVX7yaOBDPohRh8thDp8lEhueqUKm73l1jTV3XdkUL2vjeSW5fwoa6p6rVkU6OIYXgA0GYwPnVK6Jq6nd6kZ57hSUPX+XYTbOZnaZC192ROvu3HtSNRxAk0ahjyx+DIIu90P8i2zVyTBToCETjyhkPI9MkKpY2h6Q08abcbZkbSQUOUGYhaDPPvkDpsYG7vf1f1BXkpKLGdryCVEBIl4ogCyvpqYj5g/2KcNpl2CmYPBfnNt9bxVI4nyj55Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by AM6PR04MB4805.eurprd04.prod.outlook.com (2603:10a6:20b:d::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5314.12; Wed, 1 Jun 2022 14:08:49 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe%5]) with mapi id 15.20.5314.013; Wed, 1 Jun 2022 14:08:49 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next v6 03/11] Squash to "mptcp: add get_subflow wrappers" Date: Wed, 1 Jun 2022 22:08:16 +0800 Message-ID: <90326a439805a044a8e9d0e2903dc527935363db.1654092153.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2PR03CA0051.apcprd03.prod.outlook.com (2603:1096:202:17::21) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c0001ae4-a7ca-4269-f55e-08da43d8403a X-MS-TrafficTypeDiagnostic: AM6PR04MB4805:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: IUTUoBJN0pikwJ7OpYXG2wL5gUqgaNOUTcLg5uaO3a3qRA67R10Iwrpjqr9lyCy/y02tobQmy0i66MrHic8fqYvXI6ruLA+KPPLIT8JMdk/q/QbX4do0QeZr2YYTzYZCXVok+e3GupFHGhaGNQTeTt5//p3VNj7/AzNd/0x8cFd+j2yjTFHdaio4Z1RWzdh77Vd2rW/6Mw6oPaEIwf7Uc4kAeX5IZP4N6GN3IU8dY7QasbGGtmUDSJhpSqRFEio3Biq78BWxStczvrl1zwujUGlXww77PyUT7B6i+JGF2SkP8PP+yr36hh/zY02VX+wzv1EU4zQnakSMCe04T3s9W6AA832o8LjxSdwPYFZoqPAVIXNpz+KLpRXaa0TzhCtuqyw6QnGzQ/YGiV4K0c4e04gcsbr4VQMnSqH9SaYLfJZ0SRlV1tT/69qz5qQPpGKt08/EdPnTxZFzeSOnk1C98wLV1yj7Q9ZUVvoJRPzmUxvx0oLISgQ3O9F+gr2nKSOR4vwEy/s7HUzFx/eW61gIBn7SlElE0/tWZZV5IPWsx6QXsOEK6Od093OPamHXFJZHLN+leZkRfbJ8k+bOp895WaP5EBRPzk6XaEdSNpGcu1GP5q+vutgJWd+312PaAVBzWShfOdWskPW6YPVy5WbcuvT3ev6RUo/1YjyQhLCoProUxPPjL6kv7fs5c2zwQGcZIqZeu7Qi3rJCMZXBYGgXlQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(2616005)(26005)(6506007)(86362001)(2906002)(66556008)(36756003)(4326008)(38100700002)(8676002)(66946007)(66476007)(316002)(6916009)(6666004)(44832011)(83380400001)(6512007)(186003)(107886003)(5660300002)(8936002)(508600001)(6486002)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?AucjWxnggrOrphrMyrPH9ss7ZUVd+gKtVB3YABAoltew/HbcX1nsh0u0K0DJ?= =?us-ascii?Q?uJLe325ILE/oCxcVrxq9mpqZqZhByLqltZf7TZYRXfzJi87IYei+Huq93bTJ?= =?us-ascii?Q?LROiFrrNjUKuSkgN52Ic/ePfDSwdxjWP2jhCjRhWFtdjW/KVhpawYZFML8hq?= =?us-ascii?Q?5w24XSzupC6o010+3gPvgvGF0bmvDUeAXSk/EoCEMTyJwSAowrnZesfe9I3h?= =?us-ascii?Q?M4jlPQc5QR8cYG2/8Y5+oYI180AiKnhD8+yHunn6/TM4m5cf/mPfKYiQvuUb?= =?us-ascii?Q?5RufpYI/VwwQDOppszas7oitRfAGAn0Dkb+VLnndNisdUtKGLprktLNWrhOk?= =?us-ascii?Q?gqCC9uxCEFd0pI8jbamCyJc7ItPOr2pbEAagBd65NfV6bAz5cVueb6GNorFD?= =?us-ascii?Q?4NuTe2Om+0RZbCuzdPCOXVCdPUowbOMwgq/hyWiJo9KWZHS5N4dQz/pWUApb?= =?us-ascii?Q?SsiBeSYVxil1f6mxe1yt3nNm632GjFxOlE1S/dEqLlc2/r7CfNRrQhS8pzYN?= =?us-ascii?Q?DTmk5cvKvBhojPXqAzwi/lS0y55BcBt6NlANKhABv/zeM1LdF1y+FqPcTrJl?= =?us-ascii?Q?egEDcdhNOC/JuTKrLhAH4Pj+jvEVFpDxnrSnktixDRC4eTYnfnotyFMkjpQj?= =?us-ascii?Q?zBOYIUwhz34AkKjVoBk5AWopmiUBpw3bajGkMq1HaD7tq29j7Kq5cq58dI6Y?= =?us-ascii?Q?t6pJlT8oIYrPL8PGowooH+d68vQwh1cItoN40vzop6Hmw7Tx3WWjlD5U8Cxf?= =?us-ascii?Q?aDTIarQYZG1ZXHdUXrfC+F7ws8r5hmTfiXUh5IZXp89qC8QLBhD0Ap51WtLY?= =?us-ascii?Q?ronQhSyUQ/gCF9wUWfG9crkwC3mESyln5sMQyVj73vEMPJrz63O1w3IQB4HH?= =?us-ascii?Q?kkfJVxPlB3c4n6KTqc3goUUSx1l5MOxbQTeqeQX9ms4bIrtUNHLT4dFEYylF?= =?us-ascii?Q?t4+GwBC3qkxyj6jxsAx12iFKurDaMLGX42NoANp15EpGMIe49hXyOpNbnVq3?= =?us-ascii?Q?f9WkJiL4cgMtDVdGQHyLUet7DDHFaetZOA9XtdNc/aEGPr+LdozrSP70JUF5?= =?us-ascii?Q?IWbrHNmRvoO1+cnPMaP8H9WKZaDiMlafUvjt5CFoD7bjsS8HBqDFv721n9MV?= =?us-ascii?Q?355r8L3qHX6qrFP174LPa7SA7UZOy0mPvfa/sxzTdGcX8gYcT4kOzUJL+WoH?= =?us-ascii?Q?r0BnaN1NcJCzBf3T2lrbTC/UZV/cCDePnsWQBo7vte+YyAFfgANw1gi4Gojv?= =?us-ascii?Q?HtWjoaGitbLMrGlYV60NKMomqfZc7kvJ/zqVoS5odaZVMEUgO6+bdGUMsscL?= =?us-ascii?Q?uiubetfgwUeVTFqKEQoZjjXNMFMvES/MASR9lfqX8CWXCC3vd4vtjsgZJ9NH?= =?us-ascii?Q?hWjQwwj2YsAgKG6IiOihGjTt3JxcqumsS3or8jetGhdHo8GKk77XuO3KpCNH?= =?us-ascii?Q?yXm0vtFO1EfnPEkz0jwRpu+JY2MIJkwzdi6ODYAFTnsuRSpCMf+nZP91hZDG?= =?us-ascii?Q?IXKLeNB9wZ1vK7/RVSpRBBvcW2wJQwB/wKhzL3odQCWiHQjJ2uJGzhp6QwTl?= =?us-ascii?Q?OiuS0yX9uvWJhMkbPzssXPkxGTUEIwCty8lZGAQEqP6m7Sicr1ucG0xcMWjo?= =?us-ascii?Q?/PAKPGl9KHuOflX7oFKxd4tA/+TdOyu/+QbIe6dgacvaAkWcsVmfjj71ALBh?= =?us-ascii?Q?K3PWiNwBVSVsdksGbKZoz2dUIVRBulS5LWABAyZDsWDwV7kdv+b1hr8lffw7?= =?us-ascii?Q?/a+ojKudqdsDW+vgsA4yjpKkJIkTQVI=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: c0001ae4-a7ca-4269-f55e-08da43d8403a X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jun 2022 14:08:49.8761 (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: gn8icl78xgeBTGSRhfXEXyvZvfBkzz47+Coyw/sgTMgTKFaLoW64GyCRNzLs2EKV98SALwjmDyWYYzk0/npDsw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB4805 Content-Type: text/plain; charset="utf-8" Please update the commit log: ''' This patch defines two new wrappers mptcp_sched_get_send() and mptcp_sched_get_retrans(), invoke get_subflow() of msk->sched in them. Use them instead of using mptcp_subflow_get_send() or mptcp_subflow_get_retrans() directly. Set the subflow pointers array in struct mptcp_sched_data before invoking get_subflow(), then it can be used in get_subflow() in the BPF contexts. Check the subflow scheduled flags to test which subflow or subflows are picked by the scheduler. ''' Signed-off-by: Geliang Tang --- net/mptcp/sched.c | 53 +++++++++++++++++++++++++++++++++++++---------- 1 file changed, 42 insertions(+), 11 deletions(-) diff --git a/net/mptcp/sched.c b/net/mptcp/sched.c index 3ceb721e6489..6815654fc6f4 100644 --- a/net/mptcp/sched.c +++ b/net/mptcp/sched.c @@ -88,11 +88,24 @@ void mptcp_release_sched(struct mptcp_sock *msk) bpf_module_put(sched, sched->owner); } =20 -static int mptcp_sched_data_init(struct mptcp_sock *msk, +static int mptcp_sched_data_init(struct mptcp_sock *msk, bool reinject, struct mptcp_sched_data *data) { - data->sock =3D NULL; - data->call_again =3D 0; + struct mptcp_subflow_context *subflow; + int i =3D 0; + + data->reinject =3D reinject; + + mptcp_for_each_subflow(msk, subflow) { + if (i =3D=3D MPTCP_SUBFLOWS_MAX) { + pr_warn_once("too many subflows"); + break; + } + data->contexts[i++] =3D subflow; + } + + for (; i < MPTCP_SUBFLOWS_MAX; i++) + data->contexts[i] =3D NULL; =20 return 0; } @@ -100,6 +113,8 @@ static int mptcp_sched_data_init(struct mptcp_sock *msk, struct sock *mptcp_sched_get_send(struct mptcp_sock *msk) { struct mptcp_sched_data data; + struct sock *ssk =3D NULL; + int i; =20 sock_owned_by_me((struct sock *)msk); =20 @@ -113,16 +128,25 @@ struct sock *mptcp_sched_get_send(struct mptcp_sock *= msk) if (!msk->sched) return mptcp_subflow_get_send(msk); =20 - mptcp_sched_data_init(msk, &data); - msk->sched->get_subflow(msk, false, &data); + mptcp_sched_data_init(msk, false, &data); + msk->sched->get_subflow(msk, &data); + + for (i =3D 0; i < MPTCP_SUBFLOWS_MAX; i++) { + if (data.contexts[i] && READ_ONCE(data.contexts[i]->scheduled)) { + ssk =3D data.contexts[i]->tcp_sock; + msk->last_snd =3D ssk; + break; + } + } =20 - msk->last_snd =3D data.sock; - return data.sock; + return ssk; } =20 struct sock *mptcp_sched_get_retrans(struct mptcp_sock *msk) { struct mptcp_sched_data data; + struct sock *ssk =3D NULL; + int i; =20 sock_owned_by_me((const struct sock *)msk); =20 @@ -133,9 +157,16 @@ struct sock *mptcp_sched_get_retrans(struct mptcp_sock= *msk) if (!msk->sched) return mptcp_subflow_get_retrans(msk); =20 - mptcp_sched_data_init(msk, &data); - msk->sched->get_subflow(msk, true, &data); + mptcp_sched_data_init(msk, true, &data); + msk->sched->get_subflow(msk, &data); + + for (i =3D 0; i < MPTCP_SUBFLOWS_MAX; i++) { + if (data.contexts[i] && READ_ONCE(data.contexts[i]->scheduled)) { + ssk =3D data.contexts[i]->tcp_sock; + msk->last_snd =3D ssk; + break; + } + } =20 - msk->last_snd =3D data.sock; - return data.sock; + return ssk; } --=20 2.34.1 From nobody Thu Sep 18 06:42:59 2025 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a05:6a06:10a:b0:4d9:b80d:fb98 with SMTP id h10csp8461pio; Wed, 1 Jun 2022 07:09:05 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyWy28vGCPZLR9JLbUClt8pZgY4eLBc2Hxq8UNTbfpPH3OoFhZuMNb1Xzn7Zh+THD9TwK0t X-Received: by 2002:a05:6871:85:b0:d9:ac7a:7a5a with SMTP id u5-20020a056871008500b000d9ac7a7a5amr16748428oaa.9.1654092544976; Wed, 01 Jun 2022 07:09:04 -0700 (PDT) Return-Path: Received: from da.mirrors.kernel.org (da.mirrors.kernel.org. [139.178.84.19]) by mx.google.com with ESMTPS id y36-20020a05687045a400b000f3405310f0si1460670oao.151.2022.06.01.07.09.04 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 01 Jun 2022 07:09:04 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-5519-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.84.19 as permitted sender) client-ip=139.178.84.19; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=mimecast20200619 header.b=KqoSvXWg; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-5519-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.84.19 as permitted sender) smtp.mailfrom="mptcp+bounces-5519-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by da.mirrors.kernel.org (Postfix) with ESMTPS id 8BF2A2E0A03 for ; Wed, 1 Jun 2022 14:09:04 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 532042573; Wed, 1 Jun 2022 14:09:03 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.109.102]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3592E256F for ; Wed, 1 Jun 2022 14:09:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1654092539; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=mM3+XND7/C7tWp8dWVpcgU/hF1flnJ3n9SUIKtqoJ2A=; b=KqoSvXWg6y/f58FOg7f7979NxrJmCuSX84qhJ6q31D6x11UzuPvjU4uFBQuZNwGG7+W2nm x4L5PSn6YU3rJ9Xd3Hu9Hx6nKdmCaBY5vCKwKO4tUK7dL/s4B7P7SIcCQIAJtSHKUxpBra a9zAycb2TqMksXcgSah0fdGuv1Ymt2o= Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04lp2056.outbound.protection.outlook.com [104.47.13.56]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-5-vkSTkHPwNB6sXfJxJKUX_w-1; Wed, 01 Jun 2022 16:08:58 +0200 X-MC-Unique: vkSTkHPwNB6sXfJxJKUX_w-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EJBR8Z2MynsIqeM4QbRP7Ep7LdXbjjN/dtRCFvRiAONwNzbgLbp98PBZuLEm7XIHWHthjDtyzmjtvZhdMVyhqloMcT+ZunD+zbm4ADBGoCitdFDtOhdU44GMUKWWf1Uon+lEpOOhPbEjuisalVzQIlpjG+4rvDCvX5ln2/p9c1160tdCEeTx1xkrnd7gyuxi3UyxjTiDU5fQcVHF4efCyjizdNY8Oym63+z+Sm9KcOrFw01N9CPJwmBLODtb99rxVvMjIs4bKyvEXEasvVN1jfeLq6FwSmdnu6FIqrboL/bxvxANxolIO744YY6baobWAOblnNCIh+VQqIXQ81/8Cg== 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=hnB6QZnX3QjWi4Q6M3PhES5A94xjRZKIWP1wm4KUspo=; b=WDEjF4BEGKk7yL3O4qqnxOI/XC3uPM41N7Db9URbbno2aFUz63RrphEdNMUpvvtd3fqnoUR/IiEjcMfo6OBDnZXOalBhdKGE3N5B01jXY3g/DgpcgotdpTuotjSpgC2P43rsPn6LXHZYe1/yYFVtmujb0tpaHD9hi6fkagW4cvz6wapNuzEKCLT6P4o31lk5IoZU79vYF5OKyMajsBTWD/wN9gLdEpbd3NzUuZ09/UIOkFrn4PuSQdFkD+NgLTEDJzIT1DyTajUTgLmCz8ZtFaDd5b975ldja6rLAHWx4YJB7QBbkc31ARL3wWDtzgEGrCqyzjimwgKkpG2FHCEvVQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by AM6PR04MB4805.eurprd04.prod.outlook.com (2603:10a6:20b:d::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5314.12; Wed, 1 Jun 2022 14:08:57 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe%5]) with mapi id 15.20.5314.013; Wed, 1 Jun 2022 14:08:57 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next v6 04/11] Squash to "mptcp: add bpf_mptcp_sched_ops" Date: Wed, 1 Jun 2022 22:08:17 +0800 Message-ID: <882ee128ea5b02074258c6c6a3e9b2842db956d0.1654092153.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2PR03CA0043.apcprd03.prod.outlook.com (2603:1096:202:17::13) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: dc36db5e-5b2a-48c2-ac37-08da43d84496 X-MS-TrafficTypeDiagnostic: AM6PR04MB4805:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: x45TM4nBt8MIzat78j4cZLigjQhSsiuLBIHUTVf+RyaX0eyTBjC4tykP7a9TUUwme/vjwdpTLbFaUuAI3hmItUUZEN1FVFXYg8OtEadWjti1ZU+XCm6ule54+/DztoLOmzAXGnE1RC0rKLKceR5w1hpNOr64il8Ubdq2Nwhr3YPFPvH1Qf8gJEFYo8RlPdDMbmvyWIwCUCfZTmQTURO/tm2WrGPSNhLhlqSGqrl9xThpA2jyL3E8MuYMpkh4nLNxjCQ/ahIhG6c1VUz2Xb4NQjKOlkXHlQDA+KaI4/FP6kpV7oyjFdF3ESuyLHwHRZ1tolsbKfEYakc/DwfNW3L3Vxw5qBgxKLOotLAkIOgk3IlY+E5FtGtOqqtRjsspg6xu2VgDp05J/h0IA/YeOyucBEd40r2hFon3SYKs+KxfXBTP7/s9ddgDc3rOU1FaZYLIHGijWqfxW4swgr50709rBo7XUVgIOiVgKb1sLIcVTmg1vtVTIDkGCxk0VFD+unn68JoMudsc6yXONZWn6ajtYeV0Zfw++nnk1K3zZ/ENKyBftkGgLVkBXK2GzUBBq2Qt+Ls+08Fq35qSTZUjSNeZMpSMscN/qmvhx23RLPSLjdjQRriV8LUx5qAQPKHdpwoi8wHfZganl4dt0QQXBtFaabOy/oshywKGp+BRNQv17h3AQ0PpvpcPhGw5MGLjPz3X X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(2616005)(26005)(6506007)(86362001)(2906002)(66556008)(36756003)(4326008)(38100700002)(8676002)(66946007)(66476007)(316002)(6916009)(6666004)(44832011)(83380400001)(6512007)(186003)(107886003)(5660300002)(8936002)(508600001)(6486002)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?QBfZG4L7V62P4SqQCCCLuPvn+nlxN050zi9nO9Wl+ZPMCngRciXiMOMOG25t?= =?us-ascii?Q?dyXh+PAnhXmpXG7LtZON6B5ERr6U/A4vd/sy1DUFtVLtvpAxPFdRt+X9YBle?= =?us-ascii?Q?tHTdfvZU69U689OREL33sRumbWz4FAjuoAzuZI5RUIfDBnkuLiViAosKvpYH?= =?us-ascii?Q?TZIgf0/H5kKoxfWI0nyTgGSoIc0WdC+uLqEr535+CVtW5SNrO61wFVLeppOn?= =?us-ascii?Q?08i7A3qqAtkMqZDDdOb/VQoL85mbb0HpRXWBBEm+Zw4vJmcRmkejYNKwkDVe?= =?us-ascii?Q?Mev0Z/cG6xbAL+2vpgv/4ScH/tTJkWHZMvmDwvM4hWvSqMHZp8bU2uoZG2rH?= =?us-ascii?Q?Iq6VFDEuz5YsKNz5c13J8pvEezGm7JXZHNW1C6QalHgkkVYMNR+RyapA0P68?= =?us-ascii?Q?pkt/b65HFTSQniQs7GFx+BxCyyFg7gzgsxkmIEws6O8A4Nlw+G3DkhIC769f?= =?us-ascii?Q?U1DjjM/rp4GuhkJbLkvRRuJTbsgPwM//5LcBmj5VrsbkDdiZ7tqm6AOqL/5l?= =?us-ascii?Q?ECYrhkrBJnRE+FToYmhUS3m74dV3+lY5jndqCIirIE97iSE1MPWlF/+w++ZZ?= =?us-ascii?Q?bUA1afg8lQGnjIQpuoNjvi9OrEKjr7lRvnhB4/OI9vboNuOhY6lwvGKY6MER?= =?us-ascii?Q?fuY0vYHKPgE0md5RdTLDHQpvhRet/XYDuQvVnyxdb2oZ990T3zME4Z5hReu+?= =?us-ascii?Q?+rdHr2lT8znUJ2nw9BIgIL3StKQqbmg3Zcr3xg9Qe8ByfDnKAsZDEb7AXjlI?= =?us-ascii?Q?yB3r7iO5tThreMPZXdA+mn6qRU1tfkCIxvFUpzIRWcpcHos0NX3nG13UK1d+?= =?us-ascii?Q?VEV1mpbrTpJ2ckWAEOyD6XdLljrlPPSurlsS6gt+PdFRyCWCFb4g30uWEMou?= =?us-ascii?Q?GDubmbhPWrKmvenQU/AJFpAiVmE7qi905yVo/2Be5FOTNeueHAKKbdUj0hJN?= =?us-ascii?Q?vdadDeTCBrhI9sY6IssuVfKAKSklRZOrKZjfnqMRnPg0bw6Seq2AlpZuLS3u?= =?us-ascii?Q?P6kPxUqQszEmFRbKhAQRLtowvV7LbiCs5g8zwpYwDmGMNeHIU2KqO7x+7GG+?= =?us-ascii?Q?MlYI5Jj7yrNx3S0IxEgM+PtgIjFriiDKeueLqRN3oJF1kSsn3CdnUDV6cnUI?= =?us-ascii?Q?MnGqLwxkS2Mmtv5Som8Vbgi/zVfaAk2JOHoAVVfaL6lo5EwqmZZEDJBIDvyZ?= =?us-ascii?Q?mBix1kbsZmiaaam/uVJlBN7hlqUNc6z4TjnE0O+b7bwZ1o6z5NcCYxUfGT6w?= =?us-ascii?Q?lMAwqcUSMY8LW5R0FIt6qk2MXa7oWH2eY39jVrQpBz9pZmTjN9gGNbjRGQuh?= =?us-ascii?Q?HyEQM+iku+xnuHhYF6KULyGXeOh6GLYzvcfnxwNsm29oX0pbkJ3bfptrGgdb?= =?us-ascii?Q?yYxqwJYClkyH1iM0/XX770L9sY5PYMGw0xvQYnoyqmkxL0V7QxBNYK2n5lKL?= =?us-ascii?Q?wxUiAa6rX6cajv5PzY0WeYxrxz87J6FzillAGQNXqDyva5H1LJgQtgD/UwPn?= =?us-ascii?Q?5E4UQnncY7Ha/SBM8h7Xkv3hslES9bEOsFToC+gy5QVVIinizqVCiGMGpm+2?= =?us-ascii?Q?eIvX97d/FlucopH4bRcg7J8jAky7kr/8gOKWH61ITT7cgkVc3YIfGQ2M89Fi?= =?us-ascii?Q?qZPMD/vl2ivCTV3EwGrhwA36d0GuQJWgXhDecW0UVN0dMk088i7UhWBtgZvE?= =?us-ascii?Q?t/V/f7DJSunf11wnx2QUHtgrpwvFD6niaz/65+cmDbB7bH7RpujFTYW+5/mx?= =?us-ascii?Q?B3NjkS/Z7tlRJWn1nfMiH1kHInRNX38=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: dc36db5e-5b2a-48c2-ac37-08da43d84496 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jun 2022 14:08:57.3443 (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: 9OZI+s6iQSqBIScte/QdyzOmxwmMrywdFpshPo5fL8RETIpsoXSuELmQDHYBXxrlG+kn7sun2boZKLxRE09gTQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB4805 Content-Type: text/plain; charset="utf-8" Change the access code from mptcp_sched_data to mptcp_subflow_context. Signed-off-by: Geliang Tang --- net/mptcp/bpf.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/net/mptcp/bpf.c b/net/mptcp/bpf.c index 338146d173f4..0529e70d53b1 100644 --- a/net/mptcp/bpf.c +++ b/net/mptcp/bpf.c @@ -42,29 +42,27 @@ static int bpf_mptcp_sched_btf_struct_access(struct bpf= _verifier_log *log, { size_t end; =20 - if (atype =3D=3D BPF_READ) + if (atype =3D=3D BPF_READ) { return btf_struct_access(log, btf, t, off, size, atype, next_btf_id, flag); + } =20 if (t !=3D mptcp_sched_type) { - bpf_log(log, "only access to mptcp_sched_data is supported\n"); + bpf_log(log, "only access to mptcp_subflow_context is supported\n"); return -EACCES; } =20 switch (off) { - case offsetof(struct mptcp_sched_data, sock): - end =3D offsetofend(struct mptcp_sched_data, sock); - break; - case offsetof(struct mptcp_sched_data, call_again): - end =3D offsetofend(struct mptcp_sched_data, call_again); + case offsetof(struct mptcp_subflow_context, scheduled): + end =3D offsetofend(struct mptcp_subflow_context, scheduled); break; default: - bpf_log(log, "no write support to mptcp_sched_data at off %d\n", off); + bpf_log(log, "no write support to mptcp_subflow_context at off %d\n", of= f); return -EACCES; } =20 if (off + size > end) { - bpf_log(log, "access beyond mptcp_sched_data at off %u size %u ended at = %zu", + bpf_log(log, "access beyond mptcp_subflow_context at off %u size %u ende= d at %zu", off, size, end); return -EACCES; } @@ -144,7 +142,7 @@ static int bpf_mptcp_sched_init(struct btf *btf) { s32 type_id; =20 - type_id =3D btf_find_by_name_kind(btf, "mptcp_sched_data", + type_id =3D btf_find_by_name_kind(btf, "mptcp_subflow_context", BTF_KIND_STRUCT); if (type_id < 0) return -EINVAL; --=20 2.34.1 From nobody Thu Sep 18 06:42:59 2025 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a05:6a06:10a:b0:4d9:b80d:fb98 with SMTP id h10csp8514pio; Wed, 1 Jun 2022 07:09:12 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx6V5YfSxpyeilj+T6y6CUJTv+jfPjm8bbNxjSdHr1FF2wx4GT+orUHTGgMov2sTZNl9vht X-Received: by 2002:a05:6870:d587:b0:e1:e7f1:5d48 with SMTP id u7-20020a056870d58700b000e1e7f15d48mr16673632oao.275.1654092552100; Wed, 01 Jun 2022 07:09:12 -0700 (PDT) Return-Path: Received: from da.mirrors.kernel.org (da.mirrors.kernel.org. [139.178.84.19]) by mx.google.com with ESMTPS id s8-20020a056808208800b0032b5c6fb4bfsi2140532oiw.165.2022.06.01.07.09.12 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 01 Jun 2022 07:09:12 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-5520-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.84.19 as permitted sender) client-ip=139.178.84.19; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=mimecast20200619 header.b=CcIDvc8V; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-5520-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.84.19 as permitted sender) smtp.mailfrom="mptcp+bounces-5520-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by da.mirrors.kernel.org (Postfix) with ESMTPS id C341F2E09A8 for ; Wed, 1 Jun 2022 14:09:11 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id B641C256F; Wed, 1 Jun 2022 14:09:10 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.109.102]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1D8F02573 for ; Wed, 1 Jun 2022 14:09:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1654092547; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=gY/JDmfCBknn1XuTrBoWGDyuvrlzi68IbPvCndaVDb4=; b=CcIDvc8V3p+I7WMi9WenCEHWoboGnQLVZ1ImDFNI5/ROm179a7g+DtWDTT13AWByC+hvFo 8KIthxhSjesCYN9cPJSqgMIFVWYBcDiueFPNIScEpBNVs0JL/WQ229yzQZqV727wWxgA9z BGbpZ3vJ38H5Dcf9EpgRG/0WOaw+DGo= Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04lp2058.outbound.protection.outlook.com [104.47.13.58]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-31-lZQQrJ0qNd6aZJf-CkF2jA-1; Wed, 01 Jun 2022 16:09:06 +0200 X-MC-Unique: lZQQrJ0qNd6aZJf-CkF2jA-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=G365U+tMn1MAXKeYbgGoD2bUmbXrFI5aINg7HivYBYmzg7DHSmtZDBGIHgTrZU++eY3pZwgW6dZ53kgZBfmMvudGSDCJQXjFhR0GvIseSx3OwlYcCWQ3+JaamLGGyVurK9uVCEHvWW0b58vEMmzXxwJzdAfA/mwRYBBHVQtToZd6tHRnL7fKxfqS9Bxa7W5/WIZbOiWypoOuaU+s0dx0ZZQidNboATiLvUixC5XjdsqyGwXlqHpG/8C/rnroL2iny5z7mDC4bIBKGTswJhx5d9ATTyMG+1nJFfGQ+yR+NSucOwCjCwlprjMsWLUxURFuBgHGZxGDHGEV1iauPFzGuQ== 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=SoiOX6GL7pRJrFzC8aUHrfQHOweu7/gz1gOwEQse7w4=; b=Cy/ElXoJvmM9ceqGB+t3WGbEfvrZEg8PQYmddEfG1bIQuAImImSeyQUhiqSaLfB+SCaWNOD5SgwJ0k0aektia4ZcwGQhwVLfa6n7YEK1kRjFedU/0W3aEiERmrySLqDrqetmTajkD/IdRS1OcAbuw0NMGW2o6+aJnkkB0SOk0K1qDqkjx6nOGlBf/h7ODfSneAHldNlHHt5qInYQ5vS2pPilKRpohUqYJ2Q5ilkD1GgQArdPsabIMvYNfrmfBX/K74NTumVY4O9Dbb3F4JJ/om004S1Gu3wT+gprqQnv8lYM3YLjyZr2grvB2VqXhFauWa3uMi4e3gPSkZFMYzfQgw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by AM6PR04MB4805.eurprd04.prod.outlook.com (2603:10a6:20b:d::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5314.12; Wed, 1 Jun 2022 14:09:05 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe%5]) with mapi id 15.20.5314.013; Wed, 1 Jun 2022 14:09:05 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next v6 05/11] mptcp: add subflow_set_scheduled helper Date: Wed, 1 Jun 2022 22:08:18 +0800 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2PR02CA0197.apcprd02.prod.outlook.com (2603:1096:201:21::33) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 91f364ff-7246-4663-5ef4-08da43d84930 X-MS-TrafficTypeDiagnostic: AM6PR04MB4805:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: hw3AKmCbx7a64tDSwxzrV7CQotOgggKlO5nOhCckjZNuQbZJ+5Hr4eGnD1FnWC8tzkaalHEnuKwPJe+NrLKLYhv0pMQpn3DwnvvCLfg9L2feTIJYtpZV97fRGBOCT/xGNnnkCiN5m6bHH6t575GGJdcJGvHwhT7EECgu7Hm1hTsfYT7+IeJ31frcCpofsoEFuvyEZxYdStHL9B/sPPL3w7KZ13WotT4DlYYp7vKCLr+4ScrmlwDoCttnqR+e3yAPtn9x9qMompH1lYAOE0MKIUgnTfdb9McmYEObO9zAS+2UcHvOcSU2cQfwf6ZcYlKvbmxnZUGZDBPBTbTXrirYZ0s5uLzTUor2Geo6xH5HPrQK6+fdEqa6sD3LnM956FXZp183yx2nCOiZNCzpcq99bz/3ldTGjbhliAPOKgyALA3ZAep0/DAygZKuWZrw9Iy34iSG/Hh5KTDGZ1Ge+KVVLsexXbIZcdCkf1lnlcPs+P0FMvTHAjK6P2T9aShtGfsu6MEkk22ijrCRVYhAXShKf40Fs9RexZnZPgxCtWATXziRsUV1RlttCx9AqpVTHm40QTZE73mqIhjCH3S3cU4+xh9Rn6BUp5F/Z0aENnnf15nyPXBeHIThDtT5zLmUZdaqVPnSL4lpOVcHEVjS+R/DMaDxOpeNT7JljIyGAjnHJg6yv/wqxriZnyikuwMyD+Zexj+bDRqwjtkRYPTyWE80Ew== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(2616005)(26005)(6506007)(86362001)(2906002)(66556008)(36756003)(4326008)(38100700002)(8676002)(66946007)(66476007)(316002)(6916009)(6666004)(44832011)(83380400001)(6512007)(186003)(107886003)(5660300002)(8936002)(508600001)(6486002)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?KI+7toTQRDpdtHrfSRjaHUQbr5yNfQorRAfNCSnCkS9YoIcC4bnUJgd4B7oh?= =?us-ascii?Q?4q7MLfoOdE3d6jbX3WhLHb1xfFl2WKmSpPG3/5z+H4BCSP1BtvCNHkFDCNNm?= =?us-ascii?Q?IeOM+jjvQp1nkaWicITROA9zAwHm3cMYPdJK0mc+43eosaMdryKIFxwe5Bu7?= =?us-ascii?Q?PMHdvNnaa51U/9E/gk48bUUkLwUm78sykxKZ/OaNKy2fmUH/8fF06yap3495?= =?us-ascii?Q?TvvPtcf0flQQh3ZjctsaHJkX3cCdKLN5xcJEFKiSNFYFtcHrD9swpt9qOyGQ?= =?us-ascii?Q?N15mIgcMlWsfREMfBCHbbLK3WpZMo4UEjuRciKLrCj0gIlnMVW5hmx/bASuc?= =?us-ascii?Q?FO1aVi6AU5hDkVBgdD87orbxorpsgvs2uTVDBJ+a2UyTrrnSBdDFnufbhwi/?= =?us-ascii?Q?1MUcrIAZEP3SZzlEIvIiL+IkkkVrzUBhE2UhMxUPU6M0G62J28Agide5/VPA?= =?us-ascii?Q?6I96TLjaYcaKCumcyJHsfa0l+ufwrt/unkippDDEx8pbisxf2zT6LAoWeBiG?= =?us-ascii?Q?Ebm3J/GlNCBkRXzRKEBS/Ltr3EbSuHGN6fQLO2EnVzuBgAOQNnBstNEQkKc/?= =?us-ascii?Q?EPjSEX1OdMimanDwnUZ1hTjEZoDY8OsSZRuSmjfHFD7yhJRUreGORBxCFaAF?= =?us-ascii?Q?NtR1Al/ptFVOCTABhp9FxNcoMaVyxOJp4HQ42HMdkxMtEdmf+N0OulDu2VmJ?= =?us-ascii?Q?xY85ZO9zyk+/WGKiiOWyuU+JITukhf1oS6n2top5au2DiLx5VLLNZheZcFlI?= =?us-ascii?Q?4CCoKxpOmRcrslxAuJnYpCDz40ckfe+tURGg8NLQn/rXx2/MeLYCcWXHTzMe?= =?us-ascii?Q?L9cZfVf2DW3oH0ZmCDlJLIOkakvJeZSLp0gHC7Y6Y1/aEgaaxHjBzClGoA3T?= =?us-ascii?Q?WXA/tkQT6wQ28Tq83G8bvoou8qkvcoeEUO0aiCJXA3oQdL3y5oITJij+ml8y?= =?us-ascii?Q?kgV3YEZxmU/+Zuc3kLcB6klxRnZIX8QAYtEwPtXjJwlhVYNaSaGcNLFNHwfy?= =?us-ascii?Q?xHdETT9qvBCJrsfXooOk9xLOL1xZ3d0uJlyOPM8PxKU62HaOj7Mrm/C8jbK+?= =?us-ascii?Q?eC8B12gf0feTduyzFkCzOHCUDuB87UnX3bL3X1pf3s4mDqh9ZklmBi+21e2t?= =?us-ascii?Q?eD7FGuhofxvj64ueRCSBoqEcJu+27y/LFGm3zPItjVWGJ55zmnGwibuzUcvB?= =?us-ascii?Q?MqcF2WTCsLWEYZP+AvKV/MfgdTskRRQ5T5M9pRCu6Nu1aEHd5oAmutXZ1VYd?= =?us-ascii?Q?0yR1g/jBoTU7ZOT9+aA/yw6ZKl3RC5xn3RnXbIo55X8+q+DHXst30ADzKk5n?= =?us-ascii?Q?OkIfXPe4h6xmOCDJJmVoXue+mOx5PxhUjx1cQ3PA9tO8pJaTItLVR0RdOO0B?= =?us-ascii?Q?w6Z208+b9WffKVyWpdXB3YJA8NmSgdLB94AeXNxzfQuktqMnnWl4krqWF28o?= =?us-ascii?Q?4jKUXrDbAZnkYYnhL211FhgLM4tNKlYs5aOvx9BKNB0d6eizTdOn+mDRcwQl?= =?us-ascii?Q?oRCBgWnK70IWEh6zMK1mtklr19um4jyfW35FrvX3euLwDTopeUvKpRKGYqEN?= =?us-ascii?Q?9T2+Yz1MYNxBZTdkWEmECdpIYcMkri7e5hoS8qUAqg0qtvJfKL5cl+WrE8wt?= =?us-ascii?Q?pG0f3DAb4KuyzTyDbDmqFgCKQcUGLpwhhiFJRXK66JBNA79oF6T0/kWRrmGb?= =?us-ascii?Q?UqUZzFYHAWLPnKJHvE6CxC207GIb08domDM2e8pbMtw+Iw2Q18GpMLQzukAj?= =?us-ascii?Q?pxz1p/rRIg/vIUSnp/eCdEWlgftlhfI=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 91f364ff-7246-4663-5ef4-08da43d84930 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jun 2022 14:09:04.9374 (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: twvb7586ShbrY79oIZb6AsIzf9TFZSSeCKtLf31cAs8uDegWqOAcEHnSx10iYPAmUHIkkGO9jZbnTg6orakF8g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB4805 Content-Type: text/plain; charset="utf-8" This patch adds a new helper mptcp_subflow_set_scheduled() to set the scheduled flag of struct mptcp_subflow_context using WRITE_ONCE(). Register this helper in bpf_mptcp_sched_kfunc_init() to make sure it can be accessed from the BPF context. Signed-off-by: Geliang Tang --- net/mptcp/bpf.c | 16 ++++++++++++++++ net/mptcp/protocol.h | 2 ++ net/mptcp/sched.c | 7 +++++++ tools/testing/selftests/bpf/bpf_tcp_helpers.h | 3 +++ 4 files changed, 28 insertions(+) diff --git a/net/mptcp/bpf.c b/net/mptcp/bpf.c index 0529e70d53b1..e86dff4272d5 100644 --- a/net/mptcp/bpf.c +++ b/net/mptcp/bpf.c @@ -161,6 +161,22 @@ struct bpf_struct_ops bpf_mptcp_sched_ops =3D { .init =3D bpf_mptcp_sched_init, .name =3D "mptcp_sched_ops", }; + +BTF_SET_START(bpf_mptcp_sched_kfunc_ids) +BTF_ID(func, mptcp_subflow_set_scheduled) +BTF_SET_END(bpf_mptcp_sched_kfunc_ids) + +static const struct btf_kfunc_id_set bpf_mptcp_sched_kfunc_set =3D { + .owner =3D THIS_MODULE, + .check_set =3D &bpf_mptcp_sched_kfunc_ids, +}; + +static int __init bpf_mptcp_sched_kfunc_init(void) +{ + return register_btf_kfunc_id_set(BPF_PROG_TYPE_STRUCT_OPS, + &bpf_mptcp_sched_kfunc_set); +} +late_initcall(bpf_mptcp_sched_kfunc_init); #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 48c5261b7b15..d406b5afbee4 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -629,6 +629,8 @@ void mptcp_unregister_scheduler(struct mptcp_sched_ops = *sched); int mptcp_init_sched(struct mptcp_sock *msk, struct mptcp_sched_ops *sched); void mptcp_release_sched(struct mptcp_sock *msk); +void mptcp_subflow_set_scheduled(struct mptcp_subflow_context *subflow, + bool scheduled); struct sock *mptcp_subflow_get_send(struct mptcp_sock *msk); struct sock *mptcp_subflow_get_retrans(struct mptcp_sock *msk); struct sock *mptcp_sched_get_send(struct mptcp_sock *msk); diff --git a/net/mptcp/sched.c b/net/mptcp/sched.c index 6815654fc6f4..8858e1fc8b74 100644 --- a/net/mptcp/sched.c +++ b/net/mptcp/sched.c @@ -88,6 +88,12 @@ void mptcp_release_sched(struct mptcp_sock *msk) bpf_module_put(sched, sched->owner); } =20 +void mptcp_subflow_set_scheduled(struct mptcp_subflow_context *subflow, + bool scheduled) +{ + WRITE_ONCE(subflow->scheduled, scheduled); +} + static int mptcp_sched_data_init(struct mptcp_sock *msk, bool reinject, struct mptcp_sched_data *data) { @@ -101,6 +107,7 @@ static int mptcp_sched_data_init(struct mptcp_sock *msk= , bool reinject, pr_warn_once("too many subflows"); break; } + mptcp_subflow_set_scheduled(subflow, false); data->contexts[i++] =3D subflow; } =20 diff --git a/tools/testing/selftests/bpf/bpf_tcp_helpers.h b/tools/testing/= selftests/bpf/bpf_tcp_helpers.h index 5f6a7fa2269b..5e301e830a0a 100644 --- a/tools/testing/selftests/bpf/bpf_tcp_helpers.h +++ b/tools/testing/selftests/bpf/bpf_tcp_helpers.h @@ -261,4 +261,7 @@ struct mptcp_sock { char ca_name[TCP_CA_NAME_MAX]; } __attribute__((preserve_access_index)); =20 +extern void mptcp_subflow_set_scheduled(struct mptcp_subflow_context *subf= low, + bool scheduled) __ksym; + #endif --=20 2.34.1 From nobody Thu Sep 18 06:42:59 2025 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a05:6a06:10a:b0:4d9:b80d:fb98 with SMTP id h10csp8606pio; Wed, 1 Jun 2022 07:09:22 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwzV2N9ETapiYKrqB8bu8NXTMAyJrX5h9Qo87cM+ioaJwqfZyGTcpcH3FTf93z5ZOEz0cQV X-Received: by 2002:a17:90a:a393:b0:1d0:e448:811d with SMTP id x19-20020a17090aa39300b001d0e448811dmr34881092pjp.97.1654092561947; Wed, 01 Jun 2022 07:09:21 -0700 (PDT) Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id t18-20020a17090ad15200b001e3361d308esi2080598pjw.154.2022.06.01.07.09.21 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 01 Jun 2022 07:09:21 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-5521-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=mimecast20200619 header.b=Sjrcp+HN; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-5521-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="mptcp+bounces-5521-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 8CCEA2809A3 for ; Wed, 1 Jun 2022 14:09:21 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id B44492573; Wed, 1 Jun 2022 14:09:20 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.109.102]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 198C9256F for ; Wed, 1 Jun 2022 14:09:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1654092557; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=w7EZhHhSvsAoI/RkdoRoPe/JgmiR01FVIpRd1YYAZxM=; b=Sjrcp+HNeOy7E+qctq+l/KqkTcccsTZW1Jv0yUGzIdZkupXCdq+811tLH5DFx3kJO2DG0N SrPLJWbE7BJ6gxCKeZtiJ9PaGX+lpSzBpnBj0+FB6l87lOyCFdwCpwZJEVIlL3yqPYk9Fg I8IJKRO1FYquhklAhc+pZ0UEyBN55MY= Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01lp2058.outbound.protection.outlook.com [104.47.0.58]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-15-mLZSLOF9OE20owrKnZPigw-1; Wed, 01 Jun 2022 16:09:16 +0200 X-MC-Unique: mLZSLOF9OE20owrKnZPigw-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PAXSaqSm27Sv4UUE38I5lXWiytjHTYTg7EOQvkOcg9xpAlqLz+QYkNEF6Xi65grkXAO3V3PgAz6HaHq1MtmscppM0NTnOCGlswNbQ61tLTmKiPOKt7RIjVWT5o5nooLEVwt/p6+z+Q+X/1njM65t3g9P1Y5LMeEzrybGk7f15+MOWUA+2yQVeuwd8FqRIjmWxpN7+tKrNgi06PzXoFmUvftJkDPbRcoT3bIOf+fqxGu+lNVUY4PE55nuLqomBwSRPv0VGjCmKqOV73/frAk+ng+maFEKbzMvqzI0KL3c2kDwMcM6JlmoWczUXXMwRXEF2Fw6Is1t2yUvLYZ869OYfA== 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=FOB5qnNpU7a/lHcG5AZwW1QKtS7Bh8v/oKeVWAVr5No=; b=NOMFyyZaebXrH2QsgoxuM4qjzH2FPJ8kLdud8S0hVcMT81CTQ4AC3qDTNp4apAXAseoj9eqGR9ibjBuSwIXiTmnRimR7g34I8ef9F1Gaj/AIA2nV/MknTqXwWdpowe3QUSt+PgFyji/ETBl8SLfpHPQiqC54uEvRBwWs/0Pt59nzq7l8KfUvYDEmaixfrRpci6flh1HmR14AZ7LbELgCHegb4Ilj5MPHhj2qwfjweY30DwvzQ+gLhp2IjYv6BlCNBCM9u+5jd/KdX/AK/FYmApQcJbGZmGKdJfn5e3bBt+BLD74wjhZ6/XoMjHcEfUEJkMd+CGaVw0c9+jsO2Bc3jg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DB6PR0402MB2935.eurprd04.prod.outlook.com (2603:10a6:4:9d::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.19; Wed, 1 Jun 2022 14:09:13 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe%5]) with mapi id 15.20.5314.013; Wed, 1 Jun 2022 14:09:13 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next v6 06/11] Squash to "selftests/bpf: add bpf_first scheduler" Date: Wed, 1 Jun 2022 22:08:19 +0800 Message-ID: <605a683f2dbbe4f0f50c4bc6c55116e5f0fa9110.1654092153.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2PR02CA0179.apcprd02.prod.outlook.com (2603:1096:201:21::15) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: bf2553b6-23ac-4025-a336-08da43d84e81 X-MS-TrafficTypeDiagnostic: DB6PR0402MB2935:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Vj0fI+NJGIVH6lhmrpmkkW4PCBCLgSr0K+qDiaTrVWbmT6ZAPy+qomSIGUgPVmlc4ntRzNmHadHyV8CJsYRsvviynhFSkgGfKSdSpxtwMwGTV8ZzlCtEhLPVJijIEDnvDiniVDC27LzWL1y/L7i6QLuQLC/BEW4/ihYncr1o2B/+8kqNKFp/GMDhXRCfz5zxApUXdZ6JuFt00VVVLhUIBhFdY636cpNbDP9h4wugfvXFYEGCA/aWcCosWuAJPOzj/UXzBZdCx4gugLSfBwDY9OW7lziNboqk52iSemGsLARxYGA8om0yjzG5FTrzkFnsVDgn3CGl2fine1xQCqn5jHH/QPuRTEJVXqycBWlkkxgPB8o6ZQkBWcMkfuVPWUBpt1aonka6OEcEcbzsZdNRkCn4xh0n+XXO8Ka6ig/e9s0QvOstw9hFjMncGSzTw3VhJSPlZVP5oDKJBF3MuUqCiWmJcPlTekljeA4mK8Gs2XHK1a+GmXipD+vvzDUTF5S4ohpMg8LS7f5sSqfb+k3qt7Jb4F8ctKzsClrApz/xfkx7UDuMLSvvPoFMPCrvyJmxaJY0GC25daIofpmbSrEc+i6ISF6sUt3T6lCQSETBT0Qy+37PhbiNHr6n02HMJZaHLdTmMSwFAqAyktJDQx4GqpCVPaGEV2hRrmj5JtsqpCKp2cMf/tV5MMy4/6/Isyr3wLgu3Deln6p7wm99GzEomQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(44832011)(6916009)(6506007)(5660300002)(83380400001)(38100700002)(316002)(4744005)(6486002)(4326008)(66476007)(66946007)(66556008)(2906002)(107886003)(8936002)(2616005)(26005)(6512007)(36756003)(86362001)(508600001)(8676002)(186003)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?VM3hBsq8+XObAQKfPEhqJXPURdMai7wnRSiHb49uXueXRRBBQfiZ0zKVhjS3?= =?us-ascii?Q?AzQObQQ9bG32itZBH1wKtZITNpaj7/I71q2Wi1dxylVfynCyINzqd3HJovx6?= =?us-ascii?Q?6+E4AnblxbcE7SGou2xVK9w/HfOD38VhpkVYzDsHEMcH/KYZ2sFn8ThqE4A8?= =?us-ascii?Q?ql373ijN9Cz0pS/khBn7ay3b1zUUQg/GA+/VIpnRyf5mzBKZqre1/ItwjXbn?= =?us-ascii?Q?0l+DSj0l08kxTJPuMvQKdNCqP+UDuiupIGiQ40HqqwfTOm+QO7D2bdOAAZKH?= =?us-ascii?Q?lEUktlWDN5Lby0Vq96BNQ6S3lmX8oatGm3vMVlly69V0gBXCHR+3X2eyzKxz?= =?us-ascii?Q?//voRSTvWwHccAkM0MgpJIkF77r8zATLbdOoj6ZIKeFJEwFOkECJsAHtLzVz?= =?us-ascii?Q?8KBwPOCNUaKxtRR7Uje5aT2yCXDv626CyZfPTSAI/kt5eF6BqP4RoO2B8sn4?= =?us-ascii?Q?vRE/vrvV/CLx6scmHuYd0Ian4bRdDIBlnMt4fuqlZIOmE3WptSHxqMg4nvzp?= =?us-ascii?Q?Vi9HFvqwqqYz2yE+daWepbEC9G+X/lPc/CutAVpMVu+yPKF8OuttQDAVCjx7?= =?us-ascii?Q?1EHzsi8Mtod73N3ZFTzS+8/iexWmkTma2+qhgZdT4617d/RBTH7s1Em3Fs4L?= =?us-ascii?Q?0NbFDW+UCeQcWj0sxmIMgJZsqDqZeEloDi4WlDQhLpJei6ZLe7jyybpAHjoC?= =?us-ascii?Q?lETzotHq62L4SCNBtYxu6JqCNML8xd+O0PYR3AvP0S/ZDRrY2wNby1BEXV9p?= =?us-ascii?Q?BIwkspZdBp/DRNTZ9UefSGR7mNjMkzKlQWx8rV+/ShAhQZKdn/55scbJbCzW?= =?us-ascii?Q?X0JjBlDnopgk/RYHmwBg5Nqw4SYwE5X5Z60lU6yeTnYHGtxZa/gaFjBOJrh9?= =?us-ascii?Q?IxBeQUVDCOG3n7pOdCfU5zHHhplNU1r+Wz9wAbRo8iu3I/gwOp+yP9YMbLVQ?= =?us-ascii?Q?9HMcAnK966blVy0tHA2rS1xaFUnxl4bNa2pAHUQ0h6ueoXRzgDejjRsyOD/G?= =?us-ascii?Q?qF2yYdSNgO6D8718J+BJHbMwf2a98HEJLw4/avZOceiR95KyNo+zk236v9xl?= =?us-ascii?Q?Xkz8bb6WCRibypQHBnMA9ys5zBZcope6ntzckkj/nAd2bapzQa4lrN9F+txP?= =?us-ascii?Q?Hup2eqr8ku9VflEqWQxQztDMHwdtSZELdS3YO1ttFmKj57MBS03KRayGWCWe?= =?us-ascii?Q?DeUq7l1xpf3TQkHl7WAwFjYbZDpovrvGInTDcfkDfXwspp/FnTmE29JSO3i1?= =?us-ascii?Q?ERaVG1plddCkQvMmVQrge1zIch0C4SkRn03yJSNP6idLI7CAJneo4jvIRtzm?= =?us-ascii?Q?l7s3IYtZm/OdPQaBuab6DI6w/IsezBlVES6tfmw6PTgsbuw3ucYav7m/xI20?= =?us-ascii?Q?+BnR30YhlguJmF8d+z3T0iaqfQJf17W490IjxoKnYLv+UgiYYRbJQG7/xm0a?= =?us-ascii?Q?ID9/lwMrQfjER/lkBqczoA0p2ARI1xIIaDQGrvMBTvfZkfHNS8C/UL44MoS2?= =?us-ascii?Q?Wo7UsEypjxqCAtlBk+14mQ1eKZAPWd9J8F1c9FCegNXpOD7U2dgFRn5O4szz?= =?us-ascii?Q?Vy50QtY00JTUsvpRDVvapMtDhtTGeG5rw5EkoOWdLx7O4WKrKpZA+V21y5fa?= =?us-ascii?Q?Yk70507DMxfvr47HdBMh2T6sDAtsh49kv97JwCEcEZbbcBYuOVNjlYZ8TjBD?= =?us-ascii?Q?VfzrfunnbTitBc8ugL+A1nFAUCGvlpfFdhaqPW/x/YN1tQWlYfKpm/aX0oYz?= =?us-ascii?Q?ykYhBNHZOoGrl9u8ATCyRIIHMG4yfjc=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: bf2553b6-23ac-4025-a336-08da43d84e81 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jun 2022 14:09:13.6399 (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: jHb2OolfCoQXBbz9q23FDghHCjX9Fdig4CqnP4Gp9wHTD0dqdTvo61MgKGlSzSD+7be+wtm+HBJvzQcBwEim/g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0402MB2935 Content-Type: text/plain; charset="utf-8" Use new get_subflow API. Signed-off-by: Geliang Tang --- tools/testing/selftests/bpf/progs/mptcp_bpf_first.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/tools/testing/selftests/bpf/progs/mptcp_bpf_first.c b/tools/te= sting/selftests/bpf/progs/mptcp_bpf_first.c index fd67b5f42964..fcd733e88b02 100644 --- a/tools/testing/selftests/bpf/progs/mptcp_bpf_first.c +++ b/tools/testing/selftests/bpf/progs/mptcp_bpf_first.c @@ -17,10 +17,9 @@ void BPF_PROG(mptcp_sched_first_release, const struct mp= tcp_sock *msk) } =20 void BPF_STRUCT_OPS(bpf_first_get_subflow, const struct mptcp_sock *msk, - bool reinject, struct mptcp_sched_data *data) + struct mptcp_sched_data *data) { - data->sock =3D msk->first; - data->call_again =3D 0; + mptcp_subflow_set_scheduled(data->contexts[0], true); } =20 SEC(".struct_ops") --=20 2.34.1 From nobody Thu Sep 18 06:42:59 2025 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a05:6a06:10a:b0:4d9:b80d:fb98 with SMTP id h10csp8664pio; Wed, 1 Jun 2022 07:09:28 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzd0tbHhFQsuATvbP0IXRpUOmmp8VCjg7tGeL25CTW/FD0FArNMK9qD4NWedRZIOeBxeCTC X-Received: by 2002:a05:6870:4799:b0:f1:46f8:6ea4 with SMTP id c25-20020a056870479900b000f146f86ea4mr16437960oaq.223.1654092567994; Wed, 01 Jun 2022 07:09:27 -0700 (PDT) Return-Path: Received: from da.mirrors.kernel.org (da.mirrors.kernel.org. [139.178.84.19]) by mx.google.com with ESMTPS id bd10-20020a056808220a00b003251b8ba893si2738025oib.142.2022.06.01.07.09.27 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 01 Jun 2022 07:09:27 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-5522-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.84.19 as permitted sender) client-ip=139.178.84.19; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=mimecast20200619 header.b=VZPACfnG; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-5522-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.84.19 as permitted sender) smtp.mailfrom="mptcp+bounces-5522-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by da.mirrors.kernel.org (Postfix) with ESMTPS id B4C5E2E09CA for ; Wed, 1 Jun 2022 14:09:27 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 730682573; Wed, 1 Jun 2022 14:09:26 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.109.102]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BD498256F for ; Wed, 1 Jun 2022 14:09:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1654092563; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=58WBS+HBnxE6l/SctnekWuFU/3nS2PtBjy+z6uzcPf8=; b=VZPACfnGJE7LwRuRp2mH8pVRdj/GEBS5I/Abb8UUg6Jsvp54FESOGghOKpkjkG/0Qq2uq7 JXroyEKOzt7lMXh8f/CK7o8eg/r0I8AEhZGcKVu/KKG0yQlGK4vSdir0/S4Qxj91DnXoyN 4wfiB3dywe8qIlt1/Gn9IG2Vbr7i068= Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01lp2054.outbound.protection.outlook.com [104.47.0.54]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-43-kXFq9LOMNjSguHUlCu-nDA-1; Wed, 01 Jun 2022 16:09:22 +0200 X-MC-Unique: kXFq9LOMNjSguHUlCu-nDA-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ASU1JTYnc98QGQYA3GgI6NDxGXCHJpPuC9ywfi6yv8MZvyXlLMOjvI0/GwlHp0/8SyN79077Nm7pOJkmiI23BSe6HMZzhCwkIlGtdEBRT6JsnZZ2mKxtmflRiOkYff3t9Zti4pgiRyrixn4/1W2EnJmtho5BSixWKBzT/qZ8JicN0nrwdDt5nIL5qf00Fn7fDd1kr1GCxgw8xR3zD6cV72aHYrKtJBBXlawln8HdSH2fZrPl+EMXS3b7MmHn/CpSSIApXXPngxcACEobjgtQJmxZ6pMMyhJV7x4F3j+8h1zXtGVwBfEab39UNVkLUCrLC4aH2jY7vE3jFtotT/PHvg== 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=ijzT0lpNpuoNGZANhRHgkAx3g+9T2m9yp3NXix5KUnU=; b=WdS1VfT/MUW6o3aCj/mvYA/cD5dDHTJ4QOIv6Eh1gaXG8Vnk+Z+UXfGw1/CLCCaVehRoMSTIDKNCdFO0NBFV4dxkScpuhpBfJ72y60wUZZUlnmCmsX8azHAVQdDsl+tM5noofu2FSp5vSVogx+UK119oLjZ+1cfCYRSL0+n2a7qF7zKyEnJlCnDONXt0d9D+cGXAwYBGTrZkX2IHL9prvvbMtaeUKfcxonPWWzVk5hODYwQZTgiJTbNavIOBac/ZCeKTUMyxuSbHiviDSkRqxTdHwXmZJNAS2zK06PUaV/LYsuAec3J3MSD6ZxzWKym5KvH1jfVfJJZWijrV9BUTQg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DB6PR0402MB2935.eurprd04.prod.outlook.com (2603:10a6:4:9d::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.19; Wed, 1 Jun 2022 14:09:21 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe%5]) with mapi id 15.20.5314.013; Wed, 1 Jun 2022 14:09:21 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next v6 07/11] Squash to "selftests/bpf: add bpf_first test" Date: Wed, 1 Jun 2022 22:08:20 +0800 Message-ID: <8c536f1ee5afbe64ee95737d8b7e214647d2ec57.1654092153.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2PR02CA0195.apcprd02.prod.outlook.com (2603:1096:201:21::31) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: fe741803-3011-4cc5-0c2c-08da43d852cf X-MS-TrafficTypeDiagnostic: DB6PR0402MB2935:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: /OEM8Qi2gN1zBOG0dwwrQApPBQbiafRCeDC2mpngtDd+YEG2wJMzAlNWv+j2GR/4QwMAQkAuIbQan5td/7DgcDwB99tDP/FiMUACEKJO3vFk5kEg3ZpayVFzsUtW1E1nyc8j+WU106KV5WXqLnksrf5/GxuExlfWhPHsNQjx8sxhqJzwKyPeWKDOdUeOPHpOT1VPPB2mTIzQz77e44aLKLgBK0wFb/UauTo20ayOjKJCfqvjuRpm2Tzpx47rsX6/PXnub3vVKKt4mg7/oHgEQCStgI7esp2eR89bYjy7EO3uXZLW4CC3h+4s+KoQfBqG5j+EuoKt9ZjR7v4h2UTn0hfZ++77zjkcHT3dCV8KAKwijQLdAD7b+5CWooXj8QknZW4zCkBPqkhSvstRvovjQmkDkliMbTa/0nBR412V5cxzl15WBnXDbidBhzuyaw/7NMaNNNYrDkEopz93hpn1SDphSGBvH6eLVxEufg07V21gLbwnJjsBAfADkWZXTE0aCVOqrchERKgqh0z+kTV24cOTfbYadfhFe+XCDwTyiGCY3L6/DrvzUe7kTHT8gERRwk4qiv7OeQLP3Qhpl28GpWVp87hR8kZ+rNqokCuXpgiZiKyglDShrs/AGvFYfN8iGa6S514qNAklj3UEVLVny1seRuGLsMmudHkY7/FvwYTOnAVE4wq5LPN3e+EIa20w X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(44832011)(6916009)(6506007)(5660300002)(83380400001)(38100700002)(316002)(6486002)(4326008)(66476007)(66946007)(66556008)(2906002)(107886003)(8936002)(2616005)(26005)(6512007)(36756003)(86362001)(508600001)(8676002)(186003)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?cUJTFmTqVdfJehDPd/PVeGhlx2OvTAFT88wgzywGx11GeMeYFM7bK9CUDMg4?= =?us-ascii?Q?3ObtEL+hlNIPhLoNRzmkrNSLWMg37FEEZ8MlMao5h/M4RImtuf8jC9QDxVVd?= =?us-ascii?Q?i2sm9Alrs1Bt86cCYMpfdmw76Pw8JrVqdWFqiiLa0rRE+M3mwUmjPFHcDzMq?= =?us-ascii?Q?0O8XPmWPyJeQJoe57bXlsZ/7vohFWsgO2YzwVJnRctRAmS8cD+hv7Ls34tXO?= =?us-ascii?Q?r46nggX6PIG9rCyma2RTN8l7IkBNgrAlgvS/QO4ldqVMNG8D2BaJ2xfzPXmO?= =?us-ascii?Q?B16flvvCQZnDlFXhAmBsFNyaQvodjJ2SG7vkoZAQpKMb7UZf6TOCAH58aWFD?= =?us-ascii?Q?PbQw3KdENrSjNJfvrYFawIxgOQRLgipa7yq+WHMIXtwTntga2Q+nhKuArMyt?= =?us-ascii?Q?DiFMFCdvNZ/6K9UNnQUEzmLTP0Cf5thF4gGtXqfNG7HQv4P0JXV1cEP9mn4J?= =?us-ascii?Q?f/Fm+oVXDbFX1RugAiW968QyhlElbsKb88HdRNB/1lcXQqNazX2bE9sBsLI3?= =?us-ascii?Q?nmTnOVSinb6ulmoObJLd75D5/xJl+0akNdbejrBhiRdwuu1k9v6tr62FYlOW?= =?us-ascii?Q?WoVNkZgo28w0JR6FixkIQpmkpU4M7RY/CLr7QKQIjNgTx5EiGoZ5SSli3+Sj?= =?us-ascii?Q?aYO73l1YekqQntPrEQ4/sZEc54chUY+w+ghwFjdq9735JDvLpNcvJ3eDVOWb?= =?us-ascii?Q?f2tx4JkhjtfV+ExG6GGL0yZoIGD1/dBf8/XgQYcHBwkwQmMMd2ERpnSfbocC?= =?us-ascii?Q?F2Bw+nLLJctXYvCxNl4761uB06wPzaWoEw/ImrWfmszunvjyFxcyzT9YCfXy?= =?us-ascii?Q?S1N2PxNq8pjclpqS8SNF5PwwoiL/2xmz+OA9Yj8DLGak7x2fe7SgzzG8qFdo?= =?us-ascii?Q?vSi0Tq2j+OtWO/azq4iTM8sBJ9I4vgZ84psgJPnHZO3ioaqPfZDsiFHKT8xF?= =?us-ascii?Q?coe+tcbqKWdPwY28BljsTItII2/x+9Yo3+PHtCcqOeuEEhSxCve+LCEIWzT4?= =?us-ascii?Q?Gwdj8QTZh8LAj3ltMDSheeZ5TPbDeiSU3TNh/4hi3jfY7WGq+ltdF7C4orXb?= =?us-ascii?Q?FtpRWTayJGizz1W95jSb5XH1NoJPeyD6RXraUSDql18vUWVCyFaYUrkvvdni?= =?us-ascii?Q?XObodNDaQVk3Q0ZfjNHU1oyZ7dXdQB5C6cVBbWSntgVCLSVNIfNEOUAmxWQx?= =?us-ascii?Q?yFA/jvwtxnkNN2+rpJzov16EjZCx1MWbp3ZVFADHTAFWfJMXQ2dRLo9xgHle?= =?us-ascii?Q?gbxwNLCmdg+4jlIBfVD75KPXuxq4Po9WyQiUZOL6agX0Y8zmicEcIDtECQ2G?= =?us-ascii?Q?TMTH0WL7ks3lgUbdceYf7pKQQD0OJ1sAO0FjlKhh+j5pVTh+29VwgdZ5E3Dl?= =?us-ascii?Q?6du1odfZZfWbN7LAzFPfVM0kzSXGpVJpNMTyiwV0GE7h2gJF4ySYYdUiI+cU?= =?us-ascii?Q?G/3CEUzXuVGDLUHsMq2z+riFxcpb8KbIzksyLCa+OAVo6airaBgshmyt2zAv?= =?us-ascii?Q?ybAcpI2H8PJzBb9XMq54HtDpXjNgxqFsf6PyHhNFosVcRTXR6+XXCCT+4X5N?= =?us-ascii?Q?Ai5VU+oKYmTCu3kpPvmbA/wQZF/sXIcLcUP+GqoCmJzKousOs+MsixNPX/0Y?= =?us-ascii?Q?D1J64YVWSEuNfZn6w0CiRFNiiUZirn0oC1BOgu1NFjFAWjdK9dJerKOkVBvd?= =?us-ascii?Q?qzU9jPSdeBf8XX3EGxkCoJ7HE6hHN4/2YUadN82C52GBG3kak9ypIvDfokD9?= =?us-ascii?Q?jfBccnG0XRdp+mIcC570dykfJcCuV4U=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: fe741803-3011-4cc5-0c2c-08da43d852cf X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jun 2022 14:09:21.0456 (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: 9fnzguOxqtb+00IBvH0kXuRWTA8mh5ou4k8Aq0eUj2ir/NahoUt8bFTKBChSH4lY4fLGrGqaSZQtP70IB4MGng== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0402MB2935 Content-Type: text/plain; charset="utf-8" Add two helpers, add_veth() and cleanup(). Please update the commit log: ''' This patch expends the MPTCP test base to support MPTCP packet scheduler tests. Add the bpf_first scheduler test in it. Use sysctl to set net.mptcp.scheduler to use this sched. The new helper add_veth() adds a veth net device to simulate the multiple addresses case. Use 'ip mptcp endpoint' command to add this new endpoint to PM netlink. Some code in send_data() is from prog_tests/bpf_tcp_ca.c. Check bytes_sent of 'ss' output after send_data() to make sure no data has been sent on the new veth net device. All data has been sent on the first subflow. Invoke the new helper cleanup() to set back net.mptcp.scheduler to default, flush all mptcp endpoints, and delete the veth net device. ''' Signed-off-by: Geliang Tang --- .../testing/selftests/bpf/prog_tests/mptcp.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing= /selftests/bpf/prog_tests/mptcp.c index 8e9764275b07..eaea4105728d 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -250,6 +250,20 @@ static void send_data(int lfd, int fd) PTR_ERR(thread_ret)); } =20 +static void add_veth(void) +{ + system("ip link add veth1 type veth"); + system("ip addr add 10.0.1.1/24 dev veth1"); + system("ip link set veth1 up"); +} + +static void cleanup(void) +{ + system("sysctl -qw net.mptcp.scheduler=3Ddefault"); + system("ip mptcp endpoint flush"); + system("ip link del veth1"); +} + static void test_first(void) { struct mptcp_bpf_first *first_skel; @@ -266,15 +280,18 @@ static void test_first(void) return; } =20 + add_veth(); + system("ip mptcp endpoint add 10.0.1.1 subflow"); system("sysctl -qw net.mptcp.scheduler=3Dbpf_first"); server_fd =3D start_mptcp_server(AF_INET, NULL, 0, 0); client_fd =3D connect_to_fd(server_fd, 0); =20 send_data(server_fd, client_fd); + ASSERT_GT(system("ss -MOenita | grep '10.0.1.1' | grep 'bytes_sent:'"), 0= , "ss"); =20 close(client_fd); close(server_fd); - system("sysctl -qw net.mptcp.scheduler=3Ddefault"); + cleanup(); bpf_link__destroy(link); mptcp_bpf_first__destroy(first_skel); } --=20 2.34.1 From nobody Thu Sep 18 06:42:59 2025 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a05:6a06:10a:b0:4d9:b80d:fb98 with SMTP id h10csp8742pio; Wed, 1 Jun 2022 07:09:36 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy9h39Oj7+iW5jmrafNrWrO11lTFveToSgRbcsteAx6A9XKJcIQ4ZzXguvrg5oSCmbROHiL X-Received: by 2002:a17:903:1210:b0:15e:8373:d4b8 with SMTP id l16-20020a170903121000b0015e8373d4b8mr66739826plh.11.1654092575967; Wed, 01 Jun 2022 07:09:35 -0700 (PDT) Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [139.178.88.99]) by mx.google.com with ESMTPS id h18-20020a170902f55200b00158f88c5316si2587128plf.373.2022.06.01.07.09.35 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 01 Jun 2022 07:09:35 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-5523-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.88.99 as permitted sender) client-ip=139.178.88.99; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=mimecast20200619 header.b=SCN5bhQM; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-5523-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.88.99 as permitted sender) smtp.mailfrom="mptcp+bounces-5523-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id A0D84280A7C for ; Wed, 1 Jun 2022 14:09:35 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id BD88B2573; Wed, 1 Jun 2022 14:09:34 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.111.102]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 704A7256F for ; Wed, 1 Jun 2022 14:09:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1654092570; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=xPa7R9ACLdeZPMrYSusDTUnuEbInXERfYDRR89v1Y9g=; b=SCN5bhQMNIu51XqGMZlFL41Wq80a9Mzc95fPhVQVZP7vn0zSyq5IP8PqtsapenNtwcQSrR F/MqhxtdpwgYSKVZ2ATFDbsZymEp8ahmoM4CARU1/n36OMEyupiojlIjLoteAdtVp6oSkP AOldskq/33ub5yXhx+DQDkXl47BOYVU= Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04lp2054.outbound.protection.outlook.com [104.47.12.54]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-4-vifR_mLTMFa_0Sd1m34Y8w-1; Wed, 01 Jun 2022 16:09:29 +0200 X-MC-Unique: vifR_mLTMFa_0Sd1m34Y8w-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=J/0YMTj1f/2UAtI3A1EX/nb/mKkaBINbQkRCD7njqsFQxyWeCWye/+XB1y9sflQLOqujCYpF+ZIUy1bVH9NhoSbXYQkMZkdfnMJnZqAt4cqX1nKyLwkRTB+yIH1LPBktFgjIx0buYZdffS7MVWTBAYSHvMn8yfS7oaNcyfVsDSs7jTQd6lg1TeNNDMSJsD/PLcwYlD4gF7/nIRF0R+S/R6rQ2dcPOQRhQCdlxBKVYWkfjVEpnIOH4VTMwkwzY2UFGtNcVDlaMvdfL3LHJQRkaGog7yExVeaYOOEfuM6OhBMncHk2sCzyIqQxMAbxIGs4Oif+foxI8QuPJa3EoydKOA== 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=sl8vfqCehhAPzSxn1YtSVY8VkOLHykHTcsdloumIXrM=; b=OgLm2UwTIpSuVfY2mg7H0rEHXFrqiUdxdNPxuzo9RT7sD9Vgjx7tk8bLiROzhqvEqxL1sQ1j8kYOgEfqQ3g8SUOl5cxoYdaSivW6pXs6pqKAfqebm1NqshH4EBDCyp0e+XXw24zk8gg8mdROeS0cbFPXtVuKP1zH+tz4Cq4OYmVJGQ4W61cFON+QOpdMfvSrkljrlQW6NJofSpNSxL/EJddc4oGY6AyY38jnUIA+CIno5xQx8MeFiXy77mcz94Ghw8/xAvA7kj29xQHYw7JY8zSKt170radHjq5N59YZ7q1KXAyz/+Q9M2A0goH31uRrVnxH+fhLIE2OY+6bxHRqiQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DB6PR0402MB2935.eurprd04.prod.outlook.com (2603:10a6:4:9d::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.19; Wed, 1 Jun 2022 14:09:28 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe%5]) with mapi id 15.20.5314.013; Wed, 1 Jun 2022 14:09:28 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next v6 08/11] selftests/bpf: add bpf_bkup scheduler Date: Wed, 1 Jun 2022 22:08:21 +0800 Message-ID: <1bbc1cbf69af658c86e65ce332c93d47541ca034.1654092153.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2PR0302CA0011.apcprd03.prod.outlook.com (2603:1096:202::21) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 688d4929-e5bd-40e6-9a0c-08da43d85742 X-MS-TrafficTypeDiagnostic: DB6PR0402MB2935:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: aLWIajM43Vdmt4nKC8eEsK3JMY1nKr5mOQCjc9tNWKIziuhXwcv//tGZTTzKFC7Zfei2yr/2rIaL3QcJpoGgQIbgCOZcXxfpIv8VIIQNfn5BceOIPadXHXBSoDqnJrFk+1ioptaLbB/8206Fu/W3rWk+fVRYR3Af4yKsviuuwEgm+eajw797GBuAZDxDVKM7Re5rLm+UIZ5wIRmNDMHyAiq3QCSjUCoVExLl6vpbzpWSwG/5o3eWtXmcnR4qA/jEinO/SrI8T+H9RD7DtQMBDyZJS1d1awgyiwKeEk9Zjusljhf8KakgdLHKCHDiXxsIItYd4bMJm7gNkLdbMuNIyB8n1xCUPNMDNVKfitQXFhRoAuY609cthqmeD9YPmIW/U3nk1FaF63ZgzHQbPj6FxGqPgoi7G6Mqvj+TdnHWvna1FqgNDoiyld7Z+aRl681Bt/h0Qwh9Avng/68p89dXZEgGly4SgGoeu8qnGO1GWSGb7HkZmwvREtBZPCmQoWPgEsgByBffgWKpi8l9M7/abHT+psTe42meUFwJw9GmbHm4DmoAdEKYY0cMxtgutwJ/4yMkh9drWqXAd8ksZOm/6BnHg9+2F4OxmH3jCcoNTJbngC+kT5QL2tmMwsOGBSKcZJIjpI2ZSkmdG+O7ArWxBOCXLDyNPgGCClHh6/Tn40GRSXXl1TRY5bmeaMr/L+OvJwYv2YEOFldD4OZWRLT0ZA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(44832011)(6916009)(6506007)(6666004)(5660300002)(83380400001)(38100700002)(316002)(6486002)(4326008)(66476007)(66946007)(66556008)(2906002)(107886003)(8936002)(2616005)(26005)(6512007)(36756003)(86362001)(508600001)(8676002)(186003)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?xhx5i09y0p+tkPlJyBjm9usIrkV7ZTvQ+2yJZ+rP9nPKwaRxlqkLZbzoAqrm?= =?us-ascii?Q?MgBW8gvt6WMmmkz979+6OhU+WTFNd1qKX7oq+d00J3+s7D69eNvZd6oJZPBe?= =?us-ascii?Q?85tDcbBSSBGqwNqq5mbwrAhwB1QY0s8wVql9MA2xdyPHyMXoYferl+v5R4WZ?= =?us-ascii?Q?tcnwuKFazoVfjqkn+4QgTkf8ESzKhdLyEJISwO73tajH16n7Rk0AockUvl6n?= =?us-ascii?Q?6IphQDPfFmBfOmvQxCBvgFtVZLyi/ad6wel+FhPMwxmYdaTZQpn/dIK+rcxZ?= =?us-ascii?Q?gvTxjMnBJxHZu0Hy0raiJrQ0CJwLNZnq2l8KnpAp+qs7NnAw3vAniI9XU6mE?= =?us-ascii?Q?APn/kmjwCyPPvNWiDat3NEn1eGfIAgKd9v/vQxkEicpZ/1zI32xjE2Qzeq10?= =?us-ascii?Q?Tw5Mr+17qIkj/S6LpJpjcKHv8JFOCj7VDF98a6huGVGYRyeJ8sQKlLqHeNwK?= =?us-ascii?Q?AtKomfP5gVdE6kiNgveLQfrs/Sx+Sis2hl7Boi616HGGPcM3YEPrRjKOxLK1?= =?us-ascii?Q?uizI335nAXU5zk4I3A/uShZib4crvInAgw0UQq2t6ke7P+NLeg+dtboBZhAl?= =?us-ascii?Q?LSroGCTfo7EvyzSqiya4g8Ih3f8BqFyimFiWS2gfuD4aWOBvCO7VOGSE44/+?= =?us-ascii?Q?9ZaqKbV3DOmOqh6lBr4sKYbJNwS8KUh8bObxkuWWhtBvqLsSj/BqAtoaKfzv?= =?us-ascii?Q?VIB2tH4K4hGxjuLiDWnikEloHqrKywlfnJrjSfB79673vGmIvFmViTkO8552?= =?us-ascii?Q?Qfst7GeHtE/ERy3nUlB3lqjQaK5154W5ltjxaKWyDPutLie9YPuUyiiDyuAt?= =?us-ascii?Q?Nr7CCLLX0xcbOAKsG2GHMGcOPT/uCeMcdbmFlNoxi/u8rWu0gsIXQBdkyAXh?= =?us-ascii?Q?BanKgB0Yj6mhsE+yGtTtOtwl0PxF2oQQzypGGbbVR5GSC2Lqt4ucirjuMsyc?= =?us-ascii?Q?VQK9zTFfC1GWK1A/17d60eOMFKLZlMXPVenvOhdYuoFAdAHmcjbTWFS2fHD4?= =?us-ascii?Q?idVMvxRr72EmuCm1rHU1lWeADvUfmjPjUX7zQMCHzp0pWVG+TvCDRJnjJlMx?= =?us-ascii?Q?/ds3ehvLzJo8/Q1bIiymPZ6+dw2I+IwYfR60CUxNdTN+K5CdPlZbXFTsYWx2?= =?us-ascii?Q?JyB7Q9XeHoLq/OZbH0k8jN1OpCSz2KMkPHgvLwzeU4+4pBWkEfyXG4mMiCIP?= =?us-ascii?Q?C9BqVq7SkuSMwapwb8Jf47bOq3y7pWWrmWQ+ZJrtL5VWnDmGlmCNn9odUICk?= =?us-ascii?Q?QmAzuwGiPhAd7hNJLwXjEZW9UxLklCnhfzdANood7+yIDOLOKhchDdJjBWzn?= =?us-ascii?Q?Q7nrfTt0Z00OE9cKnT7OfOLuNJaP+KP5eVHVLtUOOKpwLCAzUoV5fUUwQYhj?= =?us-ascii?Q?L41/WuFOX0Vo3TUcEwtlV988XioIaW2wTqmPhip3LPklXQivHeLYz4fZTdha?= =?us-ascii?Q?x7u0Za9J2Z5OmtWNZByPQiQ396ch/UPJ70+j32UB1SprHzmTdmZRJ7xLYZXd?= =?us-ascii?Q?Et0/eaYBrQbXAsliQcI7uKPV9dtKDtB5iSxzhAv3Fwb+FuT5TeAa6S0p5lUs?= =?us-ascii?Q?or1/REjan1PJ7aZaN/Moy+DC3Ido7vg5KSSeLk9c/YVEYKm3tBx+C2k+8n6U?= =?us-ascii?Q?ccxLRd2ebUcvqzvB6zKJOb9fYpTgU6R1pVG7/XRoF6Ch1w4flLjmjkDO5o97?= =?us-ascii?Q?Oy3RJYUauthlb0qu2YbJFl5XQYWOoGxG9gAr+B3ixLTSjXhtusW7jP2rjPi3?= =?us-ascii?Q?Yo0e6YpuiUxWiX+2UStyvDSH4VaJYO0=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 688d4929-e5bd-40e6-9a0c-08da43d85742 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jun 2022 14:09:28.8106 (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: 1fvweZpveik4Mw42LQpDht6Lsc9YkIFdsNUya3zV3Yt9QO4QbxqES6Wi+uWUdcJTnJzmnc0c3X5uVDynw7wmWg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0402MB2935 Content-Type: text/plain; charset="utf-8" This patch implements the backup flag test scheduler, named bpf_bkup, which picks the first non-backup subflow to send data. Signed-off-by: Geliang Tang --- tools/testing/selftests/bpf/bpf_tcp_helpers.h | 1 + .../selftests/bpf/progs/mptcp_bpf_bkup.c | 43 +++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 tools/testing/selftests/bpf/progs/mptcp_bpf_bkup.c diff --git a/tools/testing/selftests/bpf/bpf_tcp_helpers.h b/tools/testing/= selftests/bpf/bpf_tcp_helpers.h index 5e301e830a0a..3d4b906435bc 100644 --- a/tools/testing/selftests/bpf/bpf_tcp_helpers.h +++ b/tools/testing/selftests/bpf/bpf_tcp_helpers.h @@ -234,6 +234,7 @@ extern void tcp_cong_avoid_ai(struct tcp_sock *tp, __u3= 2 w, __u32 acked) __ksym; #define MPTCP_SUBFLOWS_MAX 8 =20 struct mptcp_subflow_context { + __u32 backup : 1; struct sock *tcp_sock; /* tcp sk backpointer */ } __attribute__((preserve_access_index)); =20 diff --git a/tools/testing/selftests/bpf/progs/mptcp_bpf_bkup.c b/tools/tes= ting/selftests/bpf/progs/mptcp_bpf_bkup.c new file mode 100644 index 000000000000..949e053e980c --- /dev/null +++ b/tools/testing/selftests/bpf/progs/mptcp_bpf_bkup.c @@ -0,0 +1,43 @@ +// SPDX-License-Identifier: GPL-2.0 +/* Copyright (c) 2022, SUSE. */ + +#include +#include "bpf_tcp_helpers.h" + +char _license[] SEC("license") =3D "GPL"; + +SEC("struct_ops/mptcp_sched_bkup_init") +void BPF_PROG(mptcp_sched_bkup_init, const struct mptcp_sock *msk) +{ +} + +SEC("struct_ops/mptcp_sched_bkup_release") +void BPF_PROG(mptcp_sched_bkup_release, const struct mptcp_sock *msk) +{ +} + +void BPF_STRUCT_OPS(bpf_bkup_get_subflow, const struct mptcp_sock *msk, + struct mptcp_sched_data *data) +{ + int nr =3D 0; + + for (int i =3D 0; i < MPTCP_SUBFLOWS_MAX; i++) { + if (!data->contexts[i]) + break; + + if (!BPF_CORE_READ_BITFIELD_PROBED(data->contexts[i], backup)) { + nr =3D i; + break; + } + } + + mptcp_subflow_set_scheduled(data->contexts[nr], true); +} + +SEC(".struct_ops") +struct mptcp_sched_ops bkup =3D { + .init =3D (void *)mptcp_sched_bkup_init, + .release =3D (void *)mptcp_sched_bkup_release, + .get_subflow =3D (void *)bpf_bkup_get_subflow, + .name =3D "bpf_bkup", +}; --=20 2.34.1 From nobody Thu Sep 18 06:42:59 2025 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a05:6a06:10a:b0:4d9:b80d:fb98 with SMTP id h10csp9111pio; Wed, 1 Jun 2022 07:10:13 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxljhGZ685CtNVHlx+6iwwKu7RSr9ZG29W5BBCAKm6GQG5yCUOXnvijuMvpwnjuwiTfZruj X-Received: by 2002:a05:6808:1246:b0:2c9:efa5:7209 with SMTP id o6-20020a056808124600b002c9efa57209mr15614455oiv.62.1654092613340; Wed, 01 Jun 2022 07:10:13 -0700 (PDT) Return-Path: Received: from da.mirrors.kernel.org (da.mirrors.kernel.org. [139.178.84.19]) by mx.google.com with ESMTPS id p4-20020acad804000000b00326ddb0bd96si2029669oig.259.2022.06.01.07.10.13 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 01 Jun 2022 07:10:13 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-5524-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.84.19 as permitted sender) client-ip=139.178.84.19; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=mimecast20200619 header.b=fBcBAKX6; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-5524-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.84.19 as permitted sender) smtp.mailfrom="mptcp+bounces-5524-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by da.mirrors.kernel.org (Postfix) with ESMTPS id 215BB2E0A0A for ; Wed, 1 Jun 2022 14:09:43 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id B5B2C2573; Wed, 1 Jun 2022 14:09:41 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.109.102]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 298C5256F for ; Wed, 1 Jun 2022 14:09:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1654092578; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=FpG6ENw/8D3PwJ90m30Sg3WYwAOt5cFlzsOTeYTz8Ck=; b=fBcBAKX6Q959qDerZBA2eq5rcHz72dldh2JPx5/2Y2i7oiQC+fByRGWpJ2PY047eykL/PY kpfOqFJf9PtswxdmCK0XqjNbckQA+ObnJQlGwEdhSGy4tGkTqaB4OlzJZzeNKhwsWVwL5o IDYGEFaO9TojHbvNvQVLhAz5uybIQq8= Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01lp2054.outbound.protection.outlook.com [104.47.0.54]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-9-yoSEDgoxNjOMyrbMfDJ2CA-1; Wed, 01 Jun 2022 16:09:37 +0200 X-MC-Unique: yoSEDgoxNjOMyrbMfDJ2CA-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JlVKUdgMdUO9PfNpAGigipcpQhmwa2lSXyz6Pia4SIYrwxfdUygc0ItPl5WvOyDVHKlSrSIRYBAioyFmHXDFa8M+TaYH8jhTRLIPFmWsohzERU7cBnp1PjCw0tIiNF3vk45YynpfZiMqw8hnvPsKFWyRIhVlx8DsDhKmVnOXlmBuC0d3YiibTfZi9qtfGJqv8QjeXdXDIOXmFgz6NLLaMNBgbuozYsCROUd0OIjRrK8I3+qT/V/oPkd5i6+lwd0S14GpA7Gdj9jALRL6/HvpQ5yWFU2xEM8gIkYrCebTHD1g3u6B6E5+aYWFfErqPjGoq0RcSbeKEUL6YSWsQ4hD3g== 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=3GcfFui1g5oBNt3wRa0fwp161zlANUD9TuVQAshuDjk=; b=WqCsKHJOHMLsiQ6z7oh8qgml7cL1hKb0k9MDJ1u8jB3Yu3kIkHdvODTCM0iBAQD5SzwvcdhDN6tUiPioYDBoBM228CFXhj128T9s2+35Ech76eujxpNaLnuLb4eP1brm1begmvIU/XQre8U9nHn3w2OV3CpRPyYKiyz0iApsanfNze4wOd0uonn/QDlVdqJQIYmWT75tAG+lobOQTEfJwb4395DpA8dhprIIqDB2wYgvXwlvc8nrRAZcVdEz7Z21s5qQejmdkQAFehv5XzRqEIXGYx0yKgvwyC7ccaypO2TZgpUMgu7UOrqN/sAHuXqb7P2csqMVb4F78IUJDswHsw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DB6PR0402MB2935.eurprd04.prod.outlook.com (2603:10a6:4:9d::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.19; Wed, 1 Jun 2022 14:09:36 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe%5]) with mapi id 15.20.5314.013; Wed, 1 Jun 2022 14:09:36 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next v6 09/11] selftests/bpf: add bpf_bkup test Date: Wed, 1 Jun 2022 22:08:22 +0800 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2PR0302CA0018.apcprd03.prod.outlook.com (2603:1096:202::28) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: fbc9b032-509c-46bd-3863-08da43d85be8 X-MS-TrafficTypeDiagnostic: DB6PR0402MB2935:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: tZMTQoIF2dwcdDK8yDID79cjDx0JJKb0YUrRCazfdrwGxnb2W4cuMSEF1dFeMtpph2l2RiN2J5l6NPB4oFhjXqaCI4GDn7Eh3nn/LHtx9MlFuP/qjO0aoqLuXOzin6En+zvIBqlvOyNwBiFnsCwErjyX9J0J/XQ3JE7Bv/t+rpxy8KNacmSa/qjZbQLKeWGyHbJZtjQric+jiF86lXX6ckySD1rnw1oF3vGO6k7/xfTYDRJSpuaqnEuo5siwvhfZBDNz7BaQtPKaAhpr9CD+oI0QmdNizpI/m5FqVd2ujq46Hn3qkKa4+cDQkPNiiWBDb27W8o4XeEYX8jiKWF+sZlZ5JQy/g3ihsue+kMAeh3u0mA67irUE+TFb89PulEJDDfzynx1vw0Cj9TlQC/n7bfFyKNmSZHOF2hmreNhkeKE6y7dGJ9rt/nzYgiJIJ9AoAqv6mwk0fzBn9wz9POp6CGIpxQPPkhaaJmzZqfv3EmqJ0t+gRE+322PizaPrUH/OJZySylS+Cl5+Q3cF1077IbBqhWgrd4unxKyvKiKZ6oMhADKv1AR92ncKoB42wvWkL8M36dTWgM4+jjmZgFDVoSwUlSvxCsEKWwXQY9LuHVW8NZrsjloDLjYrhkYINT3Un1D9lgY5VFzhGCMgZ/e0isNoUhRoi0swuBQmiWQgHuxhPn7+knlVTbCVgALZKfla X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(44832011)(6916009)(6506007)(6666004)(5660300002)(83380400001)(38100700002)(316002)(6486002)(4326008)(66476007)(66946007)(66556008)(2906002)(107886003)(8936002)(2616005)(26005)(6512007)(36756003)(86362001)(508600001)(8676002)(186003)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?3nDMn3FpEJA1FnjKQvpG8ZV3TIyhrwNfCLGDWc9OdFcYrC5LpQZkPfkUEWnb?= =?us-ascii?Q?vpE3vCloBvGsubeNsYvta1vyg9sRZZ/54FLpR5HEVDD77lYb8Yu9JVeKxv5z?= =?us-ascii?Q?/CWvLA1extpiPO1YLlW1v7DZEg3dS4S/g9AawLBsxwBDMl+W2jJZgCzv8pWU?= =?us-ascii?Q?jERd5bXwFv/HOz3F+EPbGFNNTHdVZn3+KLPyUsNseF5XuWCorn0KyotNboKz?= =?us-ascii?Q?SX5dBf6dow7NNt6g0nqS9ljyyCfZnnQiaCfmTpXQE91JN0n4SbebRkEvLcp3?= =?us-ascii?Q?1F96wb1lVg9g8PozQM2u/QQipTVXT6EGEt6NzTRmmfFWK9XEaW+pRywY+oXg?= =?us-ascii?Q?0ly2AxI0Hig+6inHxWeluYCTknc4GJcemDrZKDLKVMazlTk5U6mU3YlGYRjS?= =?us-ascii?Q?NeZ7Upf6IR14y9pJ1IUGD+alTNR7tMRySh+lfptURvPPqvbitwkM8PTf3psg?= =?us-ascii?Q?97hG5kREz0INBLXG0dJAMVexDPBRM2tbFsYhS7692RJFB2i1hCiKKOb78E1a?= =?us-ascii?Q?r9OuNdljXUp+MSU9IX0SFBtB7Peqt/0yNj5uw5CVc0Eq7snuJE3+x0SmlAqL?= =?us-ascii?Q?PqWUWegWtk4adkB8IXL0JdF9aESh7AGt7NE3ATPlLbidaetIvvxHXpYXEh81?= =?us-ascii?Q?2se8ks4z+coyRUQrc8MxmtBU9kvMaEE+KVGDRjoMQUK3h/42NFeEiU9pj6LP?= =?us-ascii?Q?Dmql9NV8BlbfK7PFQdahdNHPyXQl+xoKF26uG9lKZTOuyPs9yGpERbWBNIXZ?= =?us-ascii?Q?3ybCtzkl0q91DKjgHMrXj6UqzO3jQ9xk2qnLPvyGQ3fHbWVerJHalYuy+Q8u?= =?us-ascii?Q?Kos7LCZP6RtBkN9t7fwFW+KAeCQ0fIO5RLl4g0gGbTSM451fI7Psc4DEk6L1?= =?us-ascii?Q?82RnGx4o0whBwa1t99jK2gOo4lPq3svF5yH2FXPB8xaYgM+9XLr/ooHpQud2?= =?us-ascii?Q?n3XsDk9AeGDBKewJQiJxUuwFzFe6FdjL5aeu1w3iEokVnYLCbXB8VvDaZ9c1?= =?us-ascii?Q?/EywSj6UO9ZuX/mvyb9or0DNaEoOyFU9ZLEylER7zGzTreSN5AtKMsRHd8jI?= =?us-ascii?Q?wDXpNSnh3/3KxL8lixATTUu396X6mMLkOEF1o28cqyaPIx20ki1lE2Nwi+ma?= =?us-ascii?Q?KFXqJe6IM9TOsjlLKCLJ/n6ggNrJWsX/My0AdtHRi0eAbZcI+xyfH/YSU0em?= =?us-ascii?Q?fGtMujuOkqtnQ0hLps7n7X8tyhGdeEMfzoJSWyB5CFgztgL8ZYKhYEW+uwfm?= =?us-ascii?Q?dXR5Bsb0KnzRhJB89Shb+2q6LwF7w+LzuLTsCmfmWwcBAiozdO9zQd2umIjs?= =?us-ascii?Q?f5cKm5yEeoA9ahMq+W9vv3W9ZNqST96nFc3ClZa2i9d7A+m0LlbxYnI8oLhm?= =?us-ascii?Q?67GB1Ez7oWk8qqxnujeL0Sbvlmg0h/XxdnlbDmJZcSj+r1Sh/bjRskQ2EaJ2?= =?us-ascii?Q?5iL6YLq1+dMAfmLvNghf4DpGIKx5eXlcD1QG9jSFHtV5ZFagWv9vDIBk2EZR?= =?us-ascii?Q?cC9LwULe+wSb726nWWCK+h1sf8Tmw0FbxFe+VDCEh6XRl2xWP7lQ+NMgEE8W?= =?us-ascii?Q?jZSaiCAT+tztv5U78wMJGDiDP7bGR+SZ657vJhS9//S2GdysOmadSX/aCtOj?= =?us-ascii?Q?Qk5GowTVXqd/1qQhwwcqJN+Z47EZVJ1c6zF9y1Cjbdj8lfiBPwqQ65ANqamW?= =?us-ascii?Q?jgtzob4mSNYyuvcAnYFmtc/pDilVern6moJbWtL4E5ZxOfcCH0KtHpnpTMYh?= =?us-ascii?Q?lY0cCNwCMB8wEN+ToN37AszgMx/JnSE=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: fbc9b032-509c-46bd-3863-08da43d85be8 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jun 2022 14:09:36.3257 (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: otApuvfl4pfIx/ZlkVi5sy01e1K6lpJkzII5rWxCN1CAZL7qWoDb5iRDmwAlHSZkbijnFsZwn+gZ7sYuasA3sg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0402MB2935 Content-Type: text/plain; charset="utf-8" This patch adds the backup BPF MPTCP scheduler test. Use sysctl to set net.mptcp.scheduler to use this sched. Add a veth net device to simulate the multiple addresses case. Use 'ip mptcp endpoint' command to add this new endpoint to PM netlink with backup flag. Send data, check bytes_sent of 'ss' output, and do some cleanups. Signed-off-by: Geliang Tang --- .../testing/selftests/bpf/prog_tests/mptcp.c | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing= /selftests/bpf/prog_tests/mptcp.c index eaea4105728d..f3c73cd2c786 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -7,6 +7,7 @@ #include "network_helpers.h" #include "mptcp_sock.skel.h" #include "mptcp_bpf_first.skel.h" +#include "mptcp_bpf_bkup.skel.h" =20 #ifndef TCP_CA_NAME_MAX #define TCP_CA_NAME_MAX 16 @@ -296,10 +297,44 @@ static void test_first(void) mptcp_bpf_first__destroy(first_skel); } =20 +static void test_bkup(void) +{ + struct mptcp_bpf_bkup *bkup_skel; + int server_fd, client_fd; + struct bpf_link *link; + + bkup_skel =3D mptcp_bpf_bkup__open_and_load(); + if (!ASSERT_OK_PTR(bkup_skel, "bpf_bkup__open_and_load")) + return; + + link =3D bpf_map__attach_struct_ops(bkup_skel->maps.bkup); + if (!ASSERT_OK_PTR(link, "bpf_map__attach_struct_ops")) { + mptcp_bpf_bkup__destroy(bkup_skel); + return; + } + + add_veth(); + system("ip mptcp endpoint add 10.0.1.1 subflow backup"); + system("sysctl -qw net.mptcp.scheduler=3Dbpf_bkup"); + server_fd =3D start_mptcp_server(AF_INET, NULL, 0, 0); + client_fd =3D connect_to_fd(server_fd, 0); + + send_data(server_fd, client_fd); + ASSERT_GT(system("ss -MOenita | grep '10.0.1.1' | grep 'bytes_sent:'"), 0= , "ss"); + + close(client_fd); + close(server_fd); + cleanup(); + bpf_link__destroy(link); + mptcp_bpf_bkup__destroy(bkup_skel); +} + void test_mptcp(void) { if (test__start_subtest("base")) test_base(); if (test__start_subtest("first")) test_first(); + if (test__start_subtest("bkup")) + test_bkup(); } --=20 2.34.1 From nobody Thu Sep 18 06:42:59 2025 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a05:6a06:10a:b0:4d9:b80d:fb98 with SMTP id h10csp8890pio; Wed, 1 Jun 2022 07:09:51 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx/2gCt3B1RXqGgGLLRVzPMcdnnqQY79HpSX6f5Fbe0GZpDSO8tnDlgMKG/Utw0jCeIPbBE X-Received: by 2002:a05:6830:1247:b0:60b:2ba7:eaed with SMTP id s7-20020a056830124700b0060b2ba7eaedmr14733898otp.282.1654092591188; Wed, 01 Jun 2022 07:09:51 -0700 (PDT) Return-Path: Received: from da.mirrors.kernel.org (da.mirrors.kernel.org. [139.178.84.19]) by mx.google.com with ESMTPS id u11-20020a056808000b00b003262af2793esi1975335oic.17.2022.06.01.07.09.51 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 01 Jun 2022 07:09:51 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-5525-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.84.19 as permitted sender) client-ip=139.178.84.19; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=mimecast20200619 header.b=dqKl2qb8; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-5525-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.84.19 as permitted sender) smtp.mailfrom="mptcp+bounces-5525-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by da.mirrors.kernel.org (Postfix) with ESMTPS id EF3802E0A02 for ; Wed, 1 Jun 2022 14:09:50 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id D91292573; Wed, 1 Jun 2022 14:09:49 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.109.102]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0D341256F for ; Wed, 1 Jun 2022 14:09:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1654092586; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=GuNkc7nYCWrLqdl6oLEQJFiXo84YMMtK3uMqMyRchP4=; b=dqKl2qb8Vdd1EO2twriCZrTffgJje2ehWbvt/9CxvI0TziNUsxa8eQNkUdRY42DWG73Xle tuVd3Y2lmYFRsXDEQJ6puVpdEOTY75Vf26XDo2pVL85zCu4yc/ecBg78MqEm8o01LEzLXa nNH6Wyggj9ROO39KPc0H8Xt8xpC5GDY= Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01lp2055.outbound.protection.outlook.com [104.47.0.55]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-41-gwQ_Pj2zOki1p8Gz6k1ylQ-1; Wed, 01 Jun 2022 16:09:45 +0200 X-MC-Unique: gwQ_Pj2zOki1p8Gz6k1ylQ-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SdDHM69mJ9y8F9avJ0X/5Pkncum5bTZlhg2EPTi6W/uNxcrwclzxOed+6VTidFk7alMzpwQzZzWdLkRT3qt8o2hsv5ilpWDd8ofH6g3NUgqevP1SC8hGpjvjwmLlubajqd+CbB2o4StxtHIElCIcdV27ddyfeQ84J5QXwJivTLUrhF83gDKM6AW+jiGdFqqPrVfLlzkeA6SUifM7u1SzT2mJN47iwPLX1BrtHc5ccabK3XMS9UN4y3AcMM1MBBi5NL8rlUlPPc4+IoWQpR3dHgY7AxS5QoLBE8ABr5iQfvldyWZzGn8Rqwb+eiY4F6AWxlFnlSS0x/nWjKGwCQV0mA== 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=T2kTjjhuEGYslmQtDFpLBcSZGwiWTgjkx8GiTke8H+4=; b=RbqD8ri1Esxzi/mHCWOaRtSoRSooAiMPF0Z4SwD9/731FVxqdk3LaqZYrKikyDQ6uSxF9dQWaDHBer1YJlzbxDNep62JnfFDbLD+Xg7AJa7AupUeofTM+D/lm0kHBU2ysel855bSKOqb2F7Kou302UIy1ifuUwMUSVzAnmorrWVrDScxBtVRZb7rPdnBdkz4801DEdnGZ6Xdc5rhQPS3/Gxr3NVpQb/EuE2APWsEYOuUfGoFmLuXHq26qfv/muSgsVCIUJsXH3mE25MqvUduDOe6wkPBDcyzA6nL71sdXzmtpc/tmlFd19szwo8Y5IZ5NVMbT0R95UeOLW0nJx9m0w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DB6PR0402MB2935.eurprd04.prod.outlook.com (2603:10a6:4:9d::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.19; Wed, 1 Jun 2022 14:09:44 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe%5]) with mapi id 15.20.5314.013; Wed, 1 Jun 2022 14:09:44 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next v6 10/11] selftests/bpf: add bpf_rr scheduler Date: Wed, 1 Jun 2022 22:08:23 +0800 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2PR02CA0174.apcprd02.prod.outlook.com (2603:1096:201:1f::34) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e1a41d2f-483a-4a30-86ba-08da43d8609e X-MS-TrafficTypeDiagnostic: DB6PR0402MB2935:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: uIM8Begdsd+uZihwypGXZm3L2hcVL3lOaz5TNir4tpol0DxInzjoYBntoRrtPhEZ4f2GJhsxva7lqQeu6KffsDqzVskJKBEh8LlXl32cA6KqjAzDmTtENrq41vUIrcTe9qMLfFbB4adKlg1RCW4cjLBop+Dltp4oXMRBcwy6lFVFmQOEgp0GgYdJ0GcZu/sfJMODmXLVuxs9IVOSaJW/2KNznOn4iIKrN8+PGwxPSUmhXSB7ScZU7BAN1zoSMcdKUCyrMuIkeKDy5SmJh8E72JUWplHA1twQOwGF5BuQ2A0l720oakTtDaQwphVEsWBtVrcGc6ILM2jXdZFZGplyRdhZ1ukO5s3VPKKldXWDCwWqf4AuEuICC9WvGjgZThE9UdaQxheQR8TfSW9ZHlGAz3J1o6fR4QOypEqKeupWpeQ0tD6Vhn+v1LTFf3BqsktUGAJklsDowj6uysdlOklGhCVCgOdayfwdSStkFzte6e2S71AWGsJe8rGhCXrfxLD4QUSe6F7Kaj4q8NvSS3k3uNB7ceyeFGHAGQO4Hxn3njEoDwhyE4gpBcWup+B3NSc8bhq3T6IJG7vHtgqV4B+jPsv3zKD+DCYOHwipr926dQlIhNNJdCz+2WcdD7KdYkzKuAfvVVoAmvtoSY+pmjjVX3nBA4qz+HC5gL+g84mikHK98OUJwKj4NcLnI6WaIf92+uRpBWfCekqMgLp/1mfHuQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(44832011)(6916009)(6506007)(6666004)(5660300002)(38100700002)(316002)(6486002)(4326008)(66476007)(66946007)(66556008)(2906002)(107886003)(8936002)(2616005)(26005)(6512007)(36756003)(86362001)(508600001)(8676002)(186003)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?4Jc8JCFHnsiT9DDPxyQHWB7kq370ZIFjo6/kcR6felkMP0UghzkJC/j3JwW+?= =?us-ascii?Q?mlawJexZ+26lcZK8dCOvR7GE6lrJkR1JI2tWf/HtmAwfgLX9wjutvGJ2MlCh?= =?us-ascii?Q?1JJSEeue7I7V+dgP8dPpCTx2uAw0FThV1fb+ReUI4BPnQmJVKEWsrzo95tbo?= =?us-ascii?Q?c++mBNQbsKFi1VuLiCN13WYlIZPgnzppJTgCD4jwkphD70Azcvv3M9hzCD/4?= =?us-ascii?Q?nBcx1p9pbnRmL0nTIqjs3lgZQwbPbmsASMzYUwZ6y9Hy3DwgYbbegTlZjOcq?= =?us-ascii?Q?5AF4Sosc3OSn1iMVX0C6wTJTqTQiB0c9lPdaWV65BSiyGu5Su3WGpDVxni9S?= =?us-ascii?Q?/JM6OmfPlGtzwRzqiplNejf9sANzMF3lNT3V0iw2EKi7z4FpkQVFqI3QoDnf?= =?us-ascii?Q?mTcgjhlU1FEEvpKcWx5/dNIrs/qaZzFullsX8/htOE6IpcHuvF4j0hFzpZlC?= =?us-ascii?Q?AukrdZC078bYPx7917CWJyA+TdjIt9dZBVnvvtmJRCdrw24WgXgNFwhgM0ED?= =?us-ascii?Q?AZIPyegSz06yaIh4w9o86XVsj2tBSQawphY6bUIxiQbpmjwfXoW7TISdS/OT?= =?us-ascii?Q?yTAUbaBLeJmGOWdTNvZw0JkB5wGLhz/4YnxCCVTE5l//K0MuZNuep0Sy/YDn?= =?us-ascii?Q?PC3672h5b5ppMhYFFXUOmrd5sQEYJkuVrwQ0vk0S7/KxyDdlFrZl5ypz49yu?= =?us-ascii?Q?V53L5aiQROr0X5zHCjqETmB72xUnTaTGClEz4ZKfcWrTbRRXwqEbGNyHV00f?= =?us-ascii?Q?dF3qRm4rQDgCx45DqVXAfq3ZDHOVe9lUuRjgHuyKuS9kVxX7h1O3G7H4qO02?= =?us-ascii?Q?ZgEA2Rcdm2emc52MWoNk/YfM2WVcTI/cJcSooJUvTsGzNHHuVUHigQ+oBMe2?= =?us-ascii?Q?8AouB0SsV0fHOVnZ4l6IoBc5kD4pZYalJrkrvW2s0M0mSW5kj4TfUPCurXf4?= =?us-ascii?Q?bq8KUQVFuONDnU2DYpE9TDDqdq8VI0TgqbIUMGilJLk+/e3cOlAwWtya0U+G?= =?us-ascii?Q?ejpmIgEx2/hnhV2+oRdwBEygnAeS0ATOI4KSx0tA98xaQnjWmDTEfMCXxOXr?= =?us-ascii?Q?FB3I7hZxghQnguBWvE5mWQnLWbZZLVbxQTiYXeMtldawX3m8UAGxY0fQq5Qk?= =?us-ascii?Q?Y4b5VUJeuR+CAscnAL/znCxR9pKg3wpUBG1rMmP6d0ULOQVNb7JsxipvWcBB?= =?us-ascii?Q?r4+Ct4aY+9HtTLsav3eVixVx6rbSA63LhcHHRR/tMV8wV3xqcu33Z4JErV8q?= =?us-ascii?Q?de2tHsVC0CU0etdrI+QmvfLlQR5xCmuyD+PAnkXFO6oasHbubH8yVOopQ20W?= =?us-ascii?Q?vaFAJulAnbuL1Ke/SR81stV/dVDP59SitUXsjBvBzgdeUT+4J1Pse+OJMgFz?= =?us-ascii?Q?5sp7EhMQN+9NUILcXLSM56X/sRvLEOivDp6D7Ymtth6L2sg1WXth5GQFS2fm?= =?us-ascii?Q?X2KHpzAMlwMyqSk1PX8/mRkZTDnDqqHZbelSvrwv4xlFjdFBqCc5YoxchuGZ?= =?us-ascii?Q?RmDIzS5RGPwkKiUJGxLUBb28g6900QaVv3ocgmHEjEdHiKQviVEQC4RJbTRS?= =?us-ascii?Q?KiaiBUfuKFSxedmI9sc+dQnbYYin2Uw5BtOv3NDm4H7qXiSShD45RPPicFNI?= =?us-ascii?Q?59kzgSmIdb6l8DvSXXqIKngBslpV3fHU/4cNx7Y/lxwI7NRThC+8VRLembOI?= =?us-ascii?Q?VziY5h5hz89keWGJ6q47x486ypE7WPDtP1HL2HVhTABNFxPvTJzFhz7TbrIJ?= =?us-ascii?Q?CuIExpVnGf1nAaY1FdavaxPqQwajH3g=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: e1a41d2f-483a-4a30-86ba-08da43d8609e X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jun 2022 14:09:44.2157 (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: qEMFPZU+fDRSyCE/i/gl/CQ81LJbL7z213KH4jgyPT2wOOmy2D8+T/zUH4/mOxScCauHc/YyUQhzoVXAelXFHA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0402MB2935 Content-Type: text/plain; charset="utf-8" This patch implements the round-robin BPF MPTCP scheduler, named bpf_rr, which always picks the next available subflow to send data. If no such next subflow available, picks the first one. Signed-off-by: Geliang Tang --- tools/testing/selftests/bpf/bpf_tcp_helpers.h | 1 + .../selftests/bpf/progs/mptcp_bpf_rr.c | 46 +++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 tools/testing/selftests/bpf/progs/mptcp_bpf_rr.c diff --git a/tools/testing/selftests/bpf/bpf_tcp_helpers.h b/tools/testing/= selftests/bpf/bpf_tcp_helpers.h index 3d4b906435bc..7b8558da64b3 100644 --- a/tools/testing/selftests/bpf/bpf_tcp_helpers.h +++ b/tools/testing/selftests/bpf/bpf_tcp_helpers.h @@ -257,6 +257,7 @@ struct mptcp_sched_ops { struct mptcp_sock { struct inet_connection_sock sk; =20 + struct sock *last_snd; __u32 token; struct sock *first; char ca_name[TCP_CA_NAME_MAX]; diff --git a/tools/testing/selftests/bpf/progs/mptcp_bpf_rr.c b/tools/testi= ng/selftests/bpf/progs/mptcp_bpf_rr.c new file mode 100644 index 000000000000..ce4e98f83e43 --- /dev/null +++ b/tools/testing/selftests/bpf/progs/mptcp_bpf_rr.c @@ -0,0 +1,46 @@ +// SPDX-License-Identifier: GPL-2.0 +/* Copyright (c) 2022, SUSE. */ + +#include +#include "bpf_tcp_helpers.h" + +char _license[] SEC("license") =3D "GPL"; + +SEC("struct_ops/mptcp_sched_rr_init") +void BPF_PROG(mptcp_sched_rr_init, const struct mptcp_sock *msk) +{ +} + +SEC("struct_ops/mptcp_sched_rr_release") +void BPF_PROG(mptcp_sched_rr_release, const struct mptcp_sock *msk) +{ +} + +void BPF_STRUCT_OPS(bpf_rr_get_subflow, const struct mptcp_sock *msk, + struct mptcp_sched_data *data) +{ + int nr =3D 0; + + for (int i =3D 0; i < MPTCP_SUBFLOWS_MAX; i++) { + if (!msk->last_snd || !data->contexts[i]) + break; + + if (data->contexts[i]->tcp_sock =3D=3D msk->last_snd) { + if (i + 1 =3D=3D MPTCP_SUBFLOWS_MAX || !data->contexts[i + 1]) + break; + + nr =3D i + 1; + break; + } + } + + mptcp_subflow_set_scheduled(data->contexts[nr], true); +} + +SEC(".struct_ops") +struct mptcp_sched_ops rr =3D { + .init =3D (void *)mptcp_sched_rr_init, + .release =3D (void *)mptcp_sched_rr_release, + .get_subflow =3D (void *)bpf_rr_get_subflow, + .name =3D "bpf_rr", +}; --=20 2.34.1 From nobody Thu Sep 18 06:42:59 2025 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a05:6a06:10a:b0:4d9:b80d:fb98 with SMTP id h10csp9296pio; Wed, 1 Jun 2022 07:10:28 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy6pcoYeA0TW3ydo1FNOc+FiBF3m8pvvYzg0Vn/rhth6B5xaX7FX9RDRFC7FgmIXLDpxbaf X-Received: by 2002:a05:6870:c1c2:b0:f2:eac9:6c53 with SMTP id i2-20020a056870c1c200b000f2eac96c53mr16011932oad.109.1654092628402; Wed, 01 Jun 2022 07:10:28 -0700 (PDT) Return-Path: Received: from da.mirrors.kernel.org (da.mirrors.kernel.org. [139.178.84.19]) by mx.google.com with ESMTPS id m2-20020a9d7e82000000b0060b454c6425si1825873otp.194.2022.06.01.07.10.28 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 01 Jun 2022 07:10:28 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-5526-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.84.19 as permitted sender) client-ip=139.178.84.19; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=mimecast20200619 header.b="Z5tq8f/5"; arc=fail (body hash mismatch); spf=pass (google.com: domain of mptcp+bounces-5526-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 139.178.84.19 as permitted sender) smtp.mailfrom="mptcp+bounces-5526-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by da.mirrors.kernel.org (Postfix) with ESMTPS id 301162E0A14 for ; Wed, 1 Jun 2022 14:09:58 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id B51832573; Wed, 1 Jun 2022 14:09:56 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.109.102]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3A09E256F for ; Wed, 1 Jun 2022 14:09:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1654092593; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=F/1D37CrJPvZzbxiZMvJq3yVCCtd/NboQN/xO+EiniM=; b=Z5tq8f/5rPxswBgVyYLAC8Af42aTezSIWECw/xfWZ8S0+G8AzA1DdXaN+2kUe7fLJE8Zns IRiYjyh5ks0i1y8aqth7YIAA24jdmxyH4SvdUXMxWBdMsopEQ6kEt0+CSJxjLkLbCUzBPO FFaJuNnFpQ1oFCjwTZ074OR9Z98dNQQ= Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01lp2057.outbound.protection.outlook.com [104.47.0.57]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-15-qz4npsyaMlyuMX5ttpFBTg-1; Wed, 01 Jun 2022 16:09:52 +0200 X-MC-Unique: qz4npsyaMlyuMX5ttpFBTg-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SGn8WMWtc4n1NcorUluWV+1r5hDkCVsVCAPEe/tFu5BpR3OV24uvwNBQudxARi/T9z1YlBDh0BFzJi17gDIpuVJU8JLxUI0XHRYA5hrDAJAEeHHszDoI3gsE+ctsxKH3mIJhgHZd3M5W7XTPc1KsObIg+yHpSXKrR1ev1dwlO0pkt+puYREfagCC9RgbXIGnn6F3+IesyLQry9s9nBxV35l40fOvzczA8FBmWkr3++UarySwAgv9SUQBRiQoDtdg1Db3aGuLmRvrUQWpZDWsnE+CVg7EYtZJKa0FLI/LDXHY6vEbjc9oehvZw5tUCvlDnjLLTffhWRsJk/FJ6pXsqg== 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=QdN0/NTSngD34hg/2mAz8TcUJyKmvrSSKr9bbGv39HE=; b=IPjYjOLElUnePuvd127R8889hFHxr7sWe141jSpLNdPgpOePpekUEc3cgC5Md9+251PcwgxfKP2N+HTcB6ccDN4NM+OabvSIic5shlfJPF+F0IIROj+YzXheV0UAT1ToykYEoU+74kzoxJSFYFBboLgIUf94wPy71kDdfFFpyqmoDoPnp5UOS8aTYmW+cOQM3wzObW731AgXd27EyYyIKIHC41mLKmKqPK2mSlP/wD5ObSxSzCUan8nKZSao68eNydoPga4TX3+SedpewisYQn2cRO2jmV5B/uHxqvAv56PdwpIC/3uvLaJE/6tmQB4qtUqWYgFqTUhc5fG3+9VwRA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) by DB6PR0402MB2935.eurprd04.prod.outlook.com (2603:10a6:4:9d::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.19; Wed, 1 Jun 2022 14:09:51 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::8002:50a5:a57a:d8fe%5]) with mapi id 15.20.5314.013; Wed, 1 Jun 2022 14:09:51 +0000 From: Geliang Tang To: mptcp@lists.linux.dev CC: Geliang Tang Subject: [PATCH mptcp-next v6 11/11] selftests/bpf: add bpf_rr test Date: Wed, 1 Jun 2022 22:08:24 +0800 Message-ID: <94de6d463bde36d3ad8e50324b9c40ce9ae36467.1654092153.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: HK2PR02CA0181.apcprd02.prod.outlook.com (2603:1096:201:21::17) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: cb4ced8d-8def-4acc-0241-08da43d864ff X-MS-TrafficTypeDiagnostic: DB6PR0402MB2935:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Gr0AST09tRFQjoWnbN48rXB0QloZ/Texq5zAXXowG77d0AQ4DVDasyc8Bd/hHZ8sm+T99/BryECeSXi9zExaPO9D4g1ybSlGiVKKM70yXxKl5jyv6wormj4BbPtJTBS/5uguYqte9fFndpw1E5XRMMo7Ra07XMaInlZPiM1QcQbRggHhAJHpKoP9Xuw6jbY/yaavSnDPJvPhCrYMCJ2iat4WB2gqPk+T6//e8CTPYHPXMYEZc5gHVzfQcvtSZnkNQr7G8jjk5jzr0y+8p1Tbu3X/5BIlJGuNhHGEn33Tk6ZxOg7F8gMr2oEOZ0nyaHpDVFlySEfsdTlxZ1n7sBflp4VOGYKgEDpjYYMU7Dr52zpGGsLAqGwnczy3Mt+f9ebyRtdAJBgEEG3War/HL6f6JAkUzHe/GPV02QCHCzDHN0gDGD7YL4TVPBSOvDSROKqDxjg97OEoYm5+Z03q7fWR1TeBRY73O6DHkLIoJzSU8qgXRPn/nFPOmtTa6TelSqQaTrzmbO0zEKHP33BSA/+JrVerZY8ZXgTzJKB3q8//Z3Hy6jqe7Kxhy3uxSgp1vyCGc6xl4T81oZpG3dXnDM1vWy5S1Mg8gfexA7awNFpk3OWIyBAWFedkl5vekjlAhSVSBvcYkysPDC3kWQLoRw1NlhI6CQK0pynSJ1covfJji5vef3dulJSxSwrLi1EhcMX1 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(44832011)(6916009)(6506007)(6666004)(5660300002)(83380400001)(38100700002)(316002)(6486002)(4326008)(66476007)(66946007)(66556008)(2906002)(107886003)(8936002)(2616005)(26005)(6512007)(36756003)(86362001)(508600001)(8676002)(186003)(13296009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?6X59anSLw+g5CHORdsdi+3KhClh7JJvbGKH9er4IjxqybR1BsnnCG2iBlydt?= =?us-ascii?Q?eu5LQmK3mzkwaz5ASXEXGaZjfcTyz1HY7kmZO5mKjMTqLj63dfc7kcc2wkgG?= =?us-ascii?Q?/2jc6Ss2ouUcxpnHDflh75uvNLDrvVwmFMZEAZN8QkCSTjEkjumi5tyfe8fh?= =?us-ascii?Q?e1qPitDoEBrxwBB5RMSqr+sYH0EphN+yUwsKGom3CI9WAtwiIXozhPqY8vK9?= =?us-ascii?Q?exAC+GLU+2dwI6pj6a9Nzs/HeZpIWLnf4bjbbYq3Dh5sy6ID/9Jp95ArKyk7?= =?us-ascii?Q?x3ge8HuYJoVY/Dnw2E3rvWfGeCKSWM6JSy3ASIRqDwbH280YRjVozRS63D5S?= =?us-ascii?Q?KYOoNpYltdZBMrtcuny9s++/bchvLWIR9bDudAQJeHKYH2h3etM6byqDilgt?= =?us-ascii?Q?ZssxXJKkFN4re0D5ClHZ4pmVYHrNdzBzCtsn5LLNimwJ+mF4Du9D3gCvAoUq?= =?us-ascii?Q?ihfqOgrTViEPFJT8yovkFOoGDAmzqE7B6leHipqUhAGMPeD71KGF1CqTypTX?= =?us-ascii?Q?N125HW36XRcc6dqzR9LbFfqCCFcFhyuui/XmraUeI/8RHfWI9i/kCbWRFveA?= =?us-ascii?Q?LEBSvt5UoPIoPzfHU4xQ27kqb18K03xd7p21DQGkDr/Wes/YzR6rSKbKxNQc?= =?us-ascii?Q?EXz5UUm/AwPf6+hQTxb6vvOMYA6OrJ7E7V8oLPBk5k5+QAwCbtJvYEKXM59R?= =?us-ascii?Q?Cs4zanTZktueiFkOJlksJ+gHaepGA9JpS17IncLCzgcZ+RxRLDk1+GEYazLN?= =?us-ascii?Q?bjpizMImhc3J537xdBIwNWLxH3FRaFJKiOJmPIYXiMNeP5mFw+3QuCjgg9Fg?= =?us-ascii?Q?lZsslUhjzpWEdw5mgXTiGuFn9GqRIqhD9zDYMMYLrW2nIFTQkCcRNGtdp5CG?= =?us-ascii?Q?7MH8P7Tk1vLCrOVJ93dYQMclQwZvqpWMgu85/J7B3EchNxj6molUCwGLt6LP?= =?us-ascii?Q?QF5Mn1oaGsYaHPKhQN5xhFE5BexPKZO2pr9vKT+Dl3IfDwgwq+Be/JBPC2Q7?= =?us-ascii?Q?4mJhMlJ5VMn8ibh3xFfIwwfnxX4QXAvQ1zyWBKXWJYxxYximztaDgsNtxvcs?= =?us-ascii?Q?D7NuzC3xu2TnRzFBtrroTQVUPgDI+ByLbiUGw+fWdsOXTMnbgOT+O1ckRaTh?= =?us-ascii?Q?YNVNXIXoWY1aPVoI3eiZOrGB80bpJ6a8ljOANAMAWahcWEjgS/ehkpWHHrBH?= =?us-ascii?Q?RxCZgalNV7OdQQkYHbCSlzI37NrtCbqCw4FGMCgtA12WJm9/jiShLwVeT0jG?= =?us-ascii?Q?2hEmPSKvKIEsYzq+TeFIwIALFF8YO///Mvh8E5kwzm+IQYsqr8/IxAGVZx08?= =?us-ascii?Q?VshLvg4gyZdYEawUCme+sWioIf9m1d6RfyvRMy8rrqqajQS5UyN2qzF5JvIY?= =?us-ascii?Q?6ycQi6EZkH7xAaAJyKO8jlC6PH11p47czc0sU6OuMqkXWSGkmhenp2UdUsSp?= =?us-ascii?Q?TQBfl8u8ET75CvEIhpVXpBy9sowMZChVe+icgmz2Z6COqunx34ukkeEpN3aN?= =?us-ascii?Q?NOE0w9YWAZLUBt1FTlGOngVFJhNSCspVy8CozW4n05jNiItqj6RMQX0pltdY?= =?us-ascii?Q?4ioPplfjqB2t6kxg2Zi5EzfGaoZxQRvp/KJMXWGKRYIF8E+IJT8wnIwIBDUB?= =?us-ascii?Q?sowyV+/G7f8KkJDEa2by0S1Hc2TZuMRtZKqTaubzWpmfzBiRmP28pZInjSoG?= =?us-ascii?Q?GK2/Xue5BuLwoDtD73fmVCAEYBfSM5Lgf6Q58KwTzNYDmo1+J9+AstrzVhpD?= =?us-ascii?Q?pHa8uQ5xRVPAegX1KJfYzDG/eimZQOU=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: cb4ced8d-8def-4acc-0241-08da43d864ff X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jun 2022 14:09:51.5589 (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: XO/IQ3fVgiU9Eqwndnat1OTRHsy3zHQ++ZyRymKRr7jPIv/+TwqyNvFE3Ue2ByRuWFDhRZCB3Cx8osnDMcOz1g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0402MB2935 Content-Type: text/plain; charset="utf-8" This patch adds the round-robin BPF MPTCP scheduler test. Use sysctl to set net.mptcp.scheduler to use this sched. Add a veth net device to simulate the multiple addresses case. Use 'ip mptcp endpoint' command to add this new endpoint to PM netlink. Send data and check bytes_sent of 'ss' output after it to make sure the data has been sent on the new veth net device. Signed-off-by: Geliang Tang --- .../testing/selftests/bpf/prog_tests/mptcp.c | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing= /selftests/bpf/prog_tests/mptcp.c index f3c73cd2c786..1ecc8a2b76b6 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -8,6 +8,7 @@ #include "mptcp_sock.skel.h" #include "mptcp_bpf_first.skel.h" #include "mptcp_bpf_bkup.skel.h" +#include "mptcp_bpf_rr.skel.h" =20 #ifndef TCP_CA_NAME_MAX #define TCP_CA_NAME_MAX 16 @@ -329,6 +330,38 @@ static void test_bkup(void) mptcp_bpf_bkup__destroy(bkup_skel); } =20 +static void test_rr(void) +{ + struct mptcp_bpf_rr *rr_skel; + int server_fd, client_fd; + struct bpf_link *link; + + rr_skel =3D mptcp_bpf_rr__open_and_load(); + if (!ASSERT_OK_PTR(rr_skel, "bpf_rr__open_and_load")) + return; + + link =3D bpf_map__attach_struct_ops(rr_skel->maps.rr); + if (!ASSERT_OK_PTR(link, "bpf_map__attach_struct_ops")) { + mptcp_bpf_rr__destroy(rr_skel); + return; + } + + add_veth(); + system("ip mptcp endpoint add 10.0.1.1 subflow"); + system("sysctl -qw net.mptcp.scheduler=3Dbpf_rr"); + server_fd =3D start_mptcp_server(AF_INET, NULL, 0, 0); + client_fd =3D connect_to_fd(server_fd, 0); + + send_data(server_fd, client_fd); + ASSERT_OK(system("ss -MOenita | grep '10.0.1.1' | grep -q 'bytes_sent:'")= , "ss"); + + close(client_fd); + close(server_fd); + cleanup(); + bpf_link__destroy(link); + mptcp_bpf_rr__destroy(rr_skel); +} + void test_mptcp(void) { if (test__start_subtest("base")) @@ -337,4 +370,6 @@ void test_mptcp(void) test_first(); if (test__start_subtest("bkup")) test_bkup(); + if (test__start_subtest("rr")) + test_rr(); } --=20 2.34.1