From nobody Tue May 14 09:19:52 2024 Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on2088.outbound.protection.outlook.com [40.107.14.88]) (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 40155813 for ; Tue, 6 Jun 2023 06:45:20 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hY/BfNjqDCJyju1OBPPZy5HFvzMytEh/waV9p1TskRp9W5v4mS3xUH+VhOmQ0Yka047d+3NQEMu6Gzc2yMjcgnAvT9e1NLMaFbsLEoED8mZ0oYCOGyt8n2QziYPLqbcORJZ4R7rOg/NyM3nAfwEeFiM4PwFPwrrLVUUu8QjzoDKiIerQHtkAmR6sZK/N05wnF6mWKIhcUlGAIKrHJ75qNyjHzN17Ei1Mpz/p7CAGIQVb+G0UOMZquS1WdeeukK2VbC086o75FFKqukVG1A7FRp4uDRpf0zhZue7qL5+QDcIzTH1ZfRPKqvkZOSIXq8Zd0hZSAdv0v4LNPf9DaPYLpQ== 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=g0ZSqvikR2fSxfDVOU5QIrHLufHY9vGgZNoWC4hWuxY=; b=blazRczc3NNDYTfbIq8Spgs29fwdqyhhSXTDg8RXqqc5UVDNmdl7oR4gZ3bk4JtCRhkPvxRKecPzB7614viO9On77OqsohuP7BvKS+OA7RXWq1LKwbjj5Ah5lspRVxsdWBOpJe8yn9myiReDASpp+N2XIri5gltoWA98qEqw64fNS59iKk8bTDPDAUaM6Zfiga6zxWxYIiEJOyKaFZfI0OT1War2vDX1KYE4uLCH+KP2E6Ofmayrq16unlNILNmqKtyThw1RLI+qFRmyq2A3n/mlpjgklSYuQf7i+hvlpVZw8S/OQrad3AETnlG/OYt4NBob5SgxplQk5Ru4XOq5yA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=g0ZSqvikR2fSxfDVOU5QIrHLufHY9vGgZNoWC4hWuxY=; b=r+EEH3kOP/0jtO0o23R/mvjWMJ4jE+uy3eXSXlsd80CUn+8YpJCFyjhaxpeGyIWrxWdakSmWloehdmd2gOxHAdxb3TYEQ8ZlnZzfF8OS2UohQ4zPfYdVQzClXVmhrfiNinkHUgA1gZcoteFuqA/rynAHxLXVh4n7KtO9CH6YDP8i2ybabDK2I/RkINUorLKAGFVRlIMcrqAXaYJmaf8b+QIwx+Ahnyt/VcSw3r83DQLY7jUXaoD47aIGs6ANRd0xeHe1cgTAR2QZt0yCrvzQ15nKr7Q289crCcU7m1tgOv+ahF02OLEpTPvxDtzzQ5SoyLl8ESQ3KcBK4RY8HXZ3wg== 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 DB9PR04MB8330.eurprd04.prod.outlook.com (2603:10a6:10:241::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.32; Tue, 6 Jun 2023 06:45:17 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35%6]) with mapi id 15.20.6455.030; Tue, 6 Jun 2023 06:45:17 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 01/18] Squash to "mptcp: add struct mptcp_sched_ops" Date: Tue, 6 Jun 2023 14:45:00 +0800 Message-Id: <01027826b91ca75bfa53d91ac41ede0be3cef634.1686033694.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR01CA0162.apcprd01.prod.exchangelabs.com (2603:1096:4:28::18) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DB9PR04MB8330:EE_ X-MS-Office365-Filtering-Correlation-Id: 07d87f48-b5a9-41c3-e250-08db665996e1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: sh8y1Y6aFuU4YyYLGnb2vwchKAvT7s0LVU8/3M/bNFwr/+bREaS60UFs2Vp6N4ocJXedWtuYpAsquBe3kZbLLzD7E+TN5ZyMox1BQDcNP9Y7h61a7+NxcYPZ2dld1gGhDH7OpsVS1YhRhrp5RA3pqgp4egQQP7QGaK0fvqeiu46hSX+8kHashplFbYu/V9gNywxtCAsZDfXcg4gz46xgJr/MnHt4K2SHByCOvsseGfRpaLhYQ/TbLlnpj++MNw7C0B/rEfbXNJN81P6NwWXWa0xESrs/2ryvG0f6MPRiEI4kbaHN/sDLxmK9KPntWuTBiEzHIXasovyMVZ9FpM6Uspqzj+dQ+04hAAiCsEvZO0XYOm+OKnPcv6YPjXFtx2U2dIOO9AASxZjxOykYmmBzH0NkIIODCgS3QLSxwi0uX4KSYkdGd2rOKMlduxa/lPLAmILDpr/EDL/+PDbB3qjASW/6K4ONHD27byjN0zZZrkJe6SVIjRHGUCAJrCKnaoYMnlJ3wGutHAesLYIUPoju7RFTLQfz9zKCRCvw7jsEFkpLFWZwc3YOo6q00UGSJwWC X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(39860400002)(346002)(376002)(366004)(396003)(451199021)(478600001)(6916009)(38100700002)(66946007)(4326008)(36756003)(66476007)(66556008)(8936002)(8676002)(44832011)(5660300002)(86362001)(2906002)(41300700001)(4744005)(316002)(83380400001)(2616005)(26005)(6512007)(6506007)(107886003)(186003)(6486002)(6666004);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?d7FZOQjhOXGnN05FC58jLul2gLXo+U4h1YnsYYs2c6GPwH5G3HxXUaVHHOop?= =?us-ascii?Q?PZAo2GapZlmMUFFcaxLtBUTudCEsVZjvHlh+tgJzmEYevtMmtovcpqPYqzgy?= =?us-ascii?Q?8qiMCEjCiZxDv85WiIosNPbHv41P698P2oDVWxgTHcQXjP7CseafCtkEWYKZ?= =?us-ascii?Q?+VTi2rzZ6imdNRaO64MUk6+ZBuOFmnvd5PIXQgU81ORD0gknax4ZQIOt5zXD?= =?us-ascii?Q?pFciCyw9D7uZxR7GBpix5COsDJ4yPK2lZQ9A7NZRhk6aUYc7eJvW9+eelxJX?= =?us-ascii?Q?TLBx4A4Pnki0o2Qhn5sXLrC1G+x4cDZvu1JEQtjmeCuajGC9+YZvPN4/EG4s?= =?us-ascii?Q?giQ1xIYJXgVTL9V20zcMhBrauMlYoViTFb3knFJC8JIrncks7iZaj3dqVidv?= =?us-ascii?Q?17nud4euIjGekXvSoYBlpjBVmg0IgY9LEBtNfqeD2sHK6xomXNPCAcQiRIgZ?= =?us-ascii?Q?gCjwow12+Ic6TAmjV6roG480wvFPTtv/OSaSsmgqDPfm857jJ6RaL/tPMweB?= =?us-ascii?Q?vVL0Tdw2IKGwfss8wJUenUcxLe/ayKzx/77u+vB/RTHHftNu2RO6/vaHeWmk?= =?us-ascii?Q?x1P9f+GeX2Mc89AIUvmTc/FrrmsnmQa6M7FgO80ZwPVQW0s326euruaQ2aM6?= =?us-ascii?Q?vAgGwcQWbVg28bOncISPUpS0S3vii7AzFPb7QNzH9suOCtMYGYcrAPB6jHLK?= =?us-ascii?Q?WB4UpwGsRwD1OzyB08zFdxP3Y5Mp/3kPdEEYJPPOTabgxmTIjIOdQjUGR/jS?= =?us-ascii?Q?ihHbcUfJY18L1uUt8yEh4DFn+ao9p1YrNXg8YkZnVZSjhxrc8vCjmO06mGSP?= =?us-ascii?Q?ibUlxOWUkBEIefdS2qK14MwZmYq+XfKxFCfIjS1YiR1Hfip3GpkbIDRaathk?= =?us-ascii?Q?woH5JBa9IIWbWPDAIctY31dnoPVBXCFAIuTJ2uVfI09y1WrtuO92rB3TRwZW?= =?us-ascii?Q?HvhxtSb2NDMZljsSQpb/9KRq/TDOvQvyvlNson8D5Rsrw0HYOe1ghcl52FNM?= =?us-ascii?Q?VtT/bxTrTZICB7XBOUJ/Buby200QPA/xARd6HZSCnyWKgsuHiycUFoFjkNm3?= =?us-ascii?Q?Mgk8iB+VeQ4YOEy/l8nX9yos0wCU+o5VXHcbLjNF874nDYBZ5Cdv52UCSyLw?= =?us-ascii?Q?dp+Hy2UHfkWU2cGlKLGDO2NqAyn9tzrXUtOhMOKN9c963unN0LZjRLgVnfmw?= =?us-ascii?Q?RxNgiIJc7pQiR8XoW1ECDo7pM2OuB0I8DL7U3BU60xHKXJ2iVpaGRVAPtQkc?= =?us-ascii?Q?gbmaz0P+Jq1WM98OFd2PvHWhsuiCGsY3dibRu3uukZLoyaQmkdRtRoYrmV+a?= =?us-ascii?Q?xB6icGq+p+YP/iKO8tESWWL5BQP+CN4DZEKGbq6b8wxPYcuDlZQQeQBq4MPE?= =?us-ascii?Q?H7FcEMItdRdrK31rfqX4b7wHYGB6gxREVZOlfcDBnRF13ZWsNWfBpAGk3xIW?= =?us-ascii?Q?xgOBGx+J9vwm3DwEHF8pi0cS0cfUeAjbDIrjlwcZC65WjOa0iSn2s+wVp5Mt?= =?us-ascii?Q?Fnjv2BazxK9pnK1Ew7fOLBsj22vN9VW76yChb1FMyOMWPGiht8DMkypIhvOr?= =?us-ascii?Q?igPihZYzI58nnCV/iRj/Lu+ISIXChHltyAtipGAU?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 07d87f48-b5a9-41c3-e250-08db665996e1 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jun 2023 06:45:17.3810 (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: jTFo7MVbFE1/eW00AylkiuZm6txNhg6m6tl9G4vsVFi4/UJ7itnTdK231St+tOlNLYbCPF4rBl5N9YEpXBk4rQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8330 Content-Type: text/plain; charset="utf-8" Use two tabs. Signed-off-by: Geliang Tang --- include/net/mptcp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/net/mptcp.h b/include/net/mptcp.h index 828b10ddabee..4bba29c99172 100644 --- a/include/net/mptcp.h +++ b/include/net/mptcp.h @@ -100,7 +100,7 @@ struct mptcp_out_options { #define MPTCP_SUBFLOWS_MAX 8 =20 struct mptcp_sched_data { - bool reinject; + bool reinject; struct mptcp_subflow_context *contexts[MPTCP_SUBFLOWS_MAX]; }; =20 --=20 2.35.3 From nobody Tue May 14 09:19:52 2024 Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on2040.outbound.protection.outlook.com [40.107.14.40]) (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 52BF7813 for ; Tue, 6 Jun 2023 06:45:27 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=X1GRFHKgjmVIS/bdzD1c6Hcc9iZhgjqcpjoWy+vapozfcjSVKbE4iZBWx3nxQtmAl+Fn7YQolAwxI9kk/6L8DchS3amPOx1lKTuYpli+sEhyRMz11neJQiZuOqj4Ixsee9GIFvdQC4fASCu6kkL9MYQi3D/zUHO+EqP3hfpOJa/IIcZtHrJ7aSz0mWcAALUW7eTZe/r+JTBJrPY+Gs7k8vyykTWvDheXzH+AOEd7dTVVaXWa7AtbXg6CBWPWFlLqD3KsJkRryuAEaxaOEDBi+mSbwAPpnJ4octEw4/ub8B9RCRw744s0s5FsO/5lI+Iue7wXutTs8xeppxYkmKkrQw== 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=ChUCjRiubFR03LB6GTb2pMI9Y/Bstw8T5WguBdon494=; b=TMJ26fQMIPIXlvQEovy1ipuM+WKdbr2A2zNAdnfKxAxs4TXeXEv6EZgU24IT6J/8p6dO99aWXiaj5XBqFl+u0S/kLj5mBOkRhUv3PWfWsD5XFbPP8D99PyiOfhtaI5orgXwngcKsdPfPA0UMhrSoHi+1DH4C7C0qzj6ue/X7eb0VXU0jbnalek8EvDfWrZZZtbKstzbmeEwTSZ1pN4Nmid9NAs2LK8G/8H1hqo0YKRcQqujiIk5xgLeWopJ77ebcOXAG6khHr0614HVUAFf+T4pdl2qonnBLPkL9Eg9G7LtWw/OP7dJRYfJhS49BjvoLjzwodxr1LmBUykB6wFdkZg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ChUCjRiubFR03LB6GTb2pMI9Y/Bstw8T5WguBdon494=; b=rFLtvqOfEe353svx2FmEpKP8EYm1df0pXe/dL+JuoB7xn9MFTehA2JECI4H8faZoPLeILuEBbnkCrr2v1lzieD+bvvnttGfuEKl1XVAQlj6xY4KkqBiJiTqyP361GTKmtA3VxRgcnLbcozwPJJuKbn2pTo1qMJPpvTjuYcwLzEctT9DdHihZzJKd+qn5Otntek4+/TunwO2HmXuaCwwk/50h4IvOglYvmH/iNM6Pyt8vHnpom9YYdEVUkMmXxr+5ZeNqUhvrWzBLh7/j9z2EpKDU6dwbJ3nlzxSMVPFjJB3dB2YFry1ZbL1mdWtGxT62xT/ryK7+s7H04f+oBcucfQ== 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 DB9PR04MB8330.eurprd04.prod.outlook.com (2603:10a6:10:241::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.32; Tue, 6 Jun 2023 06:45:24 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35%6]) with mapi id 15.20.6455.030; Tue, 6 Jun 2023 06:45:24 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 02/18] Squash to "mptcp: add sched in mptcp_sock" Date: Tue, 6 Jun 2023 14:45:01 +0800 Message-Id: <2fa14365a52e6b9f364ca03da86edf14df342633.1686033694.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR01CA0161.apcprd01.prod.exchangelabs.com (2603:1096:4:28::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-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|DB9PR04MB8330:EE_ X-MS-Office365-Filtering-Correlation-Id: b5404a18-7fdd-49af-150b-08db66599ad7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 8lkWOUhXqQ4DHWZM4ZNLhOey4lOkdvSs/S0lhlQ6m5jhJZ9xY/w3cIykJZBoRIP4Yqj77gzOq+7hwKIdhdEw/Dx/ZMZD20ce/8MDmWLpRFrP9gpp02NFePc1p5C9qsTmN9f/mcsVWsJCbN7w8/1kPxBbSiS870W4eQEknuIftpl2MQMDRQ3VFb44A5OZ8WHAIMkxKekCDmZ5di35/otUE1riIhwWbTbgXJWTwqKDbg3x8Zt00y0urZRJLKfYMBYKPD6ghcoBPG/3UqQa/WcA22lMuNTUWoY1aBL9lrH1tDkSJjWsr5lEfmXpnnfDfHU8e+0r4BlOie8ST9JxXkR1qGYQV80WEG6nPWr5LYuQW2OLW0VGqKXq4FhejnIlWJ00KliGd3tvj/ZHqPpmeraUzHtRqbPDKodL6RYrhDRUJgVqpJJB7rbqpR7LfqKbfmPQ0dCtWE08gQ8OnJyTSpAekYCgKCyIRqgC8nvvfONITUkjCRmBfA7for1MK6GKOTFRjLK1/mtLNZEEw8VFyyZALIzMyvY1chiF9D+8fD3BGUskQ6jeaI0XEbj0XUOENw8L X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(39860400002)(346002)(376002)(366004)(396003)(451199021)(478600001)(6916009)(38100700002)(66946007)(4326008)(36756003)(66476007)(66556008)(8936002)(8676002)(44832011)(5660300002)(86362001)(2906002)(41300700001)(316002)(83380400001)(2616005)(26005)(6512007)(6506007)(107886003)(186003)(6486002)(6666004);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?snJtSBWHiqTimgJfyve+MNn73eddTPsMCQ8fqYls1sqn2FwBVXcNufZgSNAG?= =?us-ascii?Q?5CnByLa1aeI5HMQuGPXpmqMaG8djHPFKvYjDjeqcsAns1Yya15Ziaet2oTz1?= =?us-ascii?Q?pOrLA8e5o8MvpCTrLAS03EavP4DB3RBQnbbP6ch4JbQwXh5o0A2bxFyPSh/V?= =?us-ascii?Q?HvaBrr/c2oCSoZpQBYgEhClddjWQT36eKghlQGizj4u4rolWqu9QUS2JlDWQ?= =?us-ascii?Q?iPMiaabrpEcOI5/70vVH9IWXNOiBAlhp2gfU9PoE6OyYSRnBYZrQOQB29uxh?= =?us-ascii?Q?pW+meS5p7qG0+6+o9+sX/4pTYGtH+wTwe739IH6J/1cF/FAivEVRh/4e2W8r?= =?us-ascii?Q?pm/hof2stHB4F+xZ23RKeRv84eiWB6/OE0XfRtdP+uxVyWah+X3dMUO0GVXz?= =?us-ascii?Q?aYY4FZN2g38oCZHGL8PZhTRFqLSC91c6rakyGC5XLz7TUSgintreS+GZpoyD?= =?us-ascii?Q?sSuxrvXefKyKQVp5bbgvLVBTQ07yP8rYzWxKKFIv0zDr2ZPUyjT450Pr5ejJ?= =?us-ascii?Q?0NRNSbpgGtNpjA4lJ210bJpPWvkdo3e+DbdMZzY3AYzJ9JzG0+ANjKr0VlJA?= =?us-ascii?Q?lKC/9uq7WsY0b9hR3yqifusIYYXTfDOg/RsJAoEul8RZA/G+QYf+63Wv2YfK?= =?us-ascii?Q?b8u49R0b8MLye/iMB7o4azIgD9aRkP95yaXVtSruasmfw+uijktWHjaqTMQO?= =?us-ascii?Q?OKKRSpRJuyfumgl7NABjMPYlsRcN7N8jE29U1pJ9iDX0THVa0s0z5+nGQ4kk?= =?us-ascii?Q?SiY6TVGY8di7j0We99zWhSRLfppWhY0294n7tmuwMHnc/39HzDFhEhkAfUaX?= =?us-ascii?Q?pX50HnlLU8UnsflHeyZMZtjlBIJCYCtp6XwcMnxel3gaK6Gn9KFtrQ/NZPQm?= =?us-ascii?Q?GPKMvSNgjK/rAvfHYuJb5kthffhvbBfUslEuH9DkJxVskpvye98h/yLr41sf?= =?us-ascii?Q?SFTo5ZNycKT1PEhS8bHIcdSbR8c9FonnX0pe6eZ413w1Cjizu1FWWhQ99yKi?= =?us-ascii?Q?yBHL+WupqzDrY3KC6hnOfXElJFXtDrq545m5vWCxdzClDRgPh7d5/pXbpL9r?= =?us-ascii?Q?hMXLhAumpbyySP/ugWHkJ4+CMdlI3MOet+/afD/dBPTjotdLeZhFw50W9ZQc?= =?us-ascii?Q?TdMFnEf2Vxa36MWDOcu+d8y10HVE8Krv0i8hsM21y+/VyiSZ64MCAD0Foovo?= =?us-ascii?Q?dCz1RMkiqB2b7OXYAQ/qLNQxz58hWFbljdD3rkY1OTMeWiKMz7bVEK7c+vFg?= =?us-ascii?Q?0j1Hxm/o2G2FIHffE4/Shsss93v8/kEBJyrpjcNDaFIACIvIwVwgQ/6R/kDg?= =?us-ascii?Q?KZnbe2PVrEKvrqUZCggGAp/658cMZuxXNfUlV0QliSrL91oqyi9RT0phFbdh?= =?us-ascii?Q?yvhmuij7teeHHTf7xQxFnFFdnP3rPtWR1GY/DJLbqqmQ9dNecbVEdL8A8dzf?= =?us-ascii?Q?gaYYnHAFsEen/RsbWApTNuZfBCCJUWxQAxWoEKPYdlS2Ido2sFM+ocD0Y8bi?= =?us-ascii?Q?Ae+Q7UkTVa6CzoBFfwG+bHfWYQJa5RZ+1/8XjpGkciV7Sg7AJeoBieUsre9a?= =?us-ascii?Q?CYihwuykmAP3BkaFnoP7jB7qczTganC0M6RHCgp3?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: b5404a18-7fdd-49af-150b-08db66599ad7 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jun 2023 06:45:24.2833 (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: OTrOY4bttgSpVTyjSaMLVzhurda+O01iBCSyYTu5Rvm5Pdl6Rj0fn101z9HQFi7aBzuiNQSFzr5P4aJLo/udTw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8330 Content-Type: text/plain; charset="utf-8" Add sched_data pointer into mptcp_sock too. Signed-off-by: Geliang Tang --- net/mptcp/protocol.c | 5 +++-- net/mptcp/protocol.h | 4 +++- net/mptcp/sched.c | 13 ++++++++++++- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index cbfa4c3ddc3a..380b7335618c 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -2825,7 +2825,8 @@ static int mptcp_init_sock(struct sock *sk) return -ENOMEM; =20 ret =3D mptcp_init_sched(mptcp_sk(sk), - mptcp_sched_find(mptcp_get_scheduler(net))); + mptcp_sched_find(mptcp_get_scheduler(net)), + GFP_KERNEL); if (ret) return ret; =20 @@ -3225,7 +3226,7 @@ struct sock *mptcp_sk_clone_init(const struct sock *s= k, msk->snd_una =3D msk->write_seq; msk->wnd_end =3D msk->snd_nxt + req->rsk_rcv_wnd; msk->setsockopt_seq =3D mptcp_sk(sk)->setsockopt_seq; - mptcp_init_sched(msk, mptcp_sk(sk)->sched); + mptcp_init_sched(msk, mptcp_sk(sk)->sched, GFP_ATOMIC); =20 /* passive msk is created after the first/MPC subflow */ msk->subflow_id =3D 2; diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index d2e59cf33f57..ac05fc317689 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -315,6 +315,7 @@ struct mptcp_sock { */ struct sock *first; struct mptcp_pm_data pm; + struct mptcp_sched_data *sched_data; struct mptcp_sched_ops *sched; struct { u32 space; /* bytes copied in last measurement window */ @@ -661,7 +662,8 @@ struct mptcp_sched_ops *mptcp_sched_find(const char *na= me); int mptcp_register_scheduler(struct mptcp_sched_ops *sched); void mptcp_unregister_scheduler(struct mptcp_sched_ops *sched); int mptcp_init_sched(struct mptcp_sock *msk, - struct mptcp_sched_ops *sched); + struct mptcp_sched_ops *sched, + gfp_t gfp); void mptcp_release_sched(struct mptcp_sock *msk); void mptcp_subflow_set_scheduled(struct mptcp_subflow_context *subflow, bool scheduled); diff --git a/net/mptcp/sched.c b/net/mptcp/sched.c index c7c167e48d72..a053a9504dfd 100644 --- a/net/mptcp/sched.c +++ b/net/mptcp/sched.c @@ -56,7 +56,8 @@ void mptcp_unregister_scheduler(struct mptcp_sched_ops *s= ched) } =20 int mptcp_init_sched(struct mptcp_sock *msk, - struct mptcp_sched_ops *sched) + struct mptcp_sched_ops *sched, + gfp_t gfp) { if (!sched) goto out; @@ -64,6 +65,12 @@ int mptcp_init_sched(struct mptcp_sock *msk, if (!bpf_try_module_get(sched, sched->owner)) return -EBUSY; =20 + msk->sched_data =3D kzalloc(sizeof(struct mptcp_sched_data), gfp); + if (!msk->sched_data) { + bpf_module_put(sched, sched->owner); + return -ENOMEM; + } + msk->sched =3D sched; if (msk->sched->init) msk->sched->init(msk); @@ -81,6 +88,10 @@ void mptcp_release_sched(struct mptcp_sock *msk) if (!sched) return; =20 + if (msk->sched_data) { + kfree(msk->sched_data); + msk->sched_data =3D NULL; + } msk->sched =3D NULL; if (sched->release) sched->release(msk); --=20 2.35.3 From nobody Tue May 14 09:19:52 2024 Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04on2079.outbound.protection.outlook.com [40.107.6.79]) (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 51338813 for ; Tue, 6 Jun 2023 06:45:33 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=O/Vx8lnTivdBLnExKPHFqDjMeSxGY1tyReoKyIgVaU3BWZqq1SdwYN5HWwdIvFBqaTgLCdBPHJpKnC8ZWy3DHfoR5USTZVLCPA3EH2rxrSRaXx4ipYtGCBumWdxb3k4IJXAYWRS1s94JpjcBnfb2wyZhMp8sI0w1MfVl5i0RwwKcgQ8wrs0/tlrXQD1Md8eD3sw4PVOrtJUUjHM492WJguWz4hLqTCvjTAwQzbC6dGvOvK5Wc16aP04DvTjxZycZ70z0+PZUVgmlZB+5jAaUvj3gF4ojGZ9qZ95Wu2+gCk3NGSG+/FawqeSNTQlnJqj/BNFHVBAV/u6aO9P85b5+4w== 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=0Q4INmfgho9xg6KL19Hk5Uam9YcWUetT2OGIV4nX6Ho=; b=not/bkWremoXDQpCchaH+JFFPcXVYtJ4o2buXavXMxUHo8+cxzv905eDCiySL2JEyDe+czxziwh7cnM/vgD49AaR1Zji6n84kpfK39IZNETHMG5O4t6ew8z1Mhu2e40VpTIuaawzL++2Xw/jawxn1jlCNIwqOXwD/+BSfpR/5/HNICXmYAm+clQqOF8FK1nGnJkh37VwYA2BmAHnod8wmTv1RlKBfZf04WB5qWWyxoh8D/8QWmYWWqYtfntnvADEB55aAnFwPqAvKJHj6Hg2IepNamIur/F6kVLzjbO54nKed1ZXnLyn4GI905xMZo2LIkypTqoLjjsoaJ3H+5IR+Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0Q4INmfgho9xg6KL19Hk5Uam9YcWUetT2OGIV4nX6Ho=; b=XbVsuPpKdEoNaL1wUGMEl3qL+iGmngwYzG/irD0yS/X3VUVN6Usjc6yef/PR9O4tTC66n5rBj0zsAN4gCaW7W0mD5XenkP81V79nMXNm/avSVJfMi6Lwdo74l64Bs3B+0+hqSIc7uR532WncreS0xAHVlkMzy2DRQtBLKA8Eug4Pw3QFDrUjacIEEiDj8XCD9yrfY2mUbPlybk8kI2IA2pRCh+xaFuW3rUK4nM+ylPI5H9OyPP2/MhXWUorM4LmnroQPfTlJr9RVEOX6iTBbiiZk6FHBXhsNIuxHc8hAwU8AcMahPUm8aG9M18kusAw5zlaLzVMSNdWO8znRex3i2g== 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 AM7PR04MB7029.eurprd04.prod.outlook.com (2603:10a6:20b:118::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.32; Tue, 6 Jun 2023 06:45:30 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35%6]) with mapi id 15.20.6455.030; Tue, 6 Jun 2023 06:45:30 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 03/18] Squash to "mptcp: add scheduler wrappers" Date: Tue, 6 Jun 2023 14:45:02 +0800 Message-Id: <78c762473c2b299ebaa301b15fa9849ddf7d14ea.1686033694.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR01CA0178.apcprd01.prod.exchangelabs.com (2603:1096:4:28::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-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|AM7PR04MB7029:EE_ X-MS-Office365-Filtering-Correlation-Id: 45691365-f878-4e7b-355f-08db66599eb9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: OeEaYo+MqjMIp4YcTryBjcmotlZdZV+lh82vvZ64ASZoD5MAueWWjkak8JQznnFJnSJYiVr52zuyCWOmig2LuG4VK9qteAnMqTZbN2zrmI7VUOnDz8ECnLyxOMoz/c1pgiAYwGx6Wiyl6ySn1bHvNC0+O6xPcZ1HP+8KU4HJNpi+5e7cxUVl+O0fPrua1cMZgRiV/RDkhFPAh3khwvTG70N8g+FAOgw0IWRcBUdIhWKt6XfsxX+YTs/Z45hqrw1BK+R3Xoea+vjeY7Hq8BpoZm8ikL0PKX0V71G6YSpWRK5Z+Bc1ERpMhoApb2/kzXrGFtM1BMaVGZKoQBigMsnyPf59h8zGf0fuaYN6qvZNM/+TgH4YEtnNupSj+VT53Yu4utXGC06mfJneqVxArC4QFhyvy9r96BFUejYHpmf1EpCpRgvdO44da+pWyeyrKL7rNjrEzaZ026nS5CCF6m5EexgBD4sYo4Nn8QNmDBHwrcjfORLBtuMLAS1XLKTqMSvexHrrbHUVqmAa91Tisjat3D8zBBqGzS+n7ltIT0O7xQkRT9mUw0/HWdcP91QZdn1d X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(376002)(346002)(39850400004)(366004)(136003)(451199021)(2906002)(478600001)(8936002)(5660300002)(8676002)(4326008)(44832011)(36756003)(86362001)(66556008)(6916009)(66476007)(66946007)(316002)(38100700002)(83380400001)(41300700001)(6506007)(6512007)(2616005)(26005)(186003)(107886003)(6486002)(6666004);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?blylgaJcWHfBfUrg1PIg/gqVHq6KrsNepOa43eKKvkxSi0c1aRU/T7a4eIEl?= =?us-ascii?Q?QNnsSt/a5FlTHGTA0fWCz6AP9obah1G2JsyZI48AB1WbXVKxVNC+cCQd8vuL?= =?us-ascii?Q?doqzMBRzA+eY4joNuRHLPH5TFi02CvqHiKnIEOI4JvdZUREg6o/P7xt6L8T+?= =?us-ascii?Q?uS2IfKK5LeiQAMskMWPjGkI/Cgv+HtZ9CDvFwlcfLE41bSzEwNW98xidNMCT?= =?us-ascii?Q?Ne4EsnBnv/4truk0DtZb7TTyBbO1SYdoHMpSXLM+y71Db2kd3RA3nxcsvmv7?= =?us-ascii?Q?5qGff5NlHpZAECENFJP9IH5jOYoFYeRP7CUtdX/aRkdHmx8ZEXtaDQLDzHNE?= =?us-ascii?Q?L3kWbyIAdfCgi3ta6M2J2HKc+nQq8ugCTmVBa5wQQIOBdFOmPchAw7sH1fuD?= =?us-ascii?Q?DUlhvysMe1bD6IPFWKiwv4CxU7tjxP+YXvue8GDwwYaTk1AsrvbOmL0BKDH7?= =?us-ascii?Q?AOnVclbBbnyWQvsdW5tWXruuIu2hcurYS/D0SpIKVbhnnAhKtxCDGXQjPe7/?= =?us-ascii?Q?RHGzXtXZAi2TDFINr34PqvWEr4IKl4jHyicUICuaw6cfWJdH6qK66EVZIOVT?= =?us-ascii?Q?KJIxguvNcPOJ1kQj+/LC18j8JajSDpd6fS6etx7l2qxMaC10B3rWHfrIHdbc?= =?us-ascii?Q?SGvYJzQBLVSCtqJO6PKYGyC58HFjjHifYsDgl85Nek3qAnGTB1ptNWcpHVLL?= =?us-ascii?Q?34wvl8qiqU5Hf/BUmJUs+TjSdim2RJ2jgHcYML1Cpt9wutaLwoVIJ2sW07D3?= =?us-ascii?Q?DDEJGOF9nGOimt/JOaNRScWnQGFOY7KdU4Rd3lrYzr8DBetpuAWJqHvui8QW?= =?us-ascii?Q?fj152q0Ge6Kl6hgNxbnbmRBRQUK1cUMwacvZA5ToE35pwYl2OMfaNUjpsUDV?= =?us-ascii?Q?TZyBOnaAqQUnumxGlFF0kg4O+CmzUPTD1D+xi/cluD/hyxfIEyzopxnjoKWD?= =?us-ascii?Q?2tu10YKVnuzDNvSsR1zYTulmKTdpQBSV0CDmUYWrrUGooET+75owdRMzOmtQ?= =?us-ascii?Q?/8Aa1fQHpdF1jeGGBpSxO4aNymjntfQFUDm9hxw6wGSmhjTEncFtnvGcSOng?= =?us-ascii?Q?hXGwEn67hdpI92kVlc/kIf6gTh0n+mri9hTUj+HLuSn/62q2V06pfUb1hgob?= =?us-ascii?Q?vLf5COK5euAJBapxLpkjCPo4N2cax4qvEpKfSpb7suvGuDKhiABYOvvSzGQt?= =?us-ascii?Q?jk20TGuKVmaUStgrewxV/9DGa545iM4JSt7lsD+Zl6lMH2j7gw+RW6ix7JwF?= =?us-ascii?Q?J3wJfpcDOp1FpodaU0xH97vhcpJBgYnU32u63QRi5zWqCUM1qy/tb7sn1SYX?= =?us-ascii?Q?n7nyh86wqgIPl1AM/HzaKu5kYWTIo71LS2zYHONocMIc2T9U8JEoGRwQvo2w?= =?us-ascii?Q?AogLH0yi/poYEdP1cSbKdWxQrVUq+F2vRK45eixoGl4TlvHSirW/Tw89hPKT?= =?us-ascii?Q?dW20kIqVrd4jMdJwIsriaH00hzIw0at4p82pa+Pqt/365ArEY2ZvRaAX46cw?= =?us-ascii?Q?m9ya4IwBbeX3dlWy2JLGKD8Hyom9W/R+uvFrpHICvggaQ8T35cHL0CifwSz5?= =?us-ascii?Q?vBTGf9vci4iHHoZPIpQ2ygHJqNzbp0tIZnY8mfd3?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 45691365-f878-4e7b-355f-08db66599eb9 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jun 2023 06:45:30.5174 (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: 8fTF96h98S5wneolD0jNt7wiOY3U3BQvut6wpIq3hGrscG3eF4TfctpQ9d7laU6D50iq5FbcentxIT7h3B0Vnw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB7029 Content-Type: text/plain; charset="utf-8" Use msk->sched_data instead of the local variable data. Signed-off-by: Geliang Tang --- net/mptcp/sched.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/net/mptcp/sched.c b/net/mptcp/sched.c index a053a9504dfd..5438a86e897a 100644 --- a/net/mptcp/sched.c +++ b/net/mptcp/sched.c @@ -127,7 +127,6 @@ void mptcp_sched_data_set_contexts(const struct mptcp_s= ock *msk, int mptcp_sched_get_send(struct mptcp_sock *msk) { struct mptcp_subflow_context *subflow; - struct mptcp_sched_data data; =20 msk_owned_by_me(msk); =20 @@ -157,15 +156,14 @@ int mptcp_sched_get_send(struct mptcp_sock *msk) return 0; } =20 - data.reinject =3D false; - msk->sched->data_init(msk, &data); - return msk->sched->get_subflow(msk, &data); + msk->sched_data->reinject =3D false; + msk->sched->data_init(msk, msk->sched_data); + return msk->sched->get_subflow(msk, msk->sched_data); } =20 int mptcp_sched_get_retrans(struct mptcp_sock *msk) { struct mptcp_subflow_context *subflow; - struct mptcp_sched_data data; =20 msk_owned_by_me(msk); =20 @@ -188,7 +186,7 @@ int mptcp_sched_get_retrans(struct mptcp_sock *msk) return 0; } =20 - data.reinject =3D true; - msk->sched->data_init(msk, &data); - return msk->sched->get_subflow(msk, &data); + msk->sched_data->reinject =3D true; + msk->sched->data_init(msk, msk->sched_data); + return msk->sched->get_subflow(msk, msk->sched_data); } --=20 2.35.3 From nobody Tue May 14 09:19:52 2024 Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03on2065.outbound.protection.outlook.com [40.107.105.65]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 20BF5813 for ; Tue, 6 Jun 2023 06:45:42 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=G67VacQi1Ldt5wSyX4uMPcBW1SRBY48+zincD8hImNLZflcDY7pJILWiItwAgc6U3LDrJhCqeQo38w9uwC2AVVKtvBqziNrRWDwn445rrUVSi3WKiACK+dtFXlARGPp+GrGofUgLOoqWsNtoehxbRCYnelMPikTWku4jRkJecbSKfZe9h2OGm5g0VnTBJ0rhfRmo4ne3i4occJhiuItI6/l0FsugtJuEF0IVvK2GNoPYwi9KPiNvIMtQb7YYmgDiMgcp6NYVEw5cIX8ocGXfsZBUr2Hvo/L1f5+2/QrjRMFnTvn6eEXGgHxAl65enn7Y/k8Bu5T8MRBFNvnG2ymKyA== 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=QUPII91VbbbH5WnNXqpLx5RZRasL80tk7pFYPDg0jNk=; b=ZLAzEW6UOMuISSno6TJhI68m1APkvdiIh47+HpmXe7IblE4yGPq78OYdnf/o+wBdEY2ZgK/gkJn6kREUaFbkp3y+vL/l7AOn3YgP8B1wph8+qkYT3ajg6o4DWnXxan5C8fmEnZTKD+gnP2ugbU8yadS/H05gjCQAJz8WGuoHxu8B2g8iOiZeV/DmLb49DgZX5AyQaof3+PdPheAIRtoIqKrPH0glCipvQufXt6VxV8M/+BMKo+ClRSdxJd57sqxcvMIQgKC80A/AVEif0DrUs734kQyFdrv937Ph+XNdGH36t8XsucVxw+btBztCBg5KKwpnxUfDRE3t2BtSPWq2dw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QUPII91VbbbH5WnNXqpLx5RZRasL80tk7pFYPDg0jNk=; b=EqksqS+txXxpxf2uVBUIOqhGWLwnW/JDfa7Fl4Sopt6x4V1hexyYqo8KIgjUAsGZnR6eYpK79S6ukz34c5Y+zR/pXSIV/+jYu23Cej+lMe18oZhT265UbvkFZk1xhdQghYBDf0w3KvwaRF27xJUphugAMYSbRzU3B/uyc1MVsM7BuLu01J+APtu81QREP8B7urjShV7uTeRLNWCE2GH3eS9xjPqoiNUMdNluCpL+tTVACnG9Ic8okk65NWFoFsz6kEP2BjNGz1jBvrOguh/7ranCiONyuVtZJf5hjPO+bho0B+ynpjHbHevJKl0wKoeZJiIM+wL3F/sdi4yC4qjQsQ== 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 AM7PR04MB7029.eurprd04.prod.outlook.com (2603:10a6:20b:118::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.32; Tue, 6 Jun 2023 06:45:40 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35%6]) with mapi id 15.20.6455.030; Tue, 6 Jun 2023 06:45:40 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 04/18] mptcp: add last_snd in sched_data Date: Tue, 6 Jun 2023 14:45:03 +0800 Message-Id: <6083739fd4916a0e8480e896beeff0fa02d2665a.1686033694.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR01CA0160.apcprd01.prod.exchangelabs.com (2603:1096:4:28::16) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|AM7PR04MB7029:EE_ X-MS-Office365-Filtering-Correlation-Id: bc877644-9089-4e60-ab77-08db6659a481 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: PVF+Xxi3+Ka4gXOnIf9xp+Uc9qUWaoRQOl7hFxUeNLu0X/NFZJ1D04/aaK13BASMlKPC64A4RERtMlWJwPH88s5FGR1Q8pypmlAyERiVsK3t0a3UXqARxmyVPL19k51yZP8MpQqRz8NpdLu+FkuM17KrA2Dp8daujOjJYMV5sHoJVCQo9cetjWnYNURgLPCc77DHU/XEFKvwiAkN+pX2rdwiDsBRM1sVwYjGCCbHER9OFe9X7QBh6ARGwopB+upBmnfm6TV3CJD/UXIMJV15UzjytWjJ9kqXpYWywoeedfgRqKB6onkUvHwjvgEIqjYpGwmcmX2mAZ01yB9C4KMIzYg5Sh5jiCg+gWkjljc7nU/ddnHlEAWGY5i34GEDEraqAaFr5A0mFT/YM+DvD1hdbInnuXQFTRh9Nq9NRRhjd7SkU3nq/uvScAuXCpR+pTq3/EtExpgcVd+BwLOsrYqjT6EdQmoz2z/+C1jxLwPirVOh4pxQrp8LXOtSpTHvu6BhloovodzHAln1Zbx107yWCCL0uV+cM7FxhRCcO7yocQd/dwnmwBT2dlwv4JVWeMuR X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(376002)(346002)(39850400004)(366004)(136003)(451199021)(2906002)(478600001)(8936002)(5660300002)(8676002)(4326008)(44832011)(36756003)(86362001)(66556008)(6916009)(66476007)(66946007)(316002)(38100700002)(83380400001)(41300700001)(6506007)(6512007)(2616005)(26005)(186003)(107886003)(6486002)(6666004);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?RrolOtMnRMmCt7PKQqSwxGz7cc3iEsvH4Bqm7at40aVxYCBGTMoXQ5ACvf34?= =?us-ascii?Q?F4DUIg2KY4fo+oNaM3j9pIEX0S2uzZ9CKQfHtyhpVYtV1EXcNrsC1oTpq7D5?= =?us-ascii?Q?ORNGeXIPDyXESGBmm9/6mENoXVM1MjDDNQ6AcXuAce3LJI8rX6Y1QIDxkNVp?= =?us-ascii?Q?BDht8hFVfcoRtX9SVMvVw1+0MLpMk+Y7HJEgtNQLivC4wp8ZJcZW8tNttHuI?= =?us-ascii?Q?fBeNoZRdcrKvyMHquTJxx6K9R2P2NOyE985tT7jaKqtJq+rpQPVTBo5jGY90?= =?us-ascii?Q?m8ckE6vggomK7noWEz0Zr4G6ifd4tZ6FGp90zKjTt/CD6rqVKk6We6Zw8pNB?= =?us-ascii?Q?PdDhOZhQXcTN5Ef78tURU9xhaAArTMuI+Iyb5ubOBigMraCeJ4Ep1VL2JVoX?= =?us-ascii?Q?Bg3LiF9NW1FZZbXt0T0kUk5RKYAG9gtL5Z43fq8E/KcNR8uwFX+2ABv96tiy?= =?us-ascii?Q?FAliQa8xtTeaxgQIkSAaBgssvCQqd488Al0dAH9KO/k8mct6xPE/freElbzW?= =?us-ascii?Q?Uc1JnU//iEEHY8vG4LZDqwIWheLGOUGZ3c/4E7/PouGMJ+NbLU37vOlkfLqX?= =?us-ascii?Q?fP2n6VDF7sULqSYOaIDFeh+Y6qYSJXFeyEEk8JC8ym5446WwUpBea56gMHOY?= =?us-ascii?Q?U3aWFNxCIzFQ+yFb7Gu8NQRkGdKXsLQevfmtdqBWDdw+5+/PMatVwzXsSwjb?= =?us-ascii?Q?LyStBTvpX+tv6O9xD0D8o5UzzeSabYppq2TQOFMqTdT9VfFv0ZBddpSEjR1u?= =?us-ascii?Q?c2TNrFhrV4sQ3MWgUmKA8A0WLMyQ1xQzCXBsZIPKC0EDqXHUWxA4cbGHeg8P?= =?us-ascii?Q?7cyzh03wcNSnx5RclNg79U/YC7jtFR0S8SsievOEm0bO/4PNERAYmCAN30WY?= =?us-ascii?Q?7fMlzGA+2O/v/fuagBKFk5YIASeM+/MyHbQyugWW6YXAZziOo4P4nIRyNY2G?= =?us-ascii?Q?USCAvcvmfhSAg6wMUbvrPKKZCnzn7qZZk74QjtkIRdBUOfS3Xw4N6nE01D4O?= =?us-ascii?Q?hMLpj8EB1+wnhbbs64JFniwxWPUdStw2cenILwANEXIXavtgWphtYzdSM3oN?= =?us-ascii?Q?IGnKlw0pUujn9438anVXqjzzx0amAZDDp/1t96dNisZ/EwMZTZtcoigWAtTC?= =?us-ascii?Q?xOc7TALoNUlI476dmv20GRr6c1NAwAGFQgwh73stlHhzVXqbUSMiShC7dbFO?= =?us-ascii?Q?YDbhZ5ONxYxEK82vYDWNSYcqKUlZ+FgvAiQPmnXSezPYJ0TILCTCF8V4kb2Z?= =?us-ascii?Q?Ky8gVlSH5rF4BSeFY0jA9o9uEwuZXErGB/sJpWrxQl5uWCqkmN9nUKqIeBG2?= =?us-ascii?Q?uAE0tJr/BqILn0PBEBqx4e8V4koR8AdjU4eElmZfLjTTMYOcqKLuh00ujE1b?= =?us-ascii?Q?DJdQUGsNvp4mIz/vvLEPXE0JjfQ5KNGYuBTvJgjzq6vnCusQyDDlKvuQD/Oo?= =?us-ascii?Q?vkey8RfmttOazIMDDyrkf1DJnRIDYimbVQE34Dre1v/AGspW/AD97b6epGha?= =?us-ascii?Q?2r9xasrjAgROBEBi9VoiafEIbvgFyTa9KUwDxVZEoAaTrrRhOaW0C4ikG19a?= =?us-ascii?Q?QuamX2nInPrG/5DFapy4KrdZJpbXExUAjmnb0j+K?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: bc877644-9089-4e60-ab77-08db6659a481 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jun 2023 06:45:40.4233 (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: cdPCtL+6u8PmRac6aSp9LO3X2TBE2nHdTbc9E3C15oyHfnSGzFD/j5CfDRSyvALTpCmbFxQaNoAs06ENtTJpVw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB7029 Content-Type: text/plain; charset="utf-8" This patch moves the member last_snd from struct mptcp_sock to struct mptcp_sched_data to make it accessible to bpf schedulers. With this change, msk->last_snd should be replaced by msk->sched_data->last_snd. Signed-off-by: Geliang Tang --- include/net/mptcp.h | 1 + net/mptcp/protocol.c | 14 +++++++------- net/mptcp/protocol.h | 1 - 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/include/net/mptcp.h b/include/net/mptcp.h index 4bba29c99172..d52aeb8b4485 100644 --- a/include/net/mptcp.h +++ b/include/net/mptcp.h @@ -100,6 +100,7 @@ struct mptcp_out_options { #define MPTCP_SUBFLOWS_MAX 8 =20 struct mptcp_sched_data { + struct sock *last_snd; bool reinject; struct mptcp_subflow_context *contexts[MPTCP_SUBFLOWS_MAX]; }; diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index 380b7335618c..42adc14a073e 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -1619,7 +1619,7 @@ void __mptcp_push_pending(struct sock *sk, unsigned i= nt flags) continue; } do_check_data_fin =3D true; - msk->last_snd =3D ssk; + msk->sched_data->last_snd =3D ssk; } } } @@ -1660,7 +1660,7 @@ static void __mptcp_subflow_push_pending(struct sock = *sk, struct sock *ssk, bool if (ret <=3D 0) break; copied +=3D ret; - msk->last_snd =3D ssk; + msk->sched_data->last_snd =3D ssk; continue; } =20 @@ -1673,7 +1673,7 @@ static void __mptcp_subflow_push_pending(struct sock = *sk, struct sock *ssk, bool if (ret <=3D 0) keep_pushing =3D false; copied +=3D ret; - msk->last_snd =3D ssk; + msk->sched_data->last_snd =3D ssk; } =20 mptcp_for_each_subflow(msk, subflow) { @@ -2466,8 +2466,8 @@ static void __mptcp_close_ssk(struct sock *sk, struct= sock *ssk, WRITE_ONCE(msk->first, NULL); =20 out: - if (ssk =3D=3D msk->last_snd) - msk->last_snd =3D NULL; + if (msk->sched_data && ssk =3D=3D msk->sched_data->last_snd) + msk->sched_data->last_snd =3D NULL; =20 if (need_push) __mptcp_push_pending(sk, 0); @@ -2649,7 +2649,7 @@ static void __mptcp_retrans(struct sock *sk) =20 release_sock(ssk); =20 - msk->last_snd =3D ssk; + msk->sched_data->last_snd =3D ssk; } } =20 @@ -3160,7 +3160,7 @@ static int mptcp_disconnect(struct sock *sk, int flag= s) * subflow */ mptcp_destroy_common(msk, MPTCP_CF_FASTCLOSE); - msk->last_snd =3D NULL; + msk->sched_data->last_snd =3D NULL; WRITE_ONCE(msk->flags, 0); msk->cb_flags =3D 0; msk->push_pending =3D 0; diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index ac05fc317689..949f46d4c710 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -269,7 +269,6 @@ struct mptcp_sock { u64 rcv_data_fin_seq; u64 bytes_retrans; int rmem_fwd_alloc; - struct sock *last_snd; int snd_burst; int old_wspace; u64 recovery_snd_nxt; /* in recovery mode accept up to this seq; --=20 2.35.3 From nobody Tue May 14 09:19:52 2024 Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03on2048.outbound.protection.outlook.com [40.107.105.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4EF89813 for ; Tue, 6 Jun 2023 06:45:49 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bZWReUry5YvYil0aDgqn8IzDn2Ct4qCGdpUuFsDJdrBpIJBsqljJNjMVaCVmpPxNv7IWLGzWvDqJEeuPmMeB6Mc2ELPmshhKkJ6g9E3IbHSXRzDSHM5BZPjEh58R1ySz/TT/rufHzFS2tXwKZ87a+UhmLTZmt4IL0LFaNxE4Y2zXT6b/ZoLBEd9Hjb22N0jDw54pLKkpESnjQ2vL8IrrSkk24zKdslPNdCmZdrJJHOIAyP3w5MdRtgl+UQ3BD/muMMRfTxuN8TADGe3ssawtBDNRiOzcnTxk4SwoIf2iJyix2GOci0gvPunEvNAYHxQ5gicGRPhqjHNiLaVbXlVN6A== 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=u0gv1mvFKUIMpPvc9tNX5nkk28CQRKTkvJcnOwL4VHc=; b=JJvc91sJvqdEhM+cg1d9tTfqa8MWbwvsm8zQPzJOK839AY+tvxJx0V8Wo2Y/ClTUIJibC2nvalaLmi7EeAstXOCSjun2cQFcuKjolzBV5bzgoN22HM9TO5xhCVFvwOPJ91AY7HVM6JnlGDWwaYVNCUWtP48bD41X0W3HkPBMlgAw1vLlJSmG0oIhpxnz9OZxitf35AHrq9/qzBpMe87EN0oflZbNJOIqksg/GNRFehEyJauuN9DLMy4JN0Vl6/yFNv6R3+wardVK1kF+KYnTKhVVQ8KlzEGaVyH4hweM7VyeJcU8z3GnzSFQTgIcjM/8CKqLRpcOJN0tYJ8zyLjLgQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=u0gv1mvFKUIMpPvc9tNX5nkk28CQRKTkvJcnOwL4VHc=; b=qWx9oENr3ATD9po+V0l4+P8P+DZ4FqvAOtmRANFTOTzoKUODiIUKVSu/REHqzWdGOiF4mOYA2mvZvxV3HkigKlUraXRfnyPAFK3dIqAO5JcQkPj2zsHqL9nHNGhYYIx2VqlIPreIvYYXfhM4Ky+tgddg8P+qk2vy4odR37wEPknLZSfnCFFPczi16QjlL3kwpNJZB+FcbcEPpR1ts57QY8SjIh372FuutuB+kdwlilbmTIciljJZmKlgypHL6WS2qzzuDGUETqw82y66NG1bypaIUN0OuciDYHNnrOyLyrH6CFet/mPRe3nGp/3TyMWLkLJ/9WyzmQ1/CVCQGTqnKw== 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 AM7PR04MB7029.eurprd04.prod.outlook.com (2603:10a6:20b:118::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.32; Tue, 6 Jun 2023 06:45:46 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35%6]) with mapi id 15.20.6455.030; Tue, 6 Jun 2023 06:45:46 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 05/18] mptcp: add snd_burst in sched_data Date: Tue, 6 Jun 2023 14:45:04 +0800 Message-Id: <3b72e88150e9189231ebdbd81b09fe4c65a1c5c9.1686033694.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR01CA0177.apcprd01.prod.exchangelabs.com (2603:1096:4:28::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-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|AM7PR04MB7029:EE_ X-MS-Office365-Filtering-Correlation-Id: 69c616cf-bf65-4bfa-926a-08db6659a849 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: GS6P+slyFvJ3X56IwMwHu/FcUgmXECuiPqq5KEDncdYwRJmD2RGLpBto02eDDMVtAFEamDCophbKdnTNCMFxDKI+bIObV56hdmHVLAMxE229O1uG8UG57Fd6wVfbNV4o06wpDirR2nfzOSSiBZBRjpqb9+FePne0m2b9j744JBFbB0qiUMHH3bWJexFbfM/lnoWE2oNpSvjNZZhY02F7WrnFPayUa7/qrEybGSBUhmAQ4yDPaRs2eC2sV4u9BZbYctb9NvlOrZu7FL3GLlfxLCSsKGO/I0pqdZa9R1yv520G+YNkAMYcpAgFc1MjAstl/R9LL/rrHmSzuqaNaRFeqCpDRx4F4bInla66KCgCZ+z2yTwZgVCDlxkjRKk4tpCmwNtCd5fHqAu0+mYJqvtdQV74XvKRIPJ3Y0Uf88ZAUU4d+iG/2SlIqCoTpoSHvC2jYPTZLrBEXXgWw/iem9RIvEN5M1G0AroeLQwSU0aNDo3rot2XMykvze/ZfYN/lym5FdAGW00/l/Ej6emTjRDYc/e/SnUhhLRCE/HXzVULlcNUjgjeJKMdJqomkjcWYqie X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(376002)(346002)(39850400004)(366004)(136003)(451199021)(2906002)(478600001)(8936002)(5660300002)(8676002)(4326008)(44832011)(36756003)(86362001)(66556008)(6916009)(66476007)(66946007)(316002)(38100700002)(83380400001)(41300700001)(6506007)(6512007)(2616005)(26005)(186003)(107886003)(6486002)(6666004);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?FeRnsKsJts5tujy5dYZ+ekwSluHU/o9m/0xGYb6fJcOfjjfKaUgx4LmczgyW?= =?us-ascii?Q?9XvycrSonSD3jWzLyjKrkMPFcUPdhCC14l7MhZGjiq8+cVh5hJ2nMuZ9W5WT?= =?us-ascii?Q?wcE4TzsOKwAp9CL8MlNAaJGHRNgGNWEdfjfhKaNKnBFdSUjRT1OWPpg0Di3e?= =?us-ascii?Q?16v61hR/9k5EBamUnvZKYPZgcykvjTPdHxbXM1N29NrrXRQokiO9z810Xsxu?= =?us-ascii?Q?A2G6iJ+44P4mWmOMSuB3tCggg6WcoWSAB0lCAtHIiKh8f75I7iy/eV7QA+bz?= =?us-ascii?Q?yKlIFn5K4ChOq4aR4bRy4UNpDgAnJ77pmhjfYpV2s0dxKFZRDa9+eJVTZc1a?= =?us-ascii?Q?ZqkEQDWpkH9SmSn30ZfNe7QRBxHpNdmHEGa4m+OyKRBwD4xrbvKLRTjVx7Y6?= =?us-ascii?Q?5pEyN0pM43yjbKKKxxU3gZVWGaV221lHGSz83e+jOYjr7dNzPWr2m02mgO7R?= =?us-ascii?Q?ipEkN+EHeZXqj2Gz1ibRS7K8WldnYUHfihKXwchYEbNqzph8QUV6DDqHc8SS?= =?us-ascii?Q?XhRcNVUqFgI4L91Uk4dDdtKwgoe2qhodCvSRsY+DoeZeOhUiIT3GoYt3FKVr?= =?us-ascii?Q?UsT558FyPlix2AuADAds0wv0d0iM+Mwijk+3f11mmHHKfD7PeOVFslDNnWc0?= =?us-ascii?Q?ZhMjngLMWuYNQYeQdg9FWL6RHdbZUI3Y/NZFMRMwpo8mJtLB0cOb1fMoJtmv?= =?us-ascii?Q?ha4xc6I03xGYDIuIbyGD7eHI2JGXXoSLjaowxGPqNwA5hoBuzJ+oKvrgBJhp?= =?us-ascii?Q?jn0N24anK4GUnOvZrQV9+hhVd92+DNL5GBSGAr1Gp/n65vE7HEnYEKkL6ERN?= =?us-ascii?Q?KhYu3jJsFfKVx8O+8XzhJfyHP4IprWNEO4pgRVjputQxIg9c2Wg1AO6h4+SP?= =?us-ascii?Q?xJ22fubg1en38QcgsfP7g3hQGxjc0ZuXODGhdIAQn5lreL3rq/Paufwtp4P1?= =?us-ascii?Q?r7Fhi+CDaVNeDOqDbORfZxWpOyj1Eo77lROWemUxcLhkaoLWs2bOob+swMDg?= =?us-ascii?Q?lLGiyDIUVl48YcG/AWcmUEVHScA83xOf7od/IlOu7ePcMvAvd66W5ThJf3QK?= =?us-ascii?Q?/OVOvBahg6kzPW55OEDZL/wp9tWnTRmRLFLtQ8TnGoBanNH3v3xZZYwNMMKM?= =?us-ascii?Q?9qOER4mbfS+jRSchlJpTr8aotPEwoe4EfIQsW84tA5XcAlZoafDIhr+xBs2L?= =?us-ascii?Q?M+Q7M3bEtIevU5INiDZwbZWq5f07N8plf0EtGEPyqNdhy61oSpYZ31AjfLPp?= =?us-ascii?Q?O6JJC5sZG0kFuQVspxd5DpXQmfLjojI2VnYmGmXGzC1PlpNEXZ1kNi5kgL+E?= =?us-ascii?Q?E7sqBfBGl8x6Hp6Ohb2nbgEnieBOpUjvlQtXnOR/z/741rI2iBSjmDMaAGdM?= =?us-ascii?Q?VAxjkd0tzqHAD3AUv/kp29VSXxzHk3AhUmS997Zi0c3fRr7xBqfjbDNVCHSS?= =?us-ascii?Q?8XUMRtsNPCjhH4gxhuxDOKf9/jytcH2hbff52XL2mo97a0iP0KRZoRJ2prTc?= =?us-ascii?Q?O5GVbTzU1djOSOFXJagK4Y8kY/JsqOp5p+CLiKvn49h3qfIb/yTi5t5v75bP?= =?us-ascii?Q?BfxmV3nELbENUq3ApIkny5x2tzAGbun/Ey7+bgJk?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 69c616cf-bf65-4bfa-926a-08db6659a849 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jun 2023 06:45:46.7436 (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: pN5deLDT6/8IPM/T2NeS/1HTTabD4q8wyOIemPCeGAsRVHiUCsUD+tYdaniUziB+dSkC73bw2OcfY/eJ6ZI/tQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB7029 Content-Type: text/plain; charset="utf-8" This patch moves the member snd_burst from struct mptcp_sock to struct mptcp_sched_data to make it accessible to bpf schedulers. To make mptcp_subflow_get_send() adapt with MPTCP scheduler API, it's necessary to make the msk parameter of it const. Also an new parameter sched_data is needed. With this change, msk->snd_burst should be replaced by msk->sched_data->snd_burst. Signed-off-by: Geliang Tang --- include/net/mptcp.h | 1 + net/mptcp/protocol.c | 11 ++++++----- net/mptcp/protocol.h | 4 ++-- net/mptcp/sched.c | 2 +- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/include/net/mptcp.h b/include/net/mptcp.h index d52aeb8b4485..fb4e6a59afc8 100644 --- a/include/net/mptcp.h +++ b/include/net/mptcp.h @@ -101,6 +101,7 @@ struct mptcp_out_options { =20 struct mptcp_sched_data { struct sock *last_snd; + int snd_burst; bool reinject; struct mptcp_subflow_context *contexts[MPTCP_SUBFLOWS_MAX]; }; diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index 42adc14a073e..27feabd92b3e 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -1414,7 +1414,8 @@ bool mptcp_subflow_active(struct mptcp_subflow_contex= t *subflow) * returns the subflow that will transmit the next DSS * additionally updates the rtx timeout */ -struct sock *mptcp_subflow_get_send(struct mptcp_sock *msk) +struct sock *mptcp_subflow_get_send(const struct mptcp_sock *msk, + struct mptcp_sched_data *data) { struct subflow_send_info send_info[SSK_MODE_MAX]; struct mptcp_subflow_context *subflow; @@ -1484,7 +1485,7 @@ struct sock *mptcp_subflow_get_send(struct mptcp_sock= *msk) subflow->avg_pacing_rate =3D div_u64((u64)subflow->avg_pacing_rate * wmem= + READ_ONCE(ssk->sk_pacing_rate) * burst, burst + wmem); - msk->snd_burst =3D burst; + data->snd_burst =3D burst; return ssk; } =20 @@ -1502,7 +1503,7 @@ static void mptcp_update_post_push(struct mptcp_sock = *msk, =20 dfrag->already_sent +=3D sent; =20 - msk->snd_burst -=3D sent; + msk->sched_data->snd_burst -=3D sent; =20 snd_nxt_new +=3D dfrag->already_sent; =20 @@ -1555,7 +1556,7 @@ static int __subflow_push_pending(struct sock *sk, st= ruct sock *ssk, } WRITE_ONCE(msk->first_pending, mptcp_send_next(sk)); =20 - if (msk->snd_burst <=3D 0 || + if (msk->sched_data->snd_burst <=3D 0 || !sk_stream_memory_free(ssk) || !mptcp_subflow_active(mptcp_subflow_ctx(ssk))) { err =3D copied; @@ -2355,7 +2356,7 @@ bool __mptcp_retransmit_pending_data(struct sock *sk) mptcp_data_unlock(sk); =20 msk->first_pending =3D rtx_head; - msk->snd_burst =3D 0; + msk->sched_data->snd_burst =3D 0; =20 /* be sure to clear the "sent status" on all re-injected fragments */ list_for_each_entry(cur, &msk->rtx_queue, list) { diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index 949f46d4c710..a4db0f8f00f4 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -269,7 +269,6 @@ struct mptcp_sock { u64 rcv_data_fin_seq; u64 bytes_retrans; int rmem_fwd_alloc; - int snd_burst; int old_wspace; u64 recovery_snd_nxt; /* in recovery mode accept up to this seq; * recovery related fields are under data_lock @@ -668,7 +667,8 @@ void mptcp_subflow_set_scheduled(struct mptcp_subflow_c= ontext *subflow, bool scheduled); void mptcp_sched_data_set_contexts(const struct mptcp_sock *msk, struct mptcp_sched_data *data); -struct sock *mptcp_subflow_get_send(struct mptcp_sock *msk); +struct sock *mptcp_subflow_get_send(const struct mptcp_sock *msk, + struct mptcp_sched_data *data); struct sock *mptcp_subflow_get_retrans(struct mptcp_sock *msk); int mptcp_sched_get_send(struct mptcp_sock *msk); int mptcp_sched_get_retrans(struct mptcp_sock *msk); diff --git a/net/mptcp/sched.c b/net/mptcp/sched.c index 5438a86e897a..a6210ec4ba5f 100644 --- a/net/mptcp/sched.c +++ b/net/mptcp/sched.c @@ -149,7 +149,7 @@ int mptcp_sched_get_send(struct mptcp_sock *msk) if (!msk->sched) { struct sock *ssk; =20 - ssk =3D mptcp_subflow_get_send(msk); + ssk =3D mptcp_subflow_get_send(msk, msk->sched_data); if (!ssk) return -EINVAL; mptcp_subflow_set_scheduled(mptcp_subflow_ctx(ssk), true); --=20 2.35.3 From nobody Tue May 14 09:19:52 2024 Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03on2075.outbound.protection.outlook.com [40.107.105.75]) (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 F2A81813 for ; Tue, 6 Jun 2023 06:46:14 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=B14G86p5DRAyzzUW2bjpq7EK408VeRBNIm+P6ToKf0Fe+KhUyBiuGK8T5TWoD8/OpvL8cdo6bCtf6GEcvTVOFbDNHnWAtkO+ZtlMy996zaBD58gCLr5rh80ODuIX9qP5AgoV/ogBmcmMElkDwQkxrdtB2+jhuh+LXMmawEAzYJFquB8e+kQaY36QkOmysbleMb2tTqJzt1TwIxw7no2E02f0WOxHZgiTXkTpXjAI7dRiDmTDk1P/pYLlUiQ02LP6GvfYLvliPlQ0x9gN8/KnJ7KDXi2OE3QMZhDRZb7Z6y+QXiU2HWN/qU0k4eCDI6GbKvk7fcbyuUncgVSJfiTmkg== 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=JS8c1EqXR3krYfxygTOEkOTHUBOuEaLcpjUYibQkHjA=; b=fnKbZayevxa/pe/TjE3DJ5n88OHF8+J+abQIqDjWL0s1Xc1rQ2ov3hALj3ii9TLPCVgNKY6Qr+txWYWsFrOPEUyNA9mtxklCPkO7UAaj2XgcQUKv6+IUWERt5n0/g1ziWHtBpNjjw8woVT6A8TRifNCMyaPyak3iKGKNS99BtiFm5PgJwyYTVgtq5pJDmtw5a0osay9c6Jrj5QgN1HY2sOlRHq3PuGv5hwuQGeTVBb/Ax/9+H9i5ULEgK1eQtfzMyAlw/oFLLruRQFqPtA2CH2Ja2jO/B/GtNBGMDSsXoGRE8wFN/eZ8fYMy3lsKIi/9GT8uAtHuMDzFrPaD9BqP2Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=JS8c1EqXR3krYfxygTOEkOTHUBOuEaLcpjUYibQkHjA=; b=hk5kge8pb0U61uY5Y/Nlyjlytq2A6FGg5Ykb4ilmDOHzx8xrhwOwdH/TVUmVTfUJ9t/pA+vsrGyTbi09GuHWDNaWuNSC2qj4keQg7Cxu3P6nEMLoAYV8qddpDN+r7wcfsZywDtx1cHGROHXiEMul0OUSSH0fx+2wIPaQPfwDagUp8Up9/L32RES1KatnAxPkAB5hfex4eyjWx5vyg8sfFY5ggszTIgH1A2EvzwQd5CowSEY7NpB3ZZsN148CR3T19eiBCmmmcHIQ/MupKp+n6rhBcMVd9ITOBzQi8nf4ZAFQeunPfxaE/Z94aW5ffXx2omlOs/YsHwOs+RqJXRVpQA== 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 AM7PR04MB7029.eurprd04.prod.outlook.com (2603:10a6:20b:118::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.32; Tue, 6 Jun 2023 06:46:12 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35%6]) with mapi id 15.20.6455.030; Tue, 6 Jun 2023 06:46:12 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 06/18] mptcp: register default scheduler Date: Tue, 6 Jun 2023 14:45:05 +0800 Message-Id: <288dd136623517b207b1a315030bb51ecdd0a829.1686033694.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR01CA0161.apcprd01.prod.exchangelabs.com (2603:1096:4:28::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-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|AM7PR04MB7029:EE_ X-MS-Office365-Filtering-Correlation-Id: 7de04133-cd79-487f-cb56-08db6659abe1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qeRfkm3kfoAlhnSgvtAEr2zLgHZAHQKZrJntyoCOLSQ6DIS3Cq7vDYPf/sm3EVcU3KpRfD7z4tFW4p5JKahP8Xl3P5JCzjjNfb7X/U3Olh9PO5KuWUzqMN3/HEoQLeIpLe5EV2EhsP8S/FM5Ht6SKdgp9XX2td5BFgQ43gN7A/Ycpw5JhTZD+LsMwhVardaqYYCGdXqME7lYechdCeDvyQTmuBNzFR3CnnCdHuf+Li5sY7d0Th11ZjKodR4qLgl/KAa9aKJbsBSPEhTxbD32zB+R4GGTPiVjK6HcPQIX2DerA7Csapw3xlUH/3/yz0mvbWfXcMDMyQxIRPLZTlgUx7qiSt1fJ7aR7sxv7oEfYqzG/L5C+uZPbr289bU3RjGXNpETqSWwt0Sn3EFzqpv1gSsXNzD36xiYMr4sajLrm6xdIbIG7IOiIwYGeZUXNFSFprk3/g7qOfcFOf3fOhwZJe9bnniUmNfoepEFPeDejl4LfwIZyIZ93lnhjO6KD88bVBNs1y83HC3zMbtbWINJHYqgYMOfIUupwyIv5qZkfa/TtmRmBfpu6d3WE9PzFMM2 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(376002)(346002)(39850400004)(366004)(136003)(451199021)(2906002)(478600001)(8936002)(5660300002)(8676002)(4326008)(44832011)(36756003)(86362001)(66556008)(6916009)(66476007)(66946007)(316002)(38100700002)(83380400001)(41300700001)(6506007)(6512007)(2616005)(26005)(186003)(107886003)(6486002)(6666004);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?YAme0NBfP7JXBX2MdecdjYy2euypOLpAAZ1nbk11zZBUBAzmVrcl0Ti9afx3?= =?us-ascii?Q?Xb/C762AuTJ2INvPgQfyjDg5mwXjy6x12n6QUzpIS2fPCBbYz9g36z37zzIW?= =?us-ascii?Q?7+lxdj5E4IyJ3TyoiepcvXpRiUjohzZWqnQvn40++DXjSxVxCktccARHvdFr?= =?us-ascii?Q?hGACoQeDhP8k/Mik1qE6rGGoetm6qBB6wcrgcTAegxSk60UjFQW8xylSYAAI?= =?us-ascii?Q?eUST87wImmesy9xQ1fXIvkFupE1mGyWdOxqBm0sFI5PaQDBMo3C+91edJZ/+?= =?us-ascii?Q?Xzw70eQ4lks/ggkzJrNH7pxQRT/m2XCUKlQQ6J/nJmTXwvxhk8hBilFAUjtE?= =?us-ascii?Q?kGD4+SWsayyUJioSOlJdEhNxU49F7776ZMz3Z6DeuiRnvIWwg98UKnj7/CgS?= =?us-ascii?Q?45Us7aKhPHeWIPoyvnzBmYmNAceUvCKZQfQi9kwCmCfI7sqydp/zUOGSmcRL?= =?us-ascii?Q?dnhG685RuX7aZ1v7dTla0i4Ze0nvKoOlx20fqKgurLQNp0dzvaORTwMUx58t?= =?us-ascii?Q?rzZR/mT2QYBqntWpl8ruruaebe9UnNQIMEe9RWwt9WFgMBlBFBh5mEFuSAbj?= =?us-ascii?Q?OHV95ii4jQd8WPXMu/LPMZYh/7R5VYuJn82Rcqa7mFxs8P/Pe5LHs7Q+3Q0x?= =?us-ascii?Q?W4B7pIp+yiPjdOUtVXdEJB6XoYGZ0ogHwaaUKyqh2h9IkVai3sYZVdx4tSfr?= =?us-ascii?Q?Akj/MwEjvuwHkzT4R8xPgmdQajUjt5FpDAB4FYpK7LFJpBCqhMjzqCw/Uh9T?= =?us-ascii?Q?SJu/6NtFkW0U0fzJ6/cWq1Yp14EfuIgwC72Wuf2HsZyKG7p+HjLl7SSPAc3u?= =?us-ascii?Q?iklpAaSJbyke/PuxhE9BMeWswLmeZnG4ON12HWhJgz5DQNuqzOihEif76qf3?= =?us-ascii?Q?4cU7t+fi0BJbIhOE08FGchOR4NC6DkuoE0Mna9guuyYQqrSPaC1usZAqETdO?= =?us-ascii?Q?pn5V3pNU7omqxTT9+qdpppAN57MbCB6Db69l96rzAaub1bJU9jBVy2Jxf+kz?= =?us-ascii?Q?e1OyIbxpY/2ONf5AmE05dSZqBX11vQB69yH4MxzJO8ZZ8DEqdQ3HLQpLw9zA?= =?us-ascii?Q?jZYFfjxYpfoA7nlvdopeZ8wM6nhUWahchSak2dQPSACSd95cR2vxwB8nIKC9?= =?us-ascii?Q?7ryajLIynVsbT84kF6qsLwND9NDQCyvKVxMzAyGwE11B593nghgWNWiMAKTz?= =?us-ascii?Q?t2rPPd/q5ci7n0tBvStrAjqlSGiBtYvKEpydxgK2YD01UZrtARa56DwC9l4m?= =?us-ascii?Q?iuuV4fvpYTOA9M7sbSF0qzv6W1imlOHQnagIKH3P4YpV5lf4rDqbd5X7N26w?= =?us-ascii?Q?8KP29oLoBqt+LSAJU7heORPfN0WEeDJS6CPMBHp7Jipn4EbKXjvThcvh0uIh?= =?us-ascii?Q?YV3b5ocqw/NkC3DEM8SL2gJLFmov3dxPQQ3R/HDtPEtHqkP3NNnPWxKkWjrZ?= =?us-ascii?Q?d5LlGlCHV/DCamyVJba2X7v3hWTRMntdQbrpmHWHIpVyfubzOPzXxElV+x3B?= =?us-ascii?Q?l7F8OBRV3Q4WvevN6F74sVAzCH4pEBFhs1ww0BWeLpjC8E4f6VVugwgL5PyE?= =?us-ascii?Q?cDAoQklYml96SfsMcFP3EV6VjC7tz7JWaDX5dweq?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7de04133-cd79-487f-cb56-08db6659abe1 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jun 2023 06:45:52.7615 (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: CT2lZgev8Vl7Z2aQx0+i/WBwosIPNRTFimxpQC1DLj/G8ZnVxWVdQKB2cSR62iALPPN83W2I83FpEwfluiRIOQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB7029 Content-Type: text/plain; charset="utf-8" This patch defines the default packet scheduler mptcp_sched_default. Register it in mptcp_sched_init(), which is invoked in mptcp_proto_init(). Skip deleting this default scheduler in mptcp_unregister_scheduler(). Set msk->sched to the default scheduler when the input parameter of mptcp_init_sched() is NULL. Signed-off-by: Geliang Tang --- net/mptcp/protocol.c | 3 ++- net/mptcp/protocol.h | 3 ++- net/mptcp/sched.c | 38 ++++++++++++++++++++++++++++++++++++-- 3 files changed, 40 insertions(+), 4 deletions(-) diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index 27feabd92b3e..27407b48f3ff 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -2284,7 +2284,7 @@ static void mptcp_timeout_timer(struct timer_list *t) * * A backup subflow is returned only if that is the only kind available. */ -struct sock *mptcp_subflow_get_retrans(struct mptcp_sock *msk) +struct sock *mptcp_subflow_get_retrans(const struct mptcp_sock *msk) { struct sock *backup =3D NULL, *pick =3D NULL; struct mptcp_subflow_context *subflow; @@ -4030,6 +4030,7 @@ void __init mptcp_proto_init(void) =20 mptcp_subflow_init(); mptcp_pm_init(); + mptcp_sched_init(); mptcp_token_init(); =20 if (proto_register(&mptcp_prot, 1) !=3D 0) diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index a4db0f8f00f4..12c8c95abf52 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -659,6 +659,7 @@ void mptcp_info2sockaddr(const struct mptcp_addr_info *= info, struct mptcp_sched_ops *mptcp_sched_find(const char *name); int mptcp_register_scheduler(struct mptcp_sched_ops *sched); void mptcp_unregister_scheduler(struct mptcp_sched_ops *sched); +void mptcp_sched_init(void); int mptcp_init_sched(struct mptcp_sock *msk, struct mptcp_sched_ops *sched, gfp_t gfp); @@ -669,7 +670,7 @@ void mptcp_sched_data_set_contexts(const struct mptcp_s= ock *msk, struct mptcp_sched_data *data); struct sock *mptcp_subflow_get_send(const struct mptcp_sock *msk, struct mptcp_sched_data *data); -struct sock *mptcp_subflow_get_retrans(struct mptcp_sock *msk); +struct sock *mptcp_subflow_get_retrans(const struct mptcp_sock *msk); int mptcp_sched_get_send(struct mptcp_sock *msk); int mptcp_sched_get_retrans(struct mptcp_sock *msk); =20 diff --git a/net/mptcp/sched.c b/net/mptcp/sched.c index a6210ec4ba5f..fdf2459a0fcc 100644 --- a/net/mptcp/sched.c +++ b/net/mptcp/sched.c @@ -16,6 +16,33 @@ static DEFINE_SPINLOCK(mptcp_sched_list_lock); static LIST_HEAD(mptcp_sched_list); =20 +static void mptcp_sched_default_data_init(const struct mptcp_sock *msk, + struct mptcp_sched_data *data) +{ + data->snd_burst =3D 0; +} + +static int mptcp_sched_default_get_subflow(const struct mptcp_sock *msk, + struct mptcp_sched_data *data) +{ + struct sock *ssk; + + ssk =3D data->reinject ? mptcp_subflow_get_retrans(msk) : + mptcp_subflow_get_send(msk, data); + if (!ssk) + return -EINVAL; + + mptcp_subflow_set_scheduled(mptcp_subflow_ctx(ssk), true); + return 0; +} + +static struct mptcp_sched_ops mptcp_sched_default =3D { + .data_init =3D mptcp_sched_default_data_init, + .get_subflow =3D mptcp_sched_default_get_subflow, + .name =3D "default", + .owner =3D THIS_MODULE, +}; + /* Must be called with rcu read lock held */ struct mptcp_sched_ops *mptcp_sched_find(const char *name) { @@ -50,17 +77,25 @@ int mptcp_register_scheduler(struct mptcp_sched_ops *sc= hed) =20 void mptcp_unregister_scheduler(struct mptcp_sched_ops *sched) { + if (sched =3D=3D &mptcp_sched_default) + return; + spin_lock(&mptcp_sched_list_lock); list_del_rcu(&sched->list); spin_unlock(&mptcp_sched_list_lock); } =20 +void mptcp_sched_init(void) +{ + mptcp_register_scheduler(&mptcp_sched_default); +} + int mptcp_init_sched(struct mptcp_sock *msk, struct mptcp_sched_ops *sched, gfp_t gfp) { if (!sched) - goto out; + sched =3D &mptcp_sched_default; =20 if (!bpf_try_module_get(sched, sched->owner)) return -EBUSY; @@ -77,7 +112,6 @@ int mptcp_init_sched(struct mptcp_sock *msk, =20 pr_debug("sched=3D%s", msk->sched->name); =20 -out: return 0; } =20 --=20 2.35.3 From nobody Tue May 14 09:19:52 2024 Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03on2075.outbound.protection.outlook.com [40.107.105.75]) (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 455F1813 for ; Tue, 6 Jun 2023 06:46:17 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nDOsSAeW5V5pJvtcqvfLbuiprTej91HPVJS/ap8I8s+xST/woij1XyIFWFsYaExpNpSUTpnqZQeTQSBsSD/N7cS2b81dg2pKDZA6dAB6Ohn4p9PG/Lpn4939I0uHMVI4fVLDt4aYivqeRIHhhr32DPGNYGPPnRoxnP0yvi3IjNKqCa+T4Ai1rhPa8GHztezE8WrMXi1KvJgsF25+D5/bCnA63coko/YI6hGJa38WUlVftFsguCzgPL26kFU71+p/LokXSuLbEtzL/TvdWZofXTlKiWSBqFVCpr9QO8pmlGdNUwkWrSkk7e2P8gK4fyu1tX9akvsOy+3Vl2CC4d6DPA== 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=z9PI2sV7MlipZTri3SLbscvZ4LbuFBwFaRdlDVp8dUE=; b=JGKQ52k2HRDOY1sUSSDLPqfpZxDIZ8NH+vcf8xE1EOVitZMj4rBrmhHjMSlfaqS5fuiJ6+26M31pZJUPMYBgPWQQ5L77MGrz2r6ArU5UUlrTqgYXJbfpTJTCAHK2wm3Z9rGC2T0URxAeVyowwrsUM7iaAVK3pGVESTeJsaHumZMB+p0VNhVJqBVuDMR1NwYBIbyWlhaOloRX0hcoN33d/Qt/KKJvMWO+8Aa1nlYylGngqKd+j30s+SXucxqWecXlilvMuarMcr/Fjwqxis+L2aTKoLkzNFLDmyDtoOxYr2FxTZ2R+7MQoG1POQecTM8faqQTmMxhne+QWuyHcu+Qxw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=z9PI2sV7MlipZTri3SLbscvZ4LbuFBwFaRdlDVp8dUE=; b=tzIf4b/LJfuwASyrf+J43JJsZvMFg9JOecrSfuNbHOMBHrEi1W9VeLY6MljR6U27JyPiFlNAg8JCQsIigBuQkTz3Ydys/Mer4GuFd1VM0TrTkLaaXtRJbhqNSV1klXvdXXal0xNRraYk5DWD9LMiS2hhkBwFQmySOO30CD8SCcxlu+C24k8ZwyYcgG0AV4+Zx+wFad8F06/XClFPkOOqxg4SxZqzUPwnKngiOrLar5cK2d095+H4KWaDKnUC68y27F9l7Wf9gUnROyVKnYwAyYHoxItcnKo7K21d4Thx8PqH554+w9PKjMSx+PuxIoh7KqtisjW4qQ0CfgPAhbcqww== 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 AM7PR04MB7029.eurprd04.prod.outlook.com (2603:10a6:20b:118::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.32; Tue, 6 Jun 2023 06:46:12 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35%6]) with mapi id 15.20.6455.030; Tue, 6 Jun 2023 06:46:12 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 07/18] Squash to "bpf: Add bpf_mptcp_sched_ops" Date: Tue, 6 Jun 2023 14:45:06 +0800 Message-Id: <2cddd5e32bd51d68d30f7196acb29f608de45cad.1686033694.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR01CA0159.apcprd01.prod.exchangelabs.com (2603:1096:4:28::15) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|AM7PR04MB7029:EE_ X-MS-Office365-Filtering-Correlation-Id: 9a49eba9-11ef-481e-6688-08db6659af7c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: LT4nRa8KaNyFfXFCZ/j9MB/wkDT4ktkrRPD5VqSMvJAHoO0C19y68Sq9DsGrM30+QNySd+8MGut2x+e5AxaOY39VHVmr8pB5B9cbn2u4rWWWdqqKXpnFN4jC4rldJjEqytMpfnEXf2c9WWZo4qZ86JqTrkIkPdyiT6ujzpu1E50syGS1IJredM/lt4eNKR779qNEWz109P/nvf6E1dccoMdcEL1YvayKGgPzfNWajxdTfZetYM8LiE16NnJps2uQxp7dENf7xyoWIN3Rhat8+sdFzq32YbC2GAyCFh2GZIXQxesmcaaBzlDKA7qiG8bmpWBR17P6ukO0ITyp2njkJtOvX8SbvF3zbsZYlNTF5Wh+lU8vMsD/jKjlIWdtlbdvlWVpWh4Rf/fyC47rh0AxBWAValPEGrEql9Tldalkxg6DqUX4cpx09g1cH3rAFXAwM5vpgTDJiZrm6Zr6Qm/h4qkZz7ex6Nms8SPSwiWomdMM/zh1fFahxmQMhZlJtWhIldTtmLyL/oPwL80mwOOtPsFruHPYN4QmklPP3SDg4RRZ88BX/YoufpujomLQT6Wc X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(376002)(346002)(39850400004)(366004)(136003)(451199021)(2906002)(478600001)(8936002)(5660300002)(8676002)(4326008)(44832011)(36756003)(86362001)(66556008)(6916009)(66476007)(66946007)(316002)(38100700002)(83380400001)(41300700001)(6506007)(6512007)(2616005)(26005)(186003)(107886003)(6486002)(6666004);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?MY4ZLhRV0AYd/BMpA0HaYJ2bZQhETKB/VW45e7OfknZLSHnRBbXvlZI9OtxI?= =?us-ascii?Q?e354xmT6T+BHz7ki4Pu32PEl7q2d/G5dqSRpmOlZQ1iuPUJHiXjFWZeNcsQv?= =?us-ascii?Q?/AgD5skraIk8czB4n/EjBhT1I437daMKuRONd+xMQZa1R9SroN5Vkz/jy8li?= =?us-ascii?Q?bdlpvVAcKmDaSYwAdYNB7Y1lxFAScPr0li+sI50z0vV4R0Bxt3BfWYncZd8q?= =?us-ascii?Q?4MgKkrv8WO29Onwze3FPInuR8OzLPqxS/siDJ4L0Oan39NfpXzW0JRkPTUN/?= =?us-ascii?Q?8hsHUGhBnVYA8+/qbmHVQDEcqcMnDOyJmgvVA8B63OoOEL3Nz8+CUJzqNBqS?= =?us-ascii?Q?JxnPz23TWsUgRyijcMjPhzGHZ7ZRwzKjCdElGWECLch3KkV0SWaCmjHvBkli?= =?us-ascii?Q?12p6TNZ7bhNZxRKQozQiEUWo5PGD3O2P3S7OQpgBd7+J5eVg0wqWPFk+ip8p?= =?us-ascii?Q?uOMfTwj6wcotzE8ze3pHjiHuAKAToodd0BbfYDPfGADMX7KeO6teBe5/j1Al?= =?us-ascii?Q?IziPLfER7cF2f1zrRvaFvMLi+OSnkecKG+PZKOje3k79Q5SmqCjFIRPmszdT?= =?us-ascii?Q?NIR4P2vMGnS9IrC5HJaopK/MVf+fHrWisX8uOhG3Je1Jbta4eADO2zvuNbvZ?= =?us-ascii?Q?LmkIKLdKjmLj56hIY/O9WQ8PX9CEuFA8adjnMP5KrnkcYLkd4hKdIzjv23XT?= =?us-ascii?Q?T51PqLxSdp5NMnZl1+koxbAQF9tfSmMYeBwPhumZfERtFTcZAGZLkdagLLM8?= =?us-ascii?Q?mKMP0qCLRKBQUcu2EKFXPH9XB+nwxAibkP26TMycxYqknqMNHTx2BvbDLWma?= =?us-ascii?Q?ni1uuXFaHun5edkDW6End1MpbBrR+o/9dOkS2vUekehHlaIRh6DtV9Dj1Ci/?= =?us-ascii?Q?CRK2PIICtv5B5xmbTYFDZ2TFjIxfqDO05LFOzpZO8ypjRNoHPNjsPL1ShnzE?= =?us-ascii?Q?MjnP4Iu8naYrzXNK6vvTOedbFsRE/Qh6+q0di85kdaX47M3zqO8PrqpicTm4?= =?us-ascii?Q?0IBSQRfq2JWWvVti2SHDgvPkjDd7Ata/ywPDsnQNTy9EJ4CqyDP80aeL3xx1?= =?us-ascii?Q?frFgnFtaah0vMtppy+4qUCEa9JuwNNSZ7/JVauGwpJFKJGJKtTaFmXiuG1YO?= =?us-ascii?Q?hbLxImi8ppt8cYYs2S4ESdLGMDfoe3k9pNBjga6rUWEig0OEdakNxA5w7js6?= =?us-ascii?Q?qfJfJPRoKL0L79Pf9n7QIANA1/QHUqbim2x1NgVU+xqvdy3HXvYahfsVVrhw?= =?us-ascii?Q?WntvipAvGupBJi99z9HsMAOes59MAEFo0TUZAShurC3hArAu7/v3351eiTfB?= =?us-ascii?Q?vmNIncOOySzKKK6jsFObx5WT1hTfxD65+wJ10NWkT1q+5QXNAPmmMTVcymJG?= =?us-ascii?Q?frW9vwzOuFjmEEcnmM40kYWFXM+8ud246ChC/ow1Su8pLRZf56ZbJh2gC97h?= =?us-ascii?Q?BtFsRxB7ZanYQ7KhYP96v17Gt4nKhjOGiSQgAkrZwKBt+zIelxeFGASwGVoZ?= =?us-ascii?Q?hRa9iwnhc7+LI3shaGiHoxbe1eJR2MmGs9TZuf5HEGzmDa9FoNwBVpJbOWt2?= =?us-ascii?Q?ndK6OwobxqpSWbq0J+T973bY86B2gh0AeP/I9ybY?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9a49eba9-11ef-481e-6688-08db6659af7c X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jun 2023 06:45:58.6723 (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: YHcJv9hSq+a/4Vt4/A2DRh2olhELp7fCW6gjpEgcoa7ZInf5gjeumRri4WSSWY3pslMdPBh3kgXa69sb5nRaDw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB7029 Content-Type: text/plain; charset="utf-8" Add more struct accesses. Signed-off-by: Geliang Tang --- net/mptcp/bpf.c | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/net/mptcp/bpf.c b/net/mptcp/bpf.c index dd1208670c54..a2bf8bf691d1 100644 --- a/net/mptcp/bpf.c +++ b/net/mptcp/bpf.c @@ -18,8 +18,9 @@ #ifdef CONFIG_BPF_JIT extern struct bpf_struct_ops bpf_mptcp_sched_ops; extern struct btf *btf_vmlinux; -static const struct btf_type *mptcp_sched_type __read_mostly; -static u32 mptcp_sched_id; +static const struct btf_type *mptcp_context_type __read_mostly; +static const struct btf_type *mptcp_data_type __read_mostly; +static u32 mptcp_context_id, mptcp_data_id; =20 static u32 optional_sched_ops[] =3D { offsetof(struct mptcp_sched_ops, init), @@ -41,8 +42,8 @@ static int bpf_mptcp_sched_btf_struct_access(struct bpf_v= erifier_log *log, size_t end; =20 t =3D btf_type_by_id(reg->btf, reg->btf_id); - if (t !=3D mptcp_sched_type) { - bpf_log(log, "only access to mptcp_subflow_context is supported\n"); + if (t !=3D mptcp_context_type && t !=3D mptcp_data_type) { + bpf_log(log, "only access to subflow_context or sched_data is supported\= n"); return -EACCES; } =20 @@ -51,13 +52,14 @@ static int bpf_mptcp_sched_btf_struct_access(struct bpf= _verifier_log *log, end =3D offsetofend(struct mptcp_subflow_context, scheduled); break; default: - bpf_log(log, "no write support to mptcp_subflow_context at off %d\n", of= f); + bpf_log(log, "no write support to %s at off %d\n", + t =3D=3D mptcp_context_type ? "subflow_context" : "sched_data", off); return -EACCES; } =20 if (off + size > end) { - bpf_log(log, "access beyond mptcp_subflow_context at off %u size %u ende= d at %zu", - off, size, end); + bpf_log(log, "access beyond %s at off %u size %u ended at %zu", + t =3D=3D mptcp_context_type ? "subflow_context" : "sched_data", off, si= ze, end); return -EACCES; } =20 @@ -141,8 +143,15 @@ static int bpf_mptcp_sched_init(struct btf *btf) BTF_KIND_STRUCT); if (type_id < 0) return -EINVAL; - mptcp_sched_id =3D type_id; - mptcp_sched_type =3D btf_type_by_id(btf, mptcp_sched_id); + mptcp_context_id =3D type_id; + mptcp_context_type =3D btf_type_by_id(btf, mptcp_context_id); + + type_id =3D btf_find_by_name_kind(btf, "mptcp_sched_data", + BTF_KIND_STRUCT); + if (type_id < 0) + return -EINVAL; + mptcp_data_id =3D type_id; + mptcp_data_type =3D btf_type_by_id(btf, mptcp_data_id); =20 return 0; } --=20 2.35.3 From nobody Tue May 14 09:19:52 2024 Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03on2075.outbound.protection.outlook.com [40.107.105.75]) (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 3D982813 for ; Tue, 6 Jun 2023 06:46:19 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=STLdRW5iYLnDZP5Hvq2/0X0YUh/+5EPeDZFONurMfS0bV3AE3hSlHPzrf2/ZcbDJXJ3PPNh1GQACFk2sKXh9vpYNSsYw/6gtubxWK9PMRwoxvS3PtIVuTP7/ogdYvajnXZYupG85uQRYMT89CTK995b/OfEvHP7SJ5s96ndjjYzjbOiM7tBvpGbuzguKZAs96CC8dS2IWA30liKULtDxWaHPQjKH0vrjhIXZbctDuvifYz5WC6DZ9IQXGAUweHqWd++FDfl2CNG5/6FohSvwLidS0E54YZc64Iw7SzQjF2fZVF6bgcugJjfWFG4n/reBxs9WxPIn8SRAa/Ls1EnO8Q== 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=IAAXpxTwQ1Zi08PGAKLlb0QSz/kVoLq/lZtYIFLzxNM=; b=eSIVEHCMvTj/M/ePpFQnFXufnz7noUMxcwVYTW544UoiWIF4DS3S/ss4u0Jg3p8qkbDS70FftZ4myC5R/nmjG9fudnlUA/WLWU9b6pcz4YZ5ObTXVgScEJhevhwa7FMGr9Ab0XMxZBBB+Uv5uvvTq9hKU8afaWqtNUYpQzqTFXJNPvKHqazqK+4cNjbqhagxpMSYybJ8ssDWvJGZBoW+Di+gn3Y/fFqZmBdsXSp6kZdltDuAKt697YyDLRa+cMZYv/2m+PE//AyNE5MFumZDbxuGBZSnyPcqnY+t0xrIdn8dAnrJW7U34TE2l3NNrOgmArtreS0tvesR981C/Vpupw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IAAXpxTwQ1Zi08PGAKLlb0QSz/kVoLq/lZtYIFLzxNM=; b=C7EwWVMkSGOFndtKB53gwe78A6mgqPPIc27aXM5HlXPTPN+NH09RXhYR07qjq/4SVpqMDOFkjOEO8+h63QtffxYqv4oCcSgiMHbXb9zSOcHMoNDQkHJZdXoo2IkVRNRHIzziwvTz5gR8Vn57oHRtFgmmoLBOXHdu/CH8nwY+wLDaK2RlqAH0R6RAYkZsoDRIDhqIQtSVkuwnmHJ6AR4GpIhACnw5RImV/q+b/SByqOFEKIa0IKXZwaLL4U5irTTDSOoMEhYpplhf2HFwGBmel7KA6CGKsDUm82uFWPUPGKLIfggv47OQYjr2a/iabNnCmvhCKmR0Sj0gJNLs3LihvQ== 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 AM7PR04MB7029.eurprd04.prod.outlook.com (2603:10a6:20b:118::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.32; Tue, 6 Jun 2023 06:46:12 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35%6]) with mapi id 15.20.6455.030; Tue, 6 Jun 2023 06:46:12 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 08/18] Squash to "selftests/bpf: Add mptcp sched structs" Date: Tue, 6 Jun 2023 14:45:07 +0800 Message-Id: <630d69f631295955c7c3b146135387c019bbae74.1686033694.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR01CA0180.apcprd01.prod.exchangelabs.com (2603:1096:4:28::36) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|AM7PR04MB7029:EE_ X-MS-Office365-Filtering-Correlation-Id: 0d880caf-0ab2-48e8-9d5d-08db6659b333 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qcSOjR2tacTdgF8Ocqh2v/btjdrxwny9cgGXNk3A4jRBTl10VUdvcoFIDHDvE3IPX9SSHC8gKU0I8ja8MI7m0AL9Sb/JmPZpyg9Sv/WaKeE1szRNpTfCO9toORcJ2RXTN5G3YREX+/q5JmwO8mkKCnEKbDCdFzT6D0kH17F266BhsbUhC6xwntU/tGsTPXEq4byWZTn0ae/ZCxxD7H2LZJSgaioDNlpI+PDhIBOFv0UeJFMnAnYpzwlpLfPtZLM8EQbzg2EZeo8VHhpdWwmKe1h0OHmUOV9R6qiGVCSI941QlKfQPdLBNnqN2ZVvj3GkWrMGa2cNi5eORm0CriwtxTKEcDC/22lvHu8mNc/PENcfri2cDKMyGB1gjB7BQuYYIAB8+F1Kn4vH1FFmu2noyMugo9KMa6fh2FUbvvccwXcs+t/lXt3Y8ffGJMwUewhTd1aOd3+QgdFxtCM8WYeLpn4T3eZ/GDfJj8ye3VRZ2wJTNlscg9TDnpWzY2IToD9yse1lqorLYv2owLjTHx10A0Bv1Ghl15BpYlK+NI+KNhsleH/dxOklM0ShCInjK/6/ X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(376002)(346002)(39850400004)(366004)(136003)(451199021)(2906002)(478600001)(8936002)(5660300002)(8676002)(4326008)(44832011)(36756003)(4744005)(86362001)(66556008)(6916009)(66476007)(66946007)(316002)(38100700002)(83380400001)(41300700001)(6506007)(6512007)(2616005)(26005)(186003)(107886003)(6486002)(6666004);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?MMi3+SuZ2VudlSTek50etaj7w0V0Ptlo6XNNz6Zz94l4KuXmRvPhC4xFUFwl?= =?us-ascii?Q?GjnZ7G+qUsioVu06tftYQHBhQjzx1iqhZObwVsoeGXbFaaf/W6e0e74RCiPR?= =?us-ascii?Q?7BKjnOmAlXD+c47ne21m4n5GEhTDw3uBaYOV1poB9vT+s9LsoPNzW7ZS8Hia?= =?us-ascii?Q?nT79C16HgjOu03WQ5yi6tg76RwoDdza3+gwDLO5ETaEcb45fXApefginxPih?= =?us-ascii?Q?WmuIjFkgrehAeT0Cl5vNJPFKzThtboVnhsqJln6kiW1JZaZ3PgQ3uFTQ5wAI?= =?us-ascii?Q?2M6moDFUzjmoYG/BZ9qSJElHRNzr/AznDhEiu3GbTZPr3GfN2Nhb/9LdoaL/?= =?us-ascii?Q?9/nzUtRYEzgxTCjpU8xul28eJN4a8vGZNGlqeV9gzhy7PSsLHEg4GN1CSL3Z?= =?us-ascii?Q?FK9kR9CVNr+MP5d1+htpmWQiil4wmA1CL7vb9Mo1PwjBxKftyqN7J7NkL65a?= =?us-ascii?Q?bdEDprLk66nJ3/jjgzzAyeZIyCSB+WdbK4BNtfoRQaO+t9eguAKvZMHfuRw7?= =?us-ascii?Q?ZgW/6Ksf8vIUV16H918D84DTVmfqxYIF+OF1R+9fkeUdM4XICi/2Ahgs+Sbc?= =?us-ascii?Q?uEPSzzs8brdS9MFV+V1gE0wMmPcvYcjB6RvrKLqQueo5muc5H7zqisLlCq2F?= =?us-ascii?Q?EJUQG081SIF5XFHqjBFdGX1JIkiqXm4p/ydTp3W8C9Mm+ktRxmNSyWAxvblm?= =?us-ascii?Q?8Ws6hLqeH7ChAFix5pD2gO29itmOWrjDHZh8/oGiCWmiudZHpAfHeoSlzZau?= =?us-ascii?Q?JQksAsQ4tDbyXX9aa8lkfGBfYyPjmU5drzK6MrfPmKfvIqCHnm6aq2kFKzcL?= =?us-ascii?Q?lrBymJXgQIdPE5FgFJMYom/KNevItWTRokEgrQYCfWDSRicpYGSGxv494BYt?= =?us-ascii?Q?MMGLc2COkZxSwZ12Sfurhy4fK4A8sHzjMdJjE2rjwIzUFkO2o55WqEGEW+bo?= =?us-ascii?Q?cme3DWec9afR8U+T51qYK3FFGbPTv7Fc2xb2wq6nsvGh1UBtGFuIbB0HVOcD?= =?us-ascii?Q?bBZzJ6R+2VY67GJYLnhbgxEgk5hikH/XcuC8ZtJbXeUeh5gV6VofaznZEv/J?= =?us-ascii?Q?qRm2AuKD25wOkli4b5Zsc9ao20Ts9XpVpz4wAH8VmO47Hu2iNZKeNby5nATO?= =?us-ascii?Q?y4BJRr20kM/WY1y3qvSTDwjEOhso1xJONLfp+TH4qo+AozxtztakNJ5ytHx+?= =?us-ascii?Q?zJHWp9qEd3c92AoHwUouRYPJrxwSRFeRptdNZAcs5Lc0ZxbWbZSScvB2UUBX?= =?us-ascii?Q?Gdo8TofyTU/Sf5lNO/o//Lm8/Si5wjR5sVYP6efxVn9SSsA7y91Rxn7PxvQ8?= =?us-ascii?Q?QCKjdRJ2Wk9IyV/K2ZTLxpSTNdI3JAPHdGlbPIVx0OpyVzIhIXaugv2Wv0/N?= =?us-ascii?Q?L0hNffSbDiyqo3Mkx8GfIqGLRIbtwJo93zSc857SOJ/gOSf+CYoQqZIiSj/M?= =?us-ascii?Q?TSIQjcgUz+rFwfKfahO7NcIkP/divJOGj7oxdgLEAtqZvUd9ZeYhdZOP33IP?= =?us-ascii?Q?4ec4n0HZpLYNxfi3F4Uid2oUH3GBNZG4FJAk4zgyRqTO2XH/zjuCLBYc564H?= =?us-ascii?Q?tgfvJNV7F4sfC/eNHYlfki+zKb77TjJzdoTo2WeL?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0d880caf-0ab2-48e8-9d5d-08db6659b333 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jun 2023 06:46:04.9162 (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: pYXUJqUBrrOY0JH9XM02zWxtZ1ofbdVb+4C30u4fq7yGePAL1bD1wPS+1PxI99EGGnoLB+HAp3wkCmFgMCqFGw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB7029 Content-Type: text/plain; charset="utf-8" Use two tabs. Signed-off-by: Geliang Tang --- tools/testing/selftests/bpf/bpf_tcp_helpers.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/testing/selftests/bpf/bpf_tcp_helpers.h b/tools/testing/= selftests/bpf/bpf_tcp_helpers.h index 72c618037386..fcb023a749ad 100644 --- a/tools/testing/selftests/bpf/bpf_tcp_helpers.h +++ b/tools/testing/selftests/bpf/bpf_tcp_helpers.h @@ -239,7 +239,7 @@ struct mptcp_subflow_context { } __attribute__((preserve_access_index)); =20 struct mptcp_sched_data { - bool reinject; + bool reinject; struct mptcp_subflow_context *contexts[MPTCP_SUBFLOWS_MAX]; } __attribute__((preserve_access_index)); =20 --=20 2.35.3 From nobody Tue May 14 09:19:52 2024 Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03on2075.outbound.protection.outlook.com [40.107.105.75]) (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 C1E2C813 for ; Tue, 6 Jun 2023 06:46:20 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fGSaH+ae1iFYEkmOZA1E5Eb4p1kGTn2Wq12I45PQrDnwqQmF3zeJTpokLb3mP1ysXhE3H7uinjN2zJ7NqPcRcOZVcNiT6vl+ir90q/1IX+xdxRerkhGzJqsLFQqidVr04gSn9aKpghoTIrmjSSmC7FSSR/LS6sTzBeXBI7bKlzSUF2ssTxfqyuUfioKDzvlm4Swx8a1M3Lsxl3CXudRp0e3LAPIIUie+zND9CsVaZXSra36ae+9Y0HDkWgQagXDqgQGabZp0LT+lEBZ3AieQ/4pFhKNtluCZae3+JtPKC0d8DJ60DnpHCASrklTK0k1mramKRRFgQjIimhs2ZkWApw== 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=dtszVzvOLS7nTJFoB1l8sqjHwPICYRstfULI4y681uw=; b=WOiXx6yu+sEYIi41zwZWIxGfj2LjXDcLOYKO4qbBc+asJyV1bA6L22KzsTFfRmGxZp447L3vXDY6r9yujSHtDUedRE7GM8RtwVC5IitlC6qPMReZ8zNMdcxD1aFkQVxiZpnAkosDUwGRq6B9J0tl006ceIYvkPnuIH1Me5P5v7dXTxIvPaFXDhZeZBiiAMRZwCIaYFuj2HpePn+Oa6u00EMPmgZeEF7lkMd6ohrsOi3M2bNBglLlGUU9mJ9Ddl3m4V9JxYVHPQfNpiBGtIbVZTBkUtWlYxlTI03FYfiPHaCxDJ8+oji1rDtuKgfqUkBGlR289/GBUQDNSX+JgizIhA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dtszVzvOLS7nTJFoB1l8sqjHwPICYRstfULI4y681uw=; b=E7BWGN9oeG3Mq37HMNmgmlllOfB+F7Uj9dg7YeEkmMq1UHIf41bMImuHMvrp22U4tIxwcazw2JLjyTwVm92Ogdp7NSI8sjLsppwxhOf7r07BKJjlQHUT3O3gdXOpp+EzeYTQABW5ZQs16Z1CY2gWGvbivHVWDEF3v8bpXGkUbRUCIlhVNQpsWqtTbgaI/ubhei6gB4FnsF15VDbjVRwY0BZeG3AoGRr62LcuuDmgD62xjj1JWDHKivFqEQ3V2dIZ1GAf/Dz7O7fu9qp/YursnNmLsJVjDWSIq77mGRovX4iZX964R7Yogi/GRSI6K3rKITfkpKl6CgGBYxFloBcqqA== 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 AM7PR04MB7029.eurprd04.prod.outlook.com (2603:10a6:20b:118::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.32; Tue, 6 Jun 2023 06:46:13 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35%6]) with mapi id 15.20.6455.030; Tue, 6 Jun 2023 06:46:13 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 09/18] Squash to "selftests/bpf: Add bpf_rr scheduler" Date: Tue, 6 Jun 2023 14:45:08 +0800 Message-Id: <9dd59d8a2ce7c6b0d521159d461e61b2a09bcc62.1686033694.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR01CA0180.apcprd01.prod.exchangelabs.com (2603:1096:4:28::36) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|AM7PR04MB7029:EE_ X-MS-Office365-Filtering-Correlation-Id: 7bc821e4-d551-4abd-71f2-08db6659b6e8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: g4cE+sLrb4fva4kjIekRoR/O7QzpY3r6g0JhaAqXZt8A5XWXEFu81+vPD6rlV31RrQ0jK+yCNQEoX5xEbhrpwz/swTMUHvL4mTR6H3RLeXBP2YrFvkApglC75Pmbtvb1xmh40RQNCdhmc5DMEOdWnmmBw3KrlV7fKwu9TiwxlT2EcMDJdMpysm/p4sgadlPYRZnwlmbuRfNsWuOrwN9RdSz+kIgyfH1JxFi99khBW28gBQkjRxC7iTXJVcsxQix8O+ZxGpl+SGW8hKmFi1p+neKHxkDruWFWYGaAjAW+0niT5WgRDSJsyaALxsi/zZVOIMKwq4MHqSkyp+oTIPSrlbwH+OQFBsQmwlqagbgiue15Jba8eylFMc4+ZVXvNx7Kt6mBbz/5WQLTYqnirUBXuRY7HmUzceoYR6PWJB12AwHIqjhIdgq1I8cRFaPtChdoV5nVchBmCwrZooM9GdramOoy5gLh3f8du25FhfFaXDx8A+JIVDbeKOIjGyiPBFmCDTjULq05gjhh74skZH21z7KgQ11TVzt4FgNz5pMLlYNfy48hKnhxqEMqaVdxzSZ3 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(376002)(346002)(39850400004)(366004)(136003)(451199021)(2906002)(478600001)(8936002)(5660300002)(8676002)(4326008)(44832011)(36756003)(86362001)(66556008)(6916009)(66476007)(66946007)(316002)(38100700002)(83380400001)(41300700001)(6506007)(6512007)(2616005)(26005)(186003)(107886003)(6486002)(6666004);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?NYl2fmkNBbxcNfDUv3qrSDDF+nRBR3WBPEzF7X9rzJntYKO7Jos/BdWM38/Y?= =?us-ascii?Q?HmfwH0EHc3b12ro8Y/FzKBwEHrqSLSiNR0otpTAz1ZWyCZUK8J32yJFGbxou?= =?us-ascii?Q?WNy+c8FqCzkJ/m+zXuphoxTWAhHV7/m2T4BWjxkTQ1OSIN7wsvy+upoY9e0t?= =?us-ascii?Q?3IhZHFxbK9Nbk5ALBfvCTOZEDkpoBqjTruTFdwtDVFy3OjMykKHZ0DmW5cpq?= =?us-ascii?Q?XX4g8gx7KkwrO3EZLrL5qAY7j/JvkpNdMP1vP99OyI/nFjXp+eWyE4+ZbWbT?= =?us-ascii?Q?FiTgBo59PaQOIDv98sI0HXROzBXiKX19EuO79K17NUBVKwEINL+eDxG0bYdR?= =?us-ascii?Q?wmK7+81AbidmDIhvdJtyPxHDAZa8vffuI4T8uYs1wUsm4xSFGhuMwKRkInzr?= =?us-ascii?Q?l7v8Hidk0y40Np9DDyy3mkzIaC3pIqVF0OG26leeJKOCXgQoiSLeMc2lz+tY?= =?us-ascii?Q?n+6ks1mbB/Ti4Q2qdQJyZu4USz3B4bFJs2JWsGNlkr+BlH8ZqWDKtH5KW20b?= =?us-ascii?Q?7tR0Itfb2npRxyGWDVLlvEtXMyIcjfHfgtqus6+g4CmE+LQJB888H+LtYLGy?= =?us-ascii?Q?8yIDgAG9xZo7EKv1rUsaRwkzf5sn3RBFtFGoRjvOTi3s7s+ZA+lkU2Jw2kHw?= =?us-ascii?Q?MDvvTQwwsHAjcckOdWUVdqF5JmhjB1Lpu3GX32zZn/8P7QPQxqXawE8Ak603?= =?us-ascii?Q?KUnnj3wmbQTj8/un/yOwAPsAvVgZYXsrg2icjbNgR33Cn0CziQQJ61UwNB5l?= =?us-ascii?Q?rLW1K86SMq4+m9tAAYxp+NoS1Cplin6h4+o/XNuZBPBdECH3Np2/I1zLZHPC?= =?us-ascii?Q?WQk03xQ9SDKu8XMRtfydP/VI0IHLUEa0474XE7+eimrrg+OOG0/9qF3wxkdI?= =?us-ascii?Q?F3djFVy7giqz5wMErq55mmNNiC+MofbWGuHVzLyfyAE4t8GdRydeSWWFB439?= =?us-ascii?Q?L9Ut56wzntjv5YFzc9tzAXoSarfOy9ayy24UPa2LpYKbSPrt/OUt2XJBpj0S?= =?us-ascii?Q?YRBBC3evgZIxwZq1WY03O2ApbxlYDffQQ/JpJy398v8N/ZoVIZoAUGjiGRpU?= =?us-ascii?Q?plWJAuPnwPTatnVKV1asRTVaR+6WGeGBfuoVRxkNWOz4koV0ymgCUNTVFSZX?= =?us-ascii?Q?h/DCLAUz34O1F8dt2411S98u1QM/Uolu7rSbvu/Zoab/ONNl8djAE+BOzNSp?= =?us-ascii?Q?PgiCf/5Nq5XzfF39BCUFikLIn/UfLTHbrqm0BnJgBEVOiu6KdJlYgF+hQ455?= =?us-ascii?Q?hKGJ0Dxzgo7ugKp38gg8Yz+ykJ7RIg2v33d81AsaA4J+A7W2tBV9SXVA+Qqi?= =?us-ascii?Q?JuejI5TjeDPVoeMWjnu01Ei3vNy5BcrnWxTNC7CvsuIPHaudDty6AuIFWZ0t?= =?us-ascii?Q?QFdh8DQvWa9tO4oQ9HN8biF4mMQD7nd0w52TBN/U8B9Cwha3iCy8ADDkKbz6?= =?us-ascii?Q?RQdar3WkvOorupGKA/HrPMEhvS+eiHvmjfiPhc7aKBTCOR36ymU66h9a4fxx?= =?us-ascii?Q?haBlzFw770GcnTw6xrr4iAfn+ocTQg8BcjNwKHpRp78xvQYAwA5cQHPwIdg3?= =?us-ascii?Q?kUJBXqNHOmNWrxfYW9Fv4WUCwTTK9uotutQdfDOj?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7bc821e4-d551-4abd-71f2-08db6659b6e8 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jun 2023 06:46:11.1079 (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: 9jrkDVNMyimNHQUNPl3TQEd4XcTd2A1hzKV1UE41JUcP+kgBSYdkda3nVZb8iAXncTD5FC+uaOrhmm0zNHfn5A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB7029 Content-Type: text/plain; charset="utf-8" Use data->last_snd instead of msk->last_snd. Signed-off-by: Geliang Tang --- tools/testing/selftests/bpf/bpf_tcp_helpers.h | 2 +- tools/testing/selftests/bpf/progs/mptcp_bpf_rr.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/testing/selftests/bpf/bpf_tcp_helpers.h b/tools/testing/= selftests/bpf/bpf_tcp_helpers.h index fcb023a749ad..dddb51a47740 100644 --- a/tools/testing/selftests/bpf/bpf_tcp_helpers.h +++ b/tools/testing/selftests/bpf/bpf_tcp_helpers.h @@ -239,6 +239,7 @@ struct mptcp_subflow_context { } __attribute__((preserve_access_index)); =20 struct mptcp_sched_data { + struct sock *last_snd; bool reinject; struct mptcp_subflow_context *contexts[MPTCP_SUBFLOWS_MAX]; } __attribute__((preserve_access_index)); @@ -259,7 +260,6 @@ struct mptcp_sched_ops { struct mptcp_sock { struct inet_connection_sock sk; =20 - struct sock *last_snd; __u32 token; struct sock *first; char ca_name[TCP_CA_NAME_MAX]; diff --git a/tools/testing/selftests/bpf/progs/mptcp_bpf_rr.c b/tools/testi= ng/selftests/bpf/progs/mptcp_bpf_rr.c index e101428e5906..4b4141056fe2 100644 --- a/tools/testing/selftests/bpf/progs/mptcp_bpf_rr.c +++ b/tools/testing/selftests/bpf/progs/mptcp_bpf_rr.c @@ -28,10 +28,10 @@ int BPF_STRUCT_OPS(bpf_rr_get_subflow, const struct mpt= cp_sock *msk, int nr =3D 0; =20 for (int i =3D 0; i < MPTCP_SUBFLOWS_MAX; i++) { - if (!msk->last_snd || !data->contexts[i]) + if (!data->last_snd || !data->contexts[i]) break; =20 - if (data->contexts[i]->tcp_sock =3D=3D msk->last_snd) { + if (data->contexts[i]->tcp_sock =3D=3D data->last_snd) { if (i + 1 =3D=3D MPTCP_SUBFLOWS_MAX || !data->contexts[i + 1]) break; =20 --=20 2.35.3 From nobody Tue May 14 09:19:52 2024 Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03on2075.outbound.protection.outlook.com [40.107.105.75]) (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 77532813 for ; Tue, 6 Jun 2023 06:46:22 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TUgu+mvU4FdJB0xCybip/BaynG0TR/VWpBYdWAcD2uaF6cp66VD7uWVMNTYyXTxvhIWmawJTvH7P3CsPwmqNR9+rt3bdWt7Cf23056rVCsadm3WsspT9987FSBcT5nZwQ6RUnlVMngVtQRuEs/ZHM9EHgmWw2NaJpDgppeTzByX/pyWPpSt7RivWR1RdkYoPz1N7zPZEXrLiXIVeApHv30IVfaEMwcyFMur6AbxhNZ/ILTGrRUgauBCnzvOzys6KdxG26OaV/JxGOuUHS2QvUs9sTjxVppSxGY2tJUvUmn14cr520/EnD+k8YQ9Kq3I1lkBTzoVcCYR9Z/r8s3bmxA== 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=6pQWyiwjjgeKPS87ddyLtx3+Np/qOSmdEelVgtqzPCk=; b=LcLXJqIPwwcjT8FgHmgVyv4BTGGqNiVezlIPiq33AvfUK3Wa8jkR80Nf/XMiX75hANyXG/ylcblpzPMV9Uuqxboj1xhiRXHM1yIpNo/HcUSjLYV5C2MU//w+C39iEHVG0lqm5vVueCR62OLW35Eh2Pp4ZyYp9YAT8dBKI5BFQXfsKU2TeAlDhZ0Ee2ehCnr6W1udsEECoD+OScTd0aVpSHItetRgIUUnATT00GwoZQJZE41LrtMP0on/ufX7fvKgAA5LkJTZOoZI9NE29xgkALMuITUp5aGN5MZHR4xxo3BqANUxgegB2RcXUjsgpl/wlFq6Wuul8qZJMD0x0zxAxQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6pQWyiwjjgeKPS87ddyLtx3+Np/qOSmdEelVgtqzPCk=; b=nvkR4JWhCWy7xjSn4twcdQRuNuHnP4/pe+7FT4NnXHJj+qITzWGkeyc2usinawo4Z+UUvBDV4F0U3Z0bdhvor1y3jtc0l0RqOmYiW6CxYc4lnsA5g3Y28mmnoP8GNN0EG/QCES18zQy3907SKQ8PCENJIhkUffj8B60tRkYraR+1L6KE58oshfPILR8JViFlQMQUWcWTlNACnLAXrOPiT2bEoWcggtICLcM+Tc48WxvIlOUIY7k1XLMQFeAWhpXxPdnarAa3wyQnIhlubKVwXCneTA11DEdWqWbfljzWp9lp6GCEBdnpKjR0soH2cQ0a17s9QSME428dUwZ6bNoupQ== 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 AM7PR04MB7029.eurprd04.prod.outlook.com (2603:10a6:20b:118::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.32; Tue, 6 Jun 2023 06:46:18 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35%6]) with mapi id 15.20.6455.030; Tue, 6 Jun 2023 06:46:18 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 10/18] mptcp: rename __mptcp_set_timeout Date: Tue, 6 Jun 2023 14:45:09 +0800 Message-Id: <80e910d037d3d6bf85214b5b4f5c327b54509ee1.1686033694.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR04CA0167.apcprd04.prod.outlook.com (2603:1096:4::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-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|AM7PR04MB7029:EE_ X-MS-Office365-Filtering-Correlation-Id: 90d382ab-7136-4125-1963-08db6659baf3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: /bmWPii6ZbAbMEpZXu1J2goOYtXtTthhaGIYxU4WWcfArJ3CFYPdUB0bo1Tl47wu76tLmKFaDQDNTCRBZy+Kz6A+94VFnppDZeD6kZNAOmrxERWkbeJxkpxnsFyM/c3FkTJRFREt6CwN+xid3kgeM/ChYZi6rQaDYGD6o5qxhyUlnMKR0W08bDYYws03fiLiRXcLeQkwPZkrG0bs5rzZG23awBNrYi/vq1jDjs7Oj6+VMAISXzIzELxjySeG0YEvDOG1jo8OPvWpV6WFstJ6Shu/j+x7yTT8QEcmK8GEdl+8YedUbSacCueyHLK/RXd2afiTfVYRSY3c2Nhl1mEx5jcturjG9lgZ6O4VyVZwE9GuZcCrD/AH8HZBwGZ6jdJ1q1VQk+PK8k+lWseUAyPOgqSv62LdIPmMmhmPhKqxotVnii/MTBeOOjkxFW+UU1ljhcun6s7TrjoUpJl+DHt7ot4JZxGfPUBDe7dCEasuTUmgxvf63WSzM4rbKz9+JjkQv5Mefj0V5Oxh1xMo0XWUFOG55wMZiUxVgg69rC7ryoVjGr4YwI0F9rRjWUZp4w5D X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(376002)(346002)(39850400004)(366004)(136003)(451199021)(2906002)(478600001)(8936002)(5660300002)(8676002)(4326008)(44832011)(36756003)(86362001)(66556008)(6916009)(66476007)(66946007)(316002)(38100700002)(83380400001)(41300700001)(6506007)(6512007)(2616005)(26005)(186003)(107886003)(6486002)(6666004);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?9qXA81aJ6V2uEQNq3eS387UkMgWnIxNDuOGd1pRsZAmjylyrkQ1hE2sgkq6N?= =?us-ascii?Q?P/pmfpo5SJGQEScUfk5RZGFjQKnNIzIqAsUxGvO8IwJqPIYKb4ESXwA10Rqz?= =?us-ascii?Q?qHrgOb3tkIKH3S3qYnlNgoFX5KLtdYnfDAPxopbkk2JuHUEXa99KoGuEWMiU?= =?us-ascii?Q?jtMw04ar4LiALgwTKGydHNU/DIeFwa9D8kpvAQO/3GBAqCW+f4LMEsYkYZmd?= =?us-ascii?Q?Da299+6tuAE9Ifj3pvfXwyCQ7Xtbpy1njSRDupCwaBAkDFogHR6L9JYwlr7r?= =?us-ascii?Q?v2LlkfIDNmSLuZfLJY5qbyX1jD35fjTmDLTg/+86OP0E7BFYtFG1eSoOxo8j?= =?us-ascii?Q?zhA91/O/fd06YtkGFRgHX6yElE8080l2WiXjswaNPaZ39katIG2jlJxzMti7?= =?us-ascii?Q?LSLWB9GQhqHF4SGtGQJLcHoExH18qv7UIeuB+x6GCqIauqAZFaeL198UPXS/?= =?us-ascii?Q?1hVzQLGr0wRwCgJ8f36En6cbwQipYon1OiwuFbhuNsMuaZturZlfo2uISl6+?= =?us-ascii?Q?o12mrgo3ODZ8nNY8Da1sb7VfUmsHnB7QnTeCB4vCwwLoh2aeqk5P+TrNw0GE?= =?us-ascii?Q?5zz/JUwakQjDAV1d+kq4tQyATGJU9taawrBMBPAprVRWuZg+GTrvEaZrQViR?= =?us-ascii?Q?BoE8ENcH1RiEsNkp6YM7oX1OR4MI5OzCGcgUrOnRSVa3tiP04aWGPpPlUAz+?= =?us-ascii?Q?138bOAI/9SvsmwYmKTKck/I3zd1T331jybi+86VSIdQ6IQQDEUFALYHUHGgF?= =?us-ascii?Q?KSMfN0x5i0QLAhjL0uXneNdLrKh92EDngar3YhqEvfn73twlrv2qcPbV4og4?= =?us-ascii?Q?Q1nidglnHz4qaaRjAjPvZ3TkhSINIoVZfpljd7LH9wlPQTKR3jSq7M4Pf+kB?= =?us-ascii?Q?djC9AlWOljn8cEAg9BuAhfm6KhAtn2Hvsh5xP1yZaoo3RfEayahPt/Zd9PId?= =?us-ascii?Q?KS4OUUfKwdyjZ/AgcNdzJYJtvl2kQqEZ2ODpQjRNssnG7u2vfpzKlTc9Zy2h?= =?us-ascii?Q?zNRsWgiMBwYaUo2UP7FXRgHU3SZnys34m9U3XHBpnl6kCEbcnoSC6V5kTbzL?= =?us-ascii?Q?sekTSUw792SehFvRBwO0e8fc9ACo0sY4MJSchctj52XM6US7kKCDRMhO3V0h?= =?us-ascii?Q?liMGwP8cXG2YoboPMPYoJ5IZLVT7nhoWRGoBmgtKBHZsR2e6TDnLv7I7PUmQ?= =?us-ascii?Q?TEUl29GspXKaEBUnT7qcbozF70gfxva8L//Y7ARf7W15vInlogJDmmamQVpu?= =?us-ascii?Q?taT7OrYy6Mnce379f4u5mkP3YfwBC93gkiZjOySTMLHELGv08FvTAHqEg2km?= =?us-ascii?Q?2J/fYel2ryLgwhE4fb8o7PLiNs0FCWUZXaDksk2OycQwtDWT7YkCwpsHSpIB?= =?us-ascii?Q?e7YXygUeeznpQ5oAn6FWJ1q0JSbsd+zsYLocnX38n76L+GSuUpxB1o4B4bEu?= =?us-ascii?Q?4lI5CadIc5xZL+VYXxiW6gRjNmDeuL0Ug5oCyDDS6DuAlxm0uXqawm23I0Kp?= =?us-ascii?Q?jWTK2G02D0Sz6DHhS/xBhEGdUXtFPQ1kA2uawAEadUCf/cIqdiKKDIqBxj0z?= =?us-ascii?Q?Vq/JJPkQq1aHkVx/Eay5GUkTDxYzZWbxib212od7?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 90d382ab-7136-4125-1963-08db6659baf3 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jun 2023 06:46:17.9348 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: TgPS2LegKPTIopIt4k573FhRHKl3psrlR3FvHfIDlg99nBwVWUJL8tU0h3Nfg0hvEnQDf67mpyRdbtUZl67Ckw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB7029 Content-Type: text/plain; charset="utf-8" __mptcp_set_timeout() is needed to export in BPF context for bpf_burst scheduler, but the "__" prefix cannot be used. So this patch renames it to mptcp_set_timer(). Signed-off-by: Geliang Tang --- net/mptcp/protocol.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index 27407b48f3ff..55c2be2b14f2 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -485,7 +485,7 @@ static void mptcp_set_datafin_timeout(struct sock *sk) mptcp_sk(sk)->timer_ival =3D TCP_RTO_MIN << retransmits; } =20 -static void __mptcp_set_timeout(struct sock *sk, long tout) +void mptcp_set_timer(struct sock *sk, long tout) { mptcp_sk(sk)->timer_ival =3D tout > 0 ? tout : TCP_RTO_MIN; } @@ -505,7 +505,7 @@ static void mptcp_set_timeout(struct sock *sk) =20 mptcp_for_each_subflow(mptcp_sk(sk), subflow) tout =3D max(tout, mptcp_timeout_from_subflow(subflow)); - __mptcp_set_timeout(sk, tout); + mptcp_set_timer(sk, tout); } =20 static inline bool tcp_can_send_ack(const struct sock *ssk) @@ -1455,7 +1455,7 @@ struct sock *mptcp_subflow_get_send(const struct mptc= p_sock *msk, send_info[subflow->backup].linger_time =3D linger_time; } } - __mptcp_set_timeout(sk, tout); + mptcp_set_timer(sk, tout); =20 /* pick the best backup if no other subflow is active */ if (!nr_active) --=20 2.35.3 From nobody Tue May 14 09:19:52 2024 Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04on2087.outbound.protection.outlook.com [40.107.6.87]) (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 5B6B33FFE for ; Tue, 6 Jun 2023 06:46:28 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZQ4EIBXYpnZvRc9tpmHrggCBL/Uh0JZeRpRNo7lN6Z1X9k3l1AE8+ZuViye63r6KRmVJuWGhcp2nMZdn6ZlvgrMG8SG5zIGBapQjqzV4sNMJr863F0A48wybHddIA9REV4VNPvlR0ZrfUUGN1Zoqi6qYUNhc5Uk3lPdRhu6f6QhKu8O6MKuqL9/8XZYsB/m3K/2Jx4vvkwIpzQkpR2uE7MpsdQbAu7NLW6stStrvxjeu91zQ9zl8MzowQnKPULepax8a4dddekx86eQC4/n8eXQ3RbrLFsjm1Y8DIQo18UpkBWM/BVanAl25Jz7IM/xOyhdn7w+keLJXpiGO+wZmNA== 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=vGqai7DOnvtT5S7TE0eujlgu8GJ97/FpVZQ0aJQvVvk=; b=W2kWvkw5kNbeX5IfsjzvIWZtJH3WM0/ai1bz7GCXeT1EN0L1cwULO6d9vsCS4gHR2Sva/MtJaGREfhjMt886hioAu3khi4WciaAobeyJHK9QHKjKVCiYonHxpOe/zsQPsfR/ON9BtrNp2W4fJOcHL8hUrs8FjgMYMiJyJZJjXk4QJ44iNoNEboiE9FJgTubNkTOAc3a+b89gASVaDOwhWXsFJsXIFNnzrwaeQgb/YbXhpqfs0WOXdfLqHsH1dGHrnNKhfHoZ0CDAgeqR4jhg/v4MKOilT/2BNFL0DZFSLpEieeJRZdbQ52MtjoFsyxKLXGo0rMc1AjUQn9KC/M8OZQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vGqai7DOnvtT5S7TE0eujlgu8GJ97/FpVZQ0aJQvVvk=; b=Wk/pmq+TJLi2ZEsUjOps152H5lCUhSOLhcHR03lYZSyiG43wEBqoMCuxpA6hW1YIp6YXgx/YH67HB5lKPiZI7XFW8wQ1RszsLeIbvUTSCP2rSHRfLYlqqlMMMnLMuFY3OmAVJp7v3AKD3YF2rrVjI5g+IBPo4vtkRAr8t64ePE6SML4k+H2zKR9WnwfltylmYTtw1k3l8V/SYdaPL+I/7xQI289wlZ5FOeFdzQtVEY09zhZ2ZV7dtm5KTdJRLZBTp69FZ0cJgPsYnQt9Hmnnzrxgyy8OWp9sLKaB/EvX17ojl2Yr5Ylgo+mxokweYgN0nqrJTWHVBZ7mgM6AbmU5JA== 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 AM7PR04MB7029.eurprd04.prod.outlook.com (2603:10a6:20b:118::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.32; Tue, 6 Jun 2023 06:46:25 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35%6]) with mapi id 15.20.6455.030; Tue, 6 Jun 2023 06:46:25 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 11/18] mptcp: add two wrappers needed by bpf_burst Date: Tue, 6 Jun 2023 14:45:10 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR04CA0164.apcprd04.prod.outlook.com (2603:1096:4::26) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|AM7PR04MB7029:EE_ X-MS-Office365-Filtering-Correlation-Id: 33245acc-7ddb-4c7f-68bd-08db6659bf8a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: lwFs9g2g0pz+TC879JB0IJxzQ2GQIPFBodpUGLQXq5zAy7MeES/LFZQ+710EcnF0eALIQ7ZrwPG7gHmPZ0J1w5dqGs4wKYQ6CMV1CmEx6ygNOGv3i8RhqvserTFicN8TBs6O2ZpFKsxsbTIYkKQskmivrqDGa7b+ylWv1QeBD9x2h4dz8TndzKobQ1c/E6y+0eYum1LIDdM4gKiSpr5RhMQV0R1LrYUTcGvATAxwOMc28a9VccwHOq3TPTHdFMIERwVsB57YoXVISt5O73cWTZGSqsio15NCnMkTxs+HCXgyWBmo1H8tEE/Bv6amHl8nGR7CepRNzYc8+q2w5GU1ef8N4kCJ4xLhfDxUp4DZbQaLtS9bpUtEDZ5jZLFk9on90krgBao1zr/zsHTaHCG+jykUwUidpR85p5t8zZBDloLBN1qwyTc2k+nV/HoI2fZH1J8Eg3bm37etNoz/yJHxBNhXknvj6fANQ7YDgqOobYvkpYFnD4RMy0I7+iM2c7I4fllVkCh7p/2QPSw6A/GnvnAnbwq6jRmwBLBzw71wgwzJw+GnQA6T7A6rp28h0hwL X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(376002)(346002)(39850400004)(366004)(136003)(451199021)(2906002)(478600001)(8936002)(5660300002)(8676002)(4326008)(44832011)(36756003)(86362001)(66556008)(6916009)(66476007)(66946007)(316002)(38100700002)(41300700001)(6506007)(6512007)(2616005)(26005)(186003)(107886003)(6486002)(6666004);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?LaZDly8bSFMRWDLJFOuflns/249oZDqwErev1o4Co80dwdJWjL2tPrZegbcx?= =?us-ascii?Q?/ZV+Xux7jMGWL4rVrq8NEU49f/uUQxySwASPTmLTMmSXWdWd/lG7aabt0dld?= =?us-ascii?Q?jP52l2OdVyhvAcVCAUCKI3I+p4pIGWe0oJWURTP63oYeYWyydLiW3/rNyvP5?= =?us-ascii?Q?uCRVrXq+RfhF+vDTdd41dzSfjGO3Ny6WDxF3eqSbihJQcXqDlku56Kszg2bw?= =?us-ascii?Q?vi2/Sg5l+pCxmjQSQNU6CSqf1WrStD9s8oW+hxeOH57PfU/zfROV0/PtwtAD?= =?us-ascii?Q?ya7M1H+lpQKmrNvCyoiQ0wGUaxnSsvAwtEj0HG8WyXkCP6L0rdw5CwYGGDZF?= =?us-ascii?Q?jSECGGN2vhe9TFyrEts42y47HChOfy0T0i/7VcJrmFRuyYNRXG0EKl1FS8V7?= =?us-ascii?Q?yNPb4MJkSx0xzqazK4C34hxop9t1xYAozWKPZpmtqafeMtqD1cKicnc31+g/?= =?us-ascii?Q?lZl12vRrOTJxa5QaFI6Oke4GFwJ84cO+81F4VkLX5cxqKzVN3EyC3VJD4xN5?= =?us-ascii?Q?TL1Jw7OkMLjVmiC2Y7mJmeOQw9EVKt6UF+ipoh5co5JfW/Eswd9bkCo3s/nc?= =?us-ascii?Q?8KRLhq4Fo4WDJWsO0tU0/F/Cx8TZ9jOgFey7igZSGxu7fGWOEwxUSOLHl5iU?= =?us-ascii?Q?sYyd4NYhtViM8Qcs0y/SX7ZeoxdjOb0kCTNoXrCbnSPBCqiHxRJItxr1ZjEP?= =?us-ascii?Q?SQZ4Q4KCVcfdUkaCurzUftB6iyBC3tjK03gwfb0CH3ebGNKLwSgcFF0hJBUq?= =?us-ascii?Q?F6MjQNyw4Gd8TZfl/zxF1zSc0WF9wvg/4gEa/fN3MaFrpUYrvf3diD3H2L0j?= =?us-ascii?Q?No51J0vWotVHvZxj+N08i96QrOda9UimMjflp7sn3CJP6p7MpFIHDFE+AT+X?= =?us-ascii?Q?cy7e73syuU3rh43yfF7lkyDlSngFL4VPmUT1VTN5wyWfRy1YZKBvmGilSwN5?= =?us-ascii?Q?faOOqaCBdZlbmOvMCJHFMKuoZNgREHEk5H49kMuXqKEYOsYVfVtpgnjVp+fS?= =?us-ascii?Q?6hMKQiqxmubNCRIcFzTRVvePGuYmUWHg60RzdsxuB1op76nOl0jWY11nm48d?= =?us-ascii?Q?axnjvgk3iLvgkeYPTtt3eHtravBLK6z9SDOcYtQGgitaTeZXeZfaP+2LY38v?= =?us-ascii?Q?htPRqDeANm6DONGxwpsk1uNvBbHWjVWPytClgdWRsLXJfLDnHA4V/0P6k+cj?= =?us-ascii?Q?WNZeuDG2lfQMsvcSbNwWuffj5jp1kAGARjIo+cWmEn1kkQSNHyGcO5Yuc4fF?= =?us-ascii?Q?mmuoY9kGvuIWU3t5Qocf+oYEoz2saqXMa9TaJpgoCISxv5RLK8Mo+EQiYZP3?= =?us-ascii?Q?w21Y7cNCz5qGwbO6CXOe9xUSVVNX8BUIU7rXfdwGtbF/eGYOnwpmP8SMRt+5?= =?us-ascii?Q?Z19SaVhDYYxWUJdhzqgBnsS3MFPwdp9dw71Q9EXA2oXKp9MQCyPPzzDPoY4+?= =?us-ascii?Q?65096ohjzTvgcStowoFJWOSOVFw5L+xiXGg88uR170+WZqr4t7jT+j1rRzAe?= =?us-ascii?Q?6+3CdF/j6XOcdhZU1WHD7ZUmIvwvMCFbEuzVgWEBNhF68wPThvKqGbfsixdC?= =?us-ascii?Q?EX27Rol5KhhkmvvllQfyUAbF1zwX7S/7Vg8PLjC2?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 33245acc-7ddb-4c7f-68bd-08db6659bf8a X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jun 2023 06:46:25.6254 (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: VLe3s3L9pJf3sTy+gtL7ErrMSjBXhnE9SMBui56Y7Q1ZJfsm+9UNuhHa3d0epSTEDX91a/FejntG3T9fZ8aQJA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB7029 Content-Type: text/plain; charset="utf-8" sk_stream_memory_free() and tcp_rtx_and_write_queues_empty() are needed to export into the BPF context for bpf_burst scheduler. But these two functions are inline ones. So this patch added two wrappers for them, and export the wrappers in the BPF context. Signed-off-by: Geliang Tang --- net/mptcp/bpf.c | 12 ++++++++++++ net/mptcp/protocol.h | 2 ++ 2 files changed, 14 insertions(+) diff --git a/net/mptcp/bpf.c b/net/mptcp/bpf.c index a2bf8bf691d1..cea6a8562f70 100644 --- a/net/mptcp/bpf.c +++ b/net/mptcp/bpf.c @@ -166,6 +166,18 @@ struct bpf_struct_ops bpf_mptcp_sched_ops =3D { .name =3D "mptcp_sched_ops", }; =20 +bool bpf_sk_stream_memory_free(struct mptcp_subflow_context *subflow) +{ + const struct sock *ssk =3D mptcp_subflow_tcp_sock(subflow); + + return sk_stream_memory_free(ssk); +} + +bool bpf_tcp_rtx_and_write_queues_empty(const struct sock *sk) +{ + return tcp_rtx_and_write_queues_empty(sk); +} + BTF_SET8_START(bpf_mptcp_sched_kfunc_ids) BTF_ID_FLAGS(func, mptcp_subflow_set_scheduled) BTF_ID_FLAGS(func, mptcp_sched_data_set_contexts) diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index 12c8c95abf52..29bba51b948e 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -668,6 +668,8 @@ void mptcp_subflow_set_scheduled(struct mptcp_subflow_c= ontext *subflow, bool scheduled); void mptcp_sched_data_set_contexts(const struct mptcp_sock *msk, struct mptcp_sched_data *data); +bool bpf_sk_stream_memory_free(struct mptcp_subflow_context *subflow); +bool bpf_tcp_rtx_and_write_queues_empty(const struct sock *sk); struct sock *mptcp_subflow_get_send(const struct mptcp_sock *msk, struct mptcp_sched_data *data); struct sock *mptcp_subflow_get_retrans(const struct mptcp_sock *msk); --=20 2.35.3 From nobody Tue May 14 09:19:52 2024 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2081.outbound.protection.outlook.com [40.107.21.81]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 73FA153B7 for ; Tue, 6 Jun 2023 06:46:36 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gE+HI3yMwVjhBAOB3rC3j93AdTbejXYuaTBQGyGTDuoXeqIdEjyOWz1UFIidCQGP2FM0U4hUEjvNEe9W8dpPdrvpLaGvTyleyQo0rMx9TW87GAmELyC8PRBmvZm/4KpEMZNNal84KFSyhfD/MqZzR6m8t9LhP4/k1QRT9dsqo+mWt3Wv+uDW4Ia1Nx+3cd74CzLkBQlBhz12SD0qyD9GkPSgngVJx4DHYin91CJiXEokC26utc/ozdtIDW6rieJvx8hEuN4k43F77FDyAHB/RlsGn3d+cNYjn0zrLn9Cun4CgcIVN/1TeMnyKYYrYQcpZxoqGZWWslFqIVOeaiEf3g== 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=cIScZCYOVQxn0NnzHdWJp/gCQ41x6fLhNYZyB/4oKo8=; b=fK41/KzK5sL/TTiQmj0JtspqnVMBr921h/FlyZabd4Q93mu8J64wJRS/SawpuNS+vNHg68Vko4qlDVBh7DQJuFfwvGTJGhhcOOhukuvBlocPDWVyIkAQALMBlNJa83em/yWu5E+epRkNFdUzD4BeG7ONn6hr/zqipXz72paUYXwH7MewE9hg6DbYNwLPd/NPnb3PJCQDSr9IXw0cTHQ3KCLY+sLvrzFWbNGVC1nE4lvhWEh/eX907ybtJ1GBEmWF6+jDiQM4qoySG5LA48DvBwi0uiwzbhTm4J451tjygUe5ibtFIMPpUAaoDjn1PNjbKOZl8Z+HN7RUTdcpOf+Z6g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=cIScZCYOVQxn0NnzHdWJp/gCQ41x6fLhNYZyB/4oKo8=; b=XEeYJnwde6kG5cpr2E7o8TNSOJcGdoTyjKiKq9s7lAj3p84GHffO+h6JbgJ/BwE/IXWUgJVzbz8y08Jf1FLjUQ0O0+5sz6ip4cOqNK+1SlP3DOkCDgO4AmDrZUm+gaB0qBOFkhU1LqljuTYLpGN+LfpULUHFW10SjyYqvOmW0d4zWQKU5nR7jhRCFSulveDgNE2YUGpzw0oCpH13Wb0qIxwy+juEQQlIr9nLUP5/3aikGM7UVL9FfyGSa+VjY5ZsB4Vn0AjasvtCKCdbuUK5sUVeq9eCl/4gnco2qjaYjGLr5hsLu3wIMibxBL4tPjtmvszllgWXDNeYCO4qNQ2utw== 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 AM7PR04MB7029.eurprd04.prod.outlook.com (2603:10a6:20b:118::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.32; Tue, 6 Jun 2023 06:46:33 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35%6]) with mapi id 15.20.6455.030; Tue, 6 Jun 2023 06:46:33 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 12/18] bpf: Add bpf_burst write accesses Date: Tue, 6 Jun 2023 14:45:11 +0800 Message-Id: <972ce6e4c0f93d1fc02fa202bfac01c38c681623.1686033694.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR04CA0158.apcprd04.prod.outlook.com (2603:1096:4::20) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|AM7PR04MB7029:EE_ X-MS-Office365-Filtering-Correlation-Id: 8a07f4d9-bfbe-490f-55c0-08db6659c41f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qwTLPbC1hlv3DA9PvgmC+YCjoVxhZmueBcpb2dQ9mF3Ita+KWLObRuchdg+40QiTIfo71UKgCnO2dVZnbkBVOxMMwCDq4MXUt5lVCZ9ly36qMcJRcONND9uYrvywlBrLa5SHGkQoVnBJ5h82wHd7kjPUqR3HXaMQq5IBXYk03UwkOy653h9+iLxbzKXoE135wUDvjORJ19C2xFbd3RU4YaLl/rqaQll+Auk35EPme4n18pit3TDXCz01jSfh09PVIesgkpuwulj4RuBRFOXjgXK9Khm/ZBclRpZQANDy5LqHgmmlxJ4nc+OVsh8f34ICBr+W/cBY9yguONzUmcEh5P8k8V6YhMHx08dstZhtPDXxp+3c+lWsDssKzI5YXjlyNLyCkR1GMj12IcDCFel8F4CIvuQFOSkpgqqjJhSgkv3XFTujm6+b0XTlXRXxhLywcVKMjg3gB0g4oz4mW0QlMDuSsKv9xflMV2Rlj4VJ7ReVK07vJg0q7YUXa7N4kAjlif18lcr/FixU8ScMEbC/d0XGnyIsf1qVscb9gI7hlepla3kimh/srE+UeXZ5HqZ3 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(376002)(346002)(39850400004)(366004)(136003)(451199021)(2906002)(478600001)(8936002)(5660300002)(8676002)(4326008)(44832011)(36756003)(86362001)(66556008)(6916009)(66476007)(66946007)(316002)(38100700002)(83380400001)(41300700001)(6506007)(6512007)(2616005)(26005)(186003)(107886003)(6486002)(6666004);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?IOnylKJ3ebeYcN0MbsZSEiBjOuG9ZDujdNYAeN79F+LTF+C3MowhMODiw8zr?= =?us-ascii?Q?6XxUhJl9x43p57eMOny5e4KVxqefZNN57B2PO/JZnKv4zBab9xM16vfBdHmf?= =?us-ascii?Q?4cOdzg1B80JSNPvKvwBz/nrboaRMZ36cmzUYLIKebpWW5qgENK4JuRo/msWK?= =?us-ascii?Q?GIaTScOm0RHDV94ISh4DYUAJNOnTcecOFixE2CbOIaKt+bl4PLDwJ9c3qVmB?= =?us-ascii?Q?JmkxQuFmShad1eGaWUXS9KThlx2GefkMNkLUJdDPwU3wAZB1knguQw8SmfqB?= =?us-ascii?Q?kRbdh8MElJtdvKzsTvmPABErdQ/si+xoV4KxQGxChopW6H3qJSuoJoLazpOp?= =?us-ascii?Q?f/sUu1n3CXz6xVfXsiilHB8Z7b9voBJrhukfWHjz352EFQy8xIWHXjejJJwQ?= =?us-ascii?Q?3rr+AqVpUPEb4OSnOaPn5wj6Iv8uI0IoTv2MgW2Zok4ZuJQ8yT0V7sLJCLh9?= =?us-ascii?Q?awKfvzG97XQucltBdYnjIhZsnOXWWO4Vn2Pz0ruUi0x9uQ6lOjtDI1kxHCNm?= =?us-ascii?Q?dHvTacudZGcRqM/AyBpkO8KwpAEttML3sqY2rUUkkMltcQjoSYOuvsJuWj0P?= =?us-ascii?Q?HfEiBF6xpR70tIuhYPZ+UXp5guHnupd4JaEyMyQVRv18XlZjHZ68BQxJzIeJ?= =?us-ascii?Q?CwFQ9LamJnafCRZNY4P2hr28d+H0aLf2RBNASt2UH9qxCVLaG/fMQVpiSb+2?= =?us-ascii?Q?0grj1mcp7Xs9l/MGFQ4dYo9AF6p2VuUllsL2jO1WOgMvKgOOYMj3XPegruq2?= =?us-ascii?Q?LzUFfWyDO3ysuqSta78EVFMtNu98nr99i8cNRRH28QGS1O71rK4qZrdqMLoJ?= =?us-ascii?Q?4sFKYCHE2FI4R0rx9cGndb0tAOBGWeGKzJBWfQnYsu3uFNsFWs6hQPnkoaTS?= =?us-ascii?Q?YGfJO9jbKithOwX9ilKoO8ZhyrwT1Ub/O98ZVd2l0lH2M+k1zRQJGEQki81+?= =?us-ascii?Q?yh/nyO2pnGrG8W5XJpKIElx/SDt7q7Y7I87XltTI03Bc6XSyNgY5n5kuFvy5?= =?us-ascii?Q?HCcdrZVujLdEQMtaduzsC+N09imHbWuItC2DQMvypybXpehkJsKq7kB7TSZ1?= =?us-ascii?Q?dA+H5u94BSChf++i11MAdsw2+BZK+n655lNQE578LwfA68Xn77eGQ9XyxiuH?= =?us-ascii?Q?ofpShYfIn0evO8/QSnL1GuXhCx9o3vJvxw0dnxYmewHON0nn00DWLqjZsIg6?= =?us-ascii?Q?l6DsY7kOqgfe9xMnWb/P5RZT2GdN2k7vO3q6nuWfp95Uzyzan70v2E90pQAm?= =?us-ascii?Q?UGMRlxGvfuku7hoFrBh8YFHkuy9NtJm0c6F5r1fTGg2iNlnNdl5Bn88DLhfg?= =?us-ascii?Q?5qs1YIssCZ0YW3DJnSlI0QTKxUtuXJS+5kf8vdPQ38kNOdZhrb4zU1bScjnp?= =?us-ascii?Q?3ysMk3dNcJa9/o7/eXOHNuY9joDuxYESjz4mAGiGOi5kQ7ClY1m2/OAVFOyF?= =?us-ascii?Q?Sc9yZp0TkhUZb9RiwMCuQxLvnkjgRKxkwb3rHOz6HnC6ibb5awKpI7y0SAlA?= =?us-ascii?Q?SsKYh05XGGXdbMoV+5mQgXeE8wy9gxM6yLSPVohoYTXSfWWeA/wJpJDpHhXD?= =?us-ascii?Q?GBI+xqoRKVR8Mafzx3cbSxDWcKsTQ8cAPvQrbTFF?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8a07f4d9-bfbe-490f-55c0-08db6659c41f X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jun 2023 06:46:33.2928 (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: Ml5f+zVwSkqVxw6fwFo+qyUU9R/XIzIti/TK+XDT1Ou+cW9EY7LRxE3S4U6TVMASWsPDMZ6qFjmyCETcS4RE2g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB7029 Content-Type: text/plain; charset="utf-8" Add write accesses for avg_pacing_rate of struct mptcp_subflow_context and snd_burst of struct mptcp_sched_data in .btf_struct_access. They will be used in the bpf_burst selftests. Signed-off-by: Geliang Tang --- net/mptcp/bpf.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/net/mptcp/bpf.c b/net/mptcp/bpf.c index cea6a8562f70..719d673ad346 100644 --- a/net/mptcp/bpf.c +++ b/net/mptcp/bpf.c @@ -51,6 +51,12 @@ static int bpf_mptcp_sched_btf_struct_access(struct bpf_= verifier_log *log, case offsetof(struct mptcp_subflow_context, scheduled): end =3D offsetofend(struct mptcp_subflow_context, scheduled); break; + case offsetof(struct mptcp_subflow_context, avg_pacing_rate): + end =3D offsetofend(struct mptcp_subflow_context, avg_pacing_rate); + break; + case offsetof(struct mptcp_sched_data, snd_burst): + end =3D offsetofend(struct mptcp_sched_data, snd_burst); + break; default: bpf_log(log, "no write support to %s at off %d\n", t =3D=3D mptcp_context_type ? "subflow_context" : "sched_data", off); --=20 2.35.3 From nobody Tue May 14 09:19:52 2024 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2052.outbound.protection.outlook.com [40.107.21.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 130C6190 for ; Tue, 6 Jun 2023 06:46:43 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=I4wx2sd+VR1X5gkWVh2HiHmC4JPLT7c3AFx2owHWGCo5st2c3qoCKGyZXWWZZuVIV30F6FnUzJ3q4olksK5puB8O9NZXDCKrChzYVMTLLrn/kmsngBwb0tC7jRiWffuxfXxPdmslSMQAtoc1W/Tz6umN0Q8mhzaAAoXF8xhljMQrwWvZV+uX4KCKL3K0YnP7e98KAJrJYdLOUTKnE+b2zZpSKdIHgxVQIHtypnH0gVRsg2V5LA/aPQ6+B+Ofu//xsplA2tLGKkBCZKPUPRhvKox5GiMzzTqj4tRO3vBm/gDd+uGWKNucsZBe/W9d+Nuq31XmTpBKWXOqK77m5CjaLg== 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=Uwa1GJEC/FcOH52kEYSkQ77nUrYIAb6lJ46RkUkfRBE=; b=m3D3+Kt57XSMoo4vHKQF07il4ZjPBsh9zwe4gkR/ZylDNCsX8goAfOyBFfpB1xkmtQyMUtkezC8shngZFZCaPd7xMb9ZqNrQwqeXwKimbFbEYpUJFnbZn67PqNAZQi3vfXQ81qedQ50LZm6PQhZYFNC3G0iJftnhunkTRJP/fTy9IUwvXaoAKsMvtRCEaK75aZRr7hzYgdknTuuqBwSaoP/KGgCAVxfvJrqDz10VUqy2w5ayKyjfm1vTFDCAUfiR2aw2J0jBWrUpdA2UpErUtdWpjOei2VuqeZMoG6ikhQ9q16M24QpgLe8HY2PLS5hRx51+R5F1u6y9b05kC+vbWA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Uwa1GJEC/FcOH52kEYSkQ77nUrYIAb6lJ46RkUkfRBE=; b=nDx3QKuht3ppv5k081n46FAk1IbYQ2jHGvrkniYegqY7Ju5qvXMuZqIt95p/+1dlMk2hu4mwtnepDEZ7AJPWbAge6+C7c8k2GPhGsMSsYgIfLAVBUOfuFugLvynrvy0ky0gcCBUCAzkWPqttjFl+Wd5ZCTDVi1t1pMskg3OcZIXaT6ts79d9wgDeYQE0LJAtR3H056xkRjqecoaKuesR/kY3IpuQJwgpkJnK6I2ugwqN6OJmWT5SWL/r378uoi150R5nj3k1O2ZFcP/Xr9exWTfM+usov+Mw/mIKgix3lYCtm8NwdOlNsfkZO6ww3ZsQ3VvYYP5+L6zzthYSVgciJw== 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 AM7PR04MB7029.eurprd04.prod.outlook.com (2603:10a6:20b:118::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.32; Tue, 6 Jun 2023 06:46:41 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35%6]) with mapi id 15.20.6455.030; Tue, 6 Jun 2023 06:46:41 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 13/18] bpf: Export more bpf_burst related functions Date: Tue, 6 Jun 2023 14:45:12 +0800 Message-Id: <40c0aaba36afd5180f19cbd6d54a58fbab48313a.1686033694.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR04CA0155.apcprd04.prod.outlook.com (2603:1096:4::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-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|AM7PR04MB7029:EE_ X-MS-Office365-Filtering-Correlation-Id: 8d0b946a-6d71-4354-5528-08db6659c8c7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: uXZZeIH06wEvCdCfbA59EEwWNE8kivAuJbC88AChv/JV+qi4Sc/CMqVn8GUK1CTHYceYH2U6GvaWBqbFaMY5npsyQfuCgLP+X0oDB59tahWNfM/VwHJPktfwqkJj4OLMdOG6NJw4ZWq0dUe3frVCNf6xrcnxwXdueg5SMKHuFY6ywk+mq73x8QWkrFW7Be8pvCEZWKThy2DC5Skwc8daaJy39cIKkQGLRbES65e9fPhMbByfta49FebR8zl5FnXY4vW5FnotVyijNbPyx73guwHdfYAoPLyXYRRFzlR3HiG2KexuKnjrKRPiaM+MB1qai5KNpWwsgiyJWrpi0Od1BN8L5lrPzy728OcEvJZnUeWR7uuCUga4m5Q2vqEdfTTBRANV0lgrtIBn1dhMtINvj2SRIkOGXHjbRu2lNbUFxrjf5qZMA3fn2KMlHrQWzI6ktiMjdhxAiuw+XLoWc1L2QwHFyB082BJ2zBcmldLFdqo43iSDyUiD7bEzjtT5ho+DMJMJLJGf0XOKiKMHSqhTBjgUxWVwYFDKmgNrTjHBRUGHpgGuZxLQA35LI1DE8enl X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(376002)(346002)(39850400004)(366004)(136003)(451199021)(2906002)(478600001)(8936002)(5660300002)(8676002)(4326008)(44832011)(36756003)(86362001)(66556008)(6916009)(66476007)(66946007)(316002)(38100700002)(83380400001)(41300700001)(6506007)(6512007)(2616005)(26005)(186003)(107886003)(6486002)(6666004);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?WqGTeSBcqaQ2A2ZKh1jvVdtLpJFr9SEQPeBXGrvEIZZbOXrAISOGJrib367z?= =?us-ascii?Q?gsnSgseRk4TJayxxyKPqkq9ERXJIeYLQCkrOHNhARah4l/UO3vR6dhj4LqUW?= =?us-ascii?Q?xjB97jCvB1OefU0FAPRwba9JBlp30XXdI5Z7MyYEp/xX5sXzLZlmD7FdLybr?= =?us-ascii?Q?0WXxqSo0tBtJCTDhztfAeSD3KEtRh7/fSzNvAwKZ3BD7AvdOtyj+as6aoHXv?= =?us-ascii?Q?tB2KH1rtk6XVY2x2tEnIcx886M2xh6hgF8Inzfq5iobcuLoDdTbccNXb36xh?= =?us-ascii?Q?a6P/+sY8QzRgVs1MERmgIRWSh2idezideUq7xZwQiP6cBfQpXYiH97zDZPi+?= =?us-ascii?Q?OH1TDXweBc97T/sw/tBW1up+gpq7grapgaQqb/yrNiDShA0so1KXhD77antL?= =?us-ascii?Q?QPve09AE4vKbza1Zu1tlX1TfE6dNJX8m0KzrEMLQX5jNoYRpZfJWc/xI1mD0?= =?us-ascii?Q?vsOSEdG4TZjOFeDvcTCGp/fCXgrJCP3M1W9Pp/RNwmDFHNjrtNWvVlqBOhoq?= =?us-ascii?Q?5fywqAvCYh+swQjc6XkCO7cxes/cpz70yA1V1Dbtbo0CVaO9B5kNsHk4xMPv?= =?us-ascii?Q?tWS99xeymhF671FCvfuSKXRadVJc18nREy5M5bBdEktfR9h5BnvQHf02X1ZQ?= =?us-ascii?Q?+9HPjXM+fRqYgNzfPyb6pKzdwDPfOG/DxwDPeffCNJYVpoV/gpR62sNEPLZA?= =?us-ascii?Q?ahY9eocxyM2rjlHlXCy5IratoUEFEmaVp09d3WuatVNJnlc7t4V+fP/OmRMf?= =?us-ascii?Q?QFNejMfzcVtH+wFIw19vy0WMDp+N/mfZWf00TqQOZ08fSCXjxWPsPkh4wh6y?= =?us-ascii?Q?HddULlhrtt4QwuF9eqjGi4g+oQfgPvOoZmm6AgG33O8hFTAW7SKeure0AnP/?= =?us-ascii?Q?3l8ulf8/Ob/rwkECbg3tpzSpyu19uu4dkTW0UlgDbR/sg8THKtKYvYzXSNux?= =?us-ascii?Q?jE/WeB5BW3qqBJzatCm4xz4BJqGINa+rHYcVM9mCTgpTrTLycBBMIwMq3h95?= =?us-ascii?Q?ALM3/nxwHIRCvZuncTo8JsXRFTmVJwEAe/Ev0sNt+Q01i3dNo4wMMgkNqfT2?= =?us-ascii?Q?iDrE+7Ul8NAkzr2EetuuMb15qQLPzuRqPYQdvdjYQKWFgGIc7lEULd8gCJs3?= =?us-ascii?Q?ThO+l17TRJ7F4DGu+n6iPPnQo8EHFQ6F31oPFeVDJeNZIJxw2YErJ8O4Md6O?= =?us-ascii?Q?qF+HBAZTogNZTz5JpY/fkADBM26PS31ZaZX7CYg9pkn3KxVj9aCQZWubSxUg?= =?us-ascii?Q?uw4bX8xkA0wav2MfnfdH+uanRPAfnB5CR60Y7FE83uWsoOS9oTW6ZoP/2Uhz?= =?us-ascii?Q?FhbWuIRQOttoMpmwqfKg3W5319PpeBDgSUFDVNSjguDEz9NcUO+9y9a4y7mC?= =?us-ascii?Q?JlePwRBzNCn8KRs6TXUKly3ZCMvAo1lWLoJZ2Ok+hwAsFlBE1F4L3xrRpzUn?= =?us-ascii?Q?kOCJOkYFwK0SDbggD2bC5uZGe8Q0tJmR9vdVW56hpFEJyAcIxlnj5GejtNYB?= =?us-ascii?Q?YVWxmM7SRFTgcArYVUyzfroStKOjpjBic9Lq0Kdk6F8lYBa/vVSstEU4GI8G?= =?us-ascii?Q?uE3fY1CVLKoHtEdaBDjZoebhkgXj6d+s8Oai0j2K?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8d0b946a-6d71-4354-5528-08db6659c8c7 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jun 2023 06:46:41.0862 (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: TPqXjAmFE/vV6KNIBEfKjV4Vq8pWZE5Wlox9RzLPmjA7sifOJVXv8h7CmRYVEAM4oEOTIimfgeVbWCqZxm5bXg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB7029 Content-Type: text/plain; charset="utf-8" Add more bpf_burst related functions into bpf_mptcp_sched_kfunc_set to make sure these helpers can be accessed from the BPF context. Signed-off-by: Geliang Tang --- net/mptcp/bpf.c | 7 +++++++ net/mptcp/protocol.c | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/net/mptcp/bpf.c b/net/mptcp/bpf.c index 719d673ad346..ddcd803227d0 100644 --- a/net/mptcp/bpf.c +++ b/net/mptcp/bpf.c @@ -187,6 +187,13 @@ bool bpf_tcp_rtx_and_write_queues_empty(const struct s= ock *sk) BTF_SET8_START(bpf_mptcp_sched_kfunc_ids) BTF_ID_FLAGS(func, mptcp_subflow_set_scheduled) BTF_ID_FLAGS(func, mptcp_sched_data_set_contexts) +BTF_ID_FLAGS(func, mptcp_subflow_active) +BTF_ID_FLAGS(func, mptcp_timeout_from_subflow) +BTF_ID_FLAGS(func, mptcp_set_timer) +BTF_ID_FLAGS(func, mptcp_wnd_end) +BTF_ID_FLAGS(func, bpf_sk_stream_memory_free) +BTF_ID_FLAGS(func, bpf_tcp_rtx_and_write_queues_empty) +BTF_ID_FLAGS(func, mptcp_pm_subflow_chk_stale) BTF_SET8_END(bpf_mptcp_sched_kfunc_ids) =20 static const struct btf_kfunc_id_set bpf_mptcp_sched_kfunc_set =3D { diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index 55c2be2b14f2..e416e4a7b82d 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -50,7 +50,7 @@ DEFINE_PER_CPU(struct mptcp_delegated_action, mptcp_deleg= ated_actions); static struct net_device mptcp_napi_dev; =20 /* Returns end sequence number of the receiver's advertised window */ -static u64 mptcp_wnd_end(const struct mptcp_sock *msk) +u64 mptcp_wnd_end(const struct mptcp_sock *msk) { return READ_ONCE(msk->wnd_end); } @@ -490,7 +490,7 @@ void mptcp_set_timer(struct sock *sk, long tout) mptcp_sk(sk)->timer_ival =3D tout > 0 ? tout : TCP_RTO_MIN; } =20 -static long mptcp_timeout_from_subflow(const struct mptcp_subflow_context = *subflow) +long mptcp_timeout_from_subflow(const struct mptcp_subflow_context *subflo= w) { const struct sock *ssk =3D mptcp_subflow_tcp_sock(subflow); =20 --=20 2.35.3 From nobody Tue May 14 09:19:52 2024 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2080.outbound.protection.outlook.com [40.107.21.80]) (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 24997190 for ; Tue, 6 Jun 2023 06:46:51 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iMiWO/8qW0GevpN3woQW5giN3R81tOYA/xZG9MkpMrlfCfkhEsJGprUpRr0yT4HgQyeJWqPRT+Flq/CFn2o9cSurKnbt0XR6+QHy7wEcFLRkMvfrJUrM3g9r7fIXsn3o2AZesMalo6+Nc0XY6gRL7AVQBXUBKJ/1cUPG0ZLH08/it7kpnE4SZ67o96iW0wDIWBJGzL79uG7A7gHeYhFH49wKd0f5TyvUP3BhSRGlZ2V5LrZ+3rnqP/ciXaIjzVVqdKJXPswhsNvCkIC83IXgr386BdQbbWFQD08eBTQiYaWD4E++Q4K/vGSaB/Y/tuB/6Gz0HZVr264rfzzHclYCjw== 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=8L+1fgeGxbp75sZoe+QVUhm+7LpP+TFCngB8VyGxLdg=; b=VL/IC0aTRuGi3+KzQDc1kWo2X9e11LOv6Vf3cdw6+Vf1OfE4/MrrK4oqTxz/6YsLnJgYAqoPmdVVdvPtja8zm2eWLD6usBBpzPR/hBDpSKAjevkz6aFdy+t7UpccpzgBj37nm3Jr1e0Ci2KCNtOYl7aeNnTPNJiKeBGKdm8076fAfeSXppRQemMyu0emB0SOPf1ja8yxz5rj8Vjf6q+iuXlrCuUyftKf5XNkzmGZbCxHJ0w+Jt/BetLunMIMwuuuIdugz8E0uBQMyhxjc6c3K5JzlrdxqqK30WxdYAhijw3v145bjvNgqZWSsXEPdYqd2XrRUSGle1YxESulvM23Yg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8L+1fgeGxbp75sZoe+QVUhm+7LpP+TFCngB8VyGxLdg=; b=1FC9IJUb7oNGms2JjXx9PhLNP/ojkW8Pv9nQESupAJOB5Znf5kVgHJdEdOw3AocMa8liN98brcdv6hje9bo3hjDxrMc4zzQLichzqf3I5q5GivgGg4yfEJar8+jJ28hnL9KEADRpWJ4lVCkvIZm3GKk/ug7Hv/lKsgnRm7EL/IMasH2cWdO3BBGNU3pV4jT5Ii8U0zxdAHE5SxkE6ahfMLV1Ci3I9b3lQrWah6QfWPtBs0jEEc48CEPJXBPQ9FeZ65kWq7YR35ycxJZaEIQFebJTE4d6xJ2NbHlONuodpi5KPp/2ndwjC7idqsGtT1TipU/zVGOXZoyNg5dR6yTacA== 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 AM7PR04MB7029.eurprd04.prod.outlook.com (2603:10a6:20b:118::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.32; Tue, 6 Jun 2023 06:46:49 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35%6]) with mapi id 15.20.6455.030; Tue, 6 Jun 2023 06:46:49 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 14/18] selftests/bpf: Add bpf_burst scheduler Date: Tue, 6 Jun 2023 14:45:13 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR04CA0170.apcprd04.prod.outlook.com (2603:1096:4::32) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|AM7PR04MB7029:EE_ X-MS-Office365-Filtering-Correlation-Id: 07c87a9e-0c0b-4c02-6715-08db6659cd82 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: S0zdVc3VSrrM3SAIFzO38mg6BlgAsYXQgCyqaoPI5wI89hNHMZjSy9KUktHEc8zalFPBxoJhr6Cb3Ahejv0GbUnxEzGqNJWxxVJWcyeLF5ashRT2WqQGokJUnjUGTgUswaHGk/6PYRpcICulzdsCQ/G0DmbGLlcSKktBEaVsxOq0xeDXA0VDu0VQQJrc8DVZcPzoF3g5MMXU/37OLCD73EllRKQHK6316yHNemX6NTDBxrhJAEs4PF4EI5TpK7CabLMQnPJti80QfRNXKzx34kQlfKZ10vz+BV7gURmNGK9KL22rng8qhUMSvEHn8c2C8umN/ULjdEnxUaB0nVkQvHxH/PghhCnxy0VbMCGEWLoHEp7vLEAQk/JInh3gAYEdbPgFl7uCRycphk5PVC45jfT6KmvPekG8FfGwxkJhsFeAeJg5MBJdzZBcpfNgq3UsPNEgLNwGA56iA7T5A+7MUbHWMNZUdiRCZ2ALJhJuHhQvkeAL1ZmzSam7j3VLfpNF4Q/Dv0khdEN3+NGENN+9CS085obUKkguYm+JQLvQXkRhhJBPcuD83TxarhNblXQ1 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(376002)(346002)(39850400004)(366004)(136003)(451199021)(2906002)(478600001)(8936002)(5660300002)(8676002)(4326008)(44832011)(36756003)(86362001)(66556008)(6916009)(66476007)(66946007)(316002)(38100700002)(83380400001)(41300700001)(6506007)(6512007)(2616005)(26005)(186003)(107886003)(6486002)(6666004);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?mB2HTUupHs5AX0kbbTUyR8L92mIVShqYIVzGIjWQeeGFCmV3pkX9ol2Kjw4T?= =?us-ascii?Q?OURpnXp7BZIufwna9Hkxr7fgj9yzIjKBnwoCKzoujueoQyJqIgdTluie1yGf?= =?us-ascii?Q?RQ73YUSVXxIVbjgsmBBtwV4PIHrrPxoP5BpJAF7R3EuVK2YWAgMJ9E70Nr4g?= =?us-ascii?Q?bdbcz9AVXDESqlOTNEsEYnGNGk6PFUyXSWXXMiMQ5IfQnO/wwUXyxHRQWSrY?= =?us-ascii?Q?ryi3WtAbX6xisEfe2GAjB4+Un9qWbnlvqjDyOZc11BvTq/++SaG1zP43UMkk?= =?us-ascii?Q?gdlDGFeik4iXp00WIAqBkQEmtY8x8/pZJspyPX7EGjCRBbAbQVsUtQTNBZ2r?= =?us-ascii?Q?yWUr+4WeHHj2eTa9GX3OxnJHFP2hYhqfHBUtq6pl5LEwGsPbf2pxBuSIbrBX?= =?us-ascii?Q?2a2LeLSGzBQzhJQrNtO5Zb/lXVXupP/v1cKzkCRTtJjom8SEV6O3lMghxYEx?= =?us-ascii?Q?CwVJZ7Jp25AV3jlq0+Kn7n5Ucq4txfZ4c/F7vsJjn1/NC02VwQWXUovvJkRZ?= =?us-ascii?Q?qoIZHka/hqgnThtvo9JrJX1oaFP70QI5OM0AXDwUBj0eu9uSbmiqnHVChOEc?= =?us-ascii?Q?paCdAA1TtDpDu+WBkaeCFwRrpOcEPoGK2vG0SlOIjMBhYa54Q3r6rGXC5JUg?= =?us-ascii?Q?L2SyCqhDjdX4W4ItZ2O0Y8/T4JI+V8Mo7gXXbTwQ6ASb35eXlMyyhLidNnXX?= =?us-ascii?Q?8mWnTKKMH4140lGCGF9sVIlcsm6Im7jg5RbLB+Sz7ixMN3p9sSH9/EsNu2em?= =?us-ascii?Q?CNMVQEAp/i03sXMyTkIRwiZd82ausZWNWc0sIaR5TmgLlOFWILffb7LFajNz?= =?us-ascii?Q?2FYUChRzuxaQsnd49pE7bmATc5ORi2Jj5tnjQLW4ZTLDQHlO9/cxXSLCpbN8?= =?us-ascii?Q?q0d0fvw4CjNfQX18Pof/FTIdJL9G1pBJB6rdyu//BfslfTYARUMSVM0AaS8j?= =?us-ascii?Q?N/SqVK4+q5Y5OZb2ycGvW1/5DsV6PdQm7JSMfFP4ZVUoZ13tbenpMnfQYost?= =?us-ascii?Q?1MmbwQrjn+cVi6B+LHJl+JxuYJn0IQVfrO4XZNNDSx7SyvIej70tSD8tSRG1?= =?us-ascii?Q?Zz9EXJ67XfNPMvh2Q9eu752tCLtgz+0cMSwCFeas+e7hQye9c4ZAUmjuL7OQ?= =?us-ascii?Q?LBfsCXM4lxjGBdPvrucxKGP5bwgQKIsoI+xFGQC/79fzFDmZgWVlPcdA2Q/k?= =?us-ascii?Q?DEf9YorBe8I29z2XQNZSrZIdDC/AG3b0IWzKFGuc9tngl9H25fQppkGtTQxF?= =?us-ascii?Q?+zdAgpjCj4M6B+0+98gX2wCASdTks9bvdKp/nYHMv9Zg86zf2dDQo/Mdc7Y9?= =?us-ascii?Q?mCw8NwiLQKYuO5GKGXkzJKUW9Pqnzbt/ZmgDdr/3tJX694KzNz/4sajpEECl?= =?us-ascii?Q?M2M2HBb+7PUv+ciBVGw4iaPxa+wJdVzs05cx6LElFT+o2jr3IfPfSVBj6udD?= =?us-ascii?Q?3yadGMvW//ta2pSsI18mh0PGqpy6q/1VYww3KCbUkL1GyWhxPl94FMPEF1VJ?= =?us-ascii?Q?j1V1plCgdK9o7tGMEqrHvFpc6c13P8gKTRNaklp2Otq+bhsP8lElXL6ZylQp?= =?us-ascii?Q?7x6aA53ZyvaLpZEzj4qiSIvudX3pTSjcIFI6epnA?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 07c87a9e-0c0b-4c02-6715-08db6659cd82 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jun 2023 06:46:49.2007 (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: Xl8MDwKozg+nImAkW/OE2k2XfEb4FSCGOCSTo2P4PLdOuuUAmLFa1qHxAGovz/oBBOwRvJtjHP1totw7Thvicw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB7029 Content-Type: text/plain; charset="utf-8" This patch implements the burst BPF MPTCP scheduler, named bpf_burst, which is the default scheduler in protocol.c. bpf_burst_get_send() uses the same logic as mptcp_subflow_get_send() and bpf_burst_get_retrans uses the same logic as mptcp_subflow_get_retrans(). Signed-off-by: Geliang Tang --- tools/testing/selftests/bpf/bpf_tcp_helpers.h | 5 + .../selftests/bpf/progs/mptcp_bpf_burst.c | 213 ++++++++++++++++++ 2 files changed, 218 insertions(+) create mode 100644 tools/testing/selftests/bpf/progs/mptcp_bpf_burst.c diff --git a/tools/testing/selftests/bpf/bpf_tcp_helpers.h b/tools/testing/= selftests/bpf/bpf_tcp_helpers.h index dddb51a47740..2c35cbe05d33 100644 --- a/tools/testing/selftests/bpf/bpf_tcp_helpers.h +++ b/tools/testing/selftests/bpf/bpf_tcp_helpers.h @@ -36,6 +36,7 @@ enum sk_pacing { struct sock { struct sock_common __sk_common; #define sk_state __sk_common.skc_state + int sk_wmem_queued; unsigned long sk_pacing_rate; __u32 sk_pacing_status; /* see enum sk_pacing */ } __attribute__((preserve_access_index)); @@ -234,12 +235,15 @@ extern void tcp_cong_avoid_ai(struct tcp_sock *tp, __= u32 w, __u32 acked) __ksym; #define MPTCP_SUBFLOWS_MAX 8 =20 struct mptcp_subflow_context { + unsigned long avg_pacing_rate; __u32 backup : 1; + __u8 stale_count; struct sock *tcp_sock; /* tcp sk backpointer */ } __attribute__((preserve_access_index)); =20 struct mptcp_sched_data { struct sock *last_snd; + int snd_burst; bool reinject; struct mptcp_subflow_context *contexts[MPTCP_SUBFLOWS_MAX]; } __attribute__((preserve_access_index)); @@ -260,6 +264,7 @@ struct mptcp_sched_ops { struct mptcp_sock { struct inet_connection_sock sk; =20 + __u64 snd_nxt; __u32 token; struct sock *first; char ca_name[TCP_CA_NAME_MAX]; diff --git a/tools/testing/selftests/bpf/progs/mptcp_bpf_burst.c b/tools/te= sting/selftests/bpf/progs/mptcp_bpf_burst.c new file mode 100644 index 000000000000..1451fb405559 --- /dev/null +++ b/tools/testing/selftests/bpf/progs/mptcp_bpf_burst.c @@ -0,0 +1,213 @@ +// SPDX-License-Identifier: GPL-2.0 +/* Copyright (c) 2023, SUSE. */ + +#include +#include +#include "bpf_tcp_helpers.h" + +char _license[] SEC("license") =3D "GPL"; + +#define MPTCP_SEND_BURST_SIZE 65428 + +struct subflow_send_info { + struct sock *ssk; + __u64 linger_time; +}; + +static inline struct sock * +mptcp_subflow_tcp_sock(const struct mptcp_subflow_context *subflow) +{ + return subflow->tcp_sock; +} + +static inline __u64 div_u64_rem(__u64 dividend, __u32 divisor, __u32 *rema= inder) +{ + *remainder =3D dividend % divisor; + return dividend / divisor; +} + +static inline __u64 div_u64(__u64 dividend, __u32 divisor) +{ + __u32 remainder; + + return div_u64_rem(dividend, divisor, &remainder); +} + +extern bool mptcp_subflow_active(struct mptcp_subflow_context *subflow) __= ksym; +extern long mptcp_timeout_from_subflow(const struct mptcp_subflow_context = *subflow) __ksym; +extern void mptcp_set_timer(struct sock *sk, long tout) __ksym; +extern __u64 mptcp_wnd_end(const struct mptcp_sock *msk) __ksym; +extern bool bpf_sk_stream_memory_free(struct mptcp_subflow_context *subflo= w) __ksym; +extern bool bpf_tcp_rtx_and_write_queues_empty(const struct sock *sk) __ks= ym; +extern void mptcp_pm_subflow_chk_stale(const struct mptcp_sock *msk, struc= t sock *ssk) __ksym; + +#define SSK_MODE_ACTIVE 0 +#define SSK_MODE_BACKUP 1 +#define SSK_MODE_MAX 2 + +SEC("struct_ops/mptcp_sched_burst_init") +void BPF_PROG(mptcp_sched_burst_init, const struct mptcp_sock *msk) +{ +} + +SEC("struct_ops/mptcp_sched_burst_release") +void BPF_PROG(mptcp_sched_burst_release, const struct mptcp_sock *msk) +{ +} + +void BPF_STRUCT_OPS(bpf_burst_data_init, const struct mptcp_sock *msk, + struct mptcp_sched_data *data) +{ + mptcp_sched_data_set_contexts(msk, data); +} + +static int bpf_burst_get_send(const struct mptcp_sock *msk, + struct mptcp_sched_data *data) +{ + struct subflow_send_info send_info[SSK_MODE_MAX]; + struct mptcp_subflow_context *subflow; + struct sock *sk =3D (struct sock *)msk; + __u32 pace, burst, wmem; + int i, nr_active =3D 0; + __u64 linger_time; + struct sock *ssk; + long tout =3D 0; + int nr =3D 0; + + /* pick the subflow with the lower wmem/wspace ratio */ + for (i =3D 0; i < SSK_MODE_MAX; ++i) { + send_info[i].ssk =3D NULL; + send_info[i].linger_time =3D -1; + } + + for (i =3D 0; i < MPTCP_SUBFLOWS_MAX; i++) { + if (!data->contexts[i]) + break; + + subflow =3D data->contexts[i]; + ssk =3D mptcp_subflow_tcp_sock(subflow); + if (!mptcp_subflow_active(subflow)) + continue; + + tout =3D max(tout, mptcp_timeout_from_subflow(subflow)); + nr_active +=3D !subflow->backup; + pace =3D subflow->avg_pacing_rate; + if (!pace) { + /* init pacing rate from socket */ + subflow->avg_pacing_rate =3D ssk->sk_pacing_rate; + pace =3D subflow->avg_pacing_rate; + if (!pace) + continue; + } + + linger_time =3D div_u64((__u64)ssk->sk_wmem_queued << 32, pace); + if (linger_time < send_info[subflow->backup].linger_time) { + send_info[subflow->backup].ssk =3D ssk; + send_info[subflow->backup].linger_time =3D linger_time; + } + } + mptcp_set_timer(sk, tout); + + /* pick the best backup if no other subflow is active */ + if (!nr_active) + send_info[SSK_MODE_ACTIVE].ssk =3D send_info[SSK_MODE_BACKUP].ssk; + + ssk =3D send_info[SSK_MODE_ACTIVE].ssk; + if (!ssk) + return -1; + + for (i =3D 0; i < MPTCP_SUBFLOWS_MAX; i++) { + if (data->contexts[i]->tcp_sock =3D=3D ssk) { + nr =3D i; + break; + } + } + subflow =3D data->contexts[nr]; + + if (!bpf_sk_stream_memory_free(subflow)) + return -1; + + burst =3D min(MPTCP_SEND_BURST_SIZE, mptcp_wnd_end(msk) - msk->snd_nxt); + if (!burst) + goto out; + + ssk =3D mptcp_subflow_tcp_sock(subflow); + wmem =3D ssk->sk_wmem_queued; + + subflow->avg_pacing_rate =3D div_u64((__u64)subflow->avg_pacing_rate * wm= em + + ssk->sk_pacing_rate * burst, + burst + wmem); + data->snd_burst =3D burst; + +out: + mptcp_subflow_set_scheduled(subflow, true); + return 0; +} + +static int bpf_burst_get_retrans(const struct mptcp_sock *msk, + struct mptcp_sched_data *data) +{ + struct sock *backup =3D NULL, *pick =3D NULL, *ret =3D NULL; + struct mptcp_subflow_context *subflow; + int min_stale_count =3D INT_MAX; + struct sock *ssk; + int i, nr =3D 0; + + for (i =3D 0; i < MPTCP_SUBFLOWS_MAX; i++) { + if (!data->contexts[i]) + break; + + subflow =3D data->contexts[i]; + ssk =3D mptcp_subflow_tcp_sock(subflow); + if (!mptcp_subflow_active(subflow)) + continue; + + /* still data outstanding at TCP level? skip this */ + if (!bpf_tcp_rtx_and_write_queues_empty(ssk)) { + mptcp_pm_subflow_chk_stale(msk, ssk); + min_stale_count =3D min(min_stale_count, subflow->stale_count); + continue; + } + + if (subflow->backup) { + if (!backup) + backup =3D ssk; + continue; + } + + if (!pick) + pick =3D ssk; + } + + if (pick) + ret =3D pick; + ret =3D min_stale_count > 1 ? backup : NULL; + + if (ret) { + for (i =3D 0; i < MPTCP_SUBFLOWS_MAX; i++) { + if (data->contexts[i]->tcp_sock =3D=3D ret) { + nr =3D i; + break; + } + } + } + mptcp_subflow_set_scheduled(data->contexts[nr], true); + return 0; +} + +int BPF_STRUCT_OPS(bpf_burst_get_subflow, const struct mptcp_sock *msk, + struct mptcp_sched_data *data) +{ + if (data->reinject) + return bpf_burst_get_retrans(msk, data); + return bpf_burst_get_send(msk, data); +} + +SEC(".struct_ops") +struct mptcp_sched_ops burst =3D { + .init =3D (void *)mptcp_sched_burst_init, + .release =3D (void *)mptcp_sched_burst_release, + .data_init =3D (void *)bpf_burst_data_init, + .get_subflow =3D (void *)bpf_burst_get_subflow, + .name =3D "bpf_burst", +}; --=20 2.35.3 From nobody Tue May 14 09:19:52 2024 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2057.outbound.protection.outlook.com [40.107.20.57]) (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 EA951190 for ; Tue, 6 Jun 2023 06:46:58 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OdSM2uR3z7v/XFR0BR5dWBetk+MJ8bmlp0mVsGoFN1ERc/66ZIJHHWdQY9DdM2GlkXVYZ4ayMMM3C62r3C62BR1ohCqdYvKHpCotMJqX2l2iA+5zQcpefKuYmTAUejfmJU5O8/1n4r1E15hXSDaad5uFPt1Nor2CZ3TuzIligvtgD6tQ93a+37hREQ/DGRE1raMcj6fe7aIRH9vYA4omicwDZjji8h7HMojCxSpOCcAm0WWS0u1zAZYl1t1Fpf34WwhgbQyD10rZc9lk0Ery9xfceD/WrZPpuVTGJn2HXkSJYFMyjsFfX0RhLWzoxowwhv8qVAXAfrb9lMmMySPVWQ== 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=nfF2ymQTs98wwzrYJcSpzuGafFUO/uHJDM6q+Oopptc=; b=GH69cmLyyKE6uSyVg5kaeeDiPPVJ+HdeCRYYiKkDDPNsoxV38r2ap6CrCIGgxwTH++nIuK2xUgZitHsA9dEgMFalB0KDPy25v34cbmcb9WCwca8++v3fAsdLCTXnn34WONrq5Ct+1pv4R44iOwB5ezsfarOVgzRgAo0E2ZGOv5VEOKxqABzp80BBQTpL4bxeswbhfhdMB+9gHw7cURUHNLz5ycgtvLy3eHtm0OxEBJcM21xxexNCOxTagO8sHRxngF9izYGqijZBrfrxh3J+VOdgA2+vIzNv13yTHuwDJ6XJEcJh+HFlvd1gGRh4BZXCaXg85f1sr60p8hE6wTR3OA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nfF2ymQTs98wwzrYJcSpzuGafFUO/uHJDM6q+Oopptc=; b=Vd+QtuOikjCKIy/VsBZWtV2Z2PkNJtysqIUTv8pEG+T7AwR1hDVzV4Hhr+tk1YYmBTqe1t8cnrltnK+MKU6yXj7/siy+pelidcQwo4yD2UoV3bfmLiTCM23M+hWp8GXEMjxmzKNIOsS58EUxmkob8zhAEXMYLwN0Xfs9N6gQ2ri6prNO/hOiAutZlIRrLv/ifFXZwNcwtmC/rZp2ql22eK2N0DyOmfTPyaTXejazlkAq7D6w92e4Em6554ZW1K0dx78jRP0T+KiBVeNsBrJGxVHs0ZHqzJvgZ7it7+XcXQ1q9XXzwtyAO4Pg2OAhHmfIooAvJGN8D1dMbscUyJ2zDg== 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 VI1PR04MB7120.eurprd04.prod.outlook.com (2603:10a6:800:124::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.32; Tue, 6 Jun 2023 06:46:56 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35%6]) with mapi id 15.20.6455.030; Tue, 6 Jun 2023 06:46:55 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 15/18] selftests/bpf: Add bpf_burst test Date: Tue, 6 Jun 2023 14:45:14 +0800 Message-Id: X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR04CA0167.apcprd04.prod.outlook.com (2603:1096:4::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-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|VI1PR04MB7120:EE_ X-MS-Office365-Filtering-Correlation-Id: ae9d2d72-c17c-41cd-ebb7-08db6659d147 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3U2EeuBiOS7/HsHd/xQOZ3BI/KOk3v48DtmGIgGbee5p9hPda8LoCh1eOmugD3pUN+RhMzRTwH6IEXMudQLE5cbdCkvsbolViNkWjLkiHBMjdBOUW015sz6SJkxjS5DCCr4q4cGMj+3cMxzq+a6gXiviJw0+ov8mcvDJn8TvwFaFolA8W1yZxhHV5ze80k/qTO0hC+rGMw83XuimsxsAaM4APyAXQE+dpn4PoR47JBkRKIBcjduoNfcuHp36FXL6hrlRAPn5fnGZUkMpJg/ujDHDUhOHUBazy188XEXobXbuwMadaHYDKTQKno4orby9WI2ENOGlLt8dJ03sh4MHftH28TId0bmYO3AADCUKZJFAdIhgPcv/5jNB99l+A/o0hgIfKFvHEdm+3ZBSvV/wYlBi+h6GKxwRAR7Vhr1L+y3DEKuOeG6b7g83ga/YDZrmkhSpv4wawFTXiSZcBRyUpWAkxiAJShDlROORxorCFX7nNSB973zetwmjCK+voWVACH2wk/iHWaivsF3emfmtMquDjyHvpzXo/UCr/Js06LPQ4Uc9PdBza7k+pHS3ZF31 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(346002)(396003)(39850400004)(136003)(366004)(451199021)(107886003)(6512007)(6506007)(38100700002)(2616005)(41300700001)(186003)(6486002)(6666004)(26005)(83380400001)(478600001)(4326008)(66476007)(66556008)(6916009)(316002)(66946007)(5660300002)(8676002)(8936002)(44832011)(86362001)(2906002)(36756003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?vlRz7IVTXr0uCSqndX+hGzZQoUr2ISi7C6VJlnIE3OFWfjb7qblif4Ro4Thw?= =?us-ascii?Q?GF1lcTaBI7TcEwHhXvI22PiMjYclkRAtBA9f46VKX/+m8ZbKkXVuZAe7oR/C?= =?us-ascii?Q?IIKREngp5pTfebF5SFVlJMuBnfoljNPEb/infpn6mRA3GqrkUhUO/4Rz1KbD?= =?us-ascii?Q?JNB0VuzNUeBiIkUWMq0/SPyhOXQLEsAJxbnDsV4eiYwcsePp/U8/V/0y67KM?= =?us-ascii?Q?D16A0RJgLESNLRh3rfg0jluYkMDsRd7M0yYmxtJiQz/fUTKjnX0aJCgS9qx/?= =?us-ascii?Q?XbY51CPePNSu0k9rY9bQm/fGLZ7g2ui5gfvzW6N78LM3pvU1SRqjWUOqV+2K?= =?us-ascii?Q?rkbDyoWKcAObGjfy91GjB3WTuSNlrIh9FNGjojtHT4mfhEpwD8BNvxjVxKsX?= =?us-ascii?Q?p6cE4sPNMUkxwc+eSYtD+KGPcqbpky2hJ/ccXLuWv97cFWK5npV9jbgPe++F?= =?us-ascii?Q?w8hnu66KDKHJIzsrqKFIDWhKTm+fGl2SEY5JkOzKfblbpLxtCuR7ItdCkHoV?= =?us-ascii?Q?0w3lVnQiY5PhgxJgwpQwusH4P42zUUA7ZIxkZ+Z9ML/LOmMtizahSTxdOIoA?= =?us-ascii?Q?fn4dnufDK3ewITqwQ/VT4XVWN32sqzYtqma5jDYJy4FCBIZ3JxB9ia8sAXVo?= =?us-ascii?Q?JvjJENInobP8PzdN+QXMD/ILtLAoeICeLErhK02VAPUMqcikooeGom5Ku0OP?= =?us-ascii?Q?oRrePLZQPQ/e/5eUeuqKSV6gXJyICQFP/2tz7gk495LloeeEud3F4IzJPjYA?= =?us-ascii?Q?9mf3dXS7vf0n3SoDbTi0wwXmnOVwpXX42LiwUXBRFlhENj4KiOubS+jNmWWv?= =?us-ascii?Q?lX+mxVOAGUTMsIqfonUjGP7tjDmgC86jVP3YI+r/9bd/3W7KC1X6LEf+1wCZ?= =?us-ascii?Q?jWFi1thTAJ82zNSdLqdG96M4Dcm7q5tTnWjJqVcVCZYgIXLQ5Om/62y/oysI?= =?us-ascii?Q?jUTzNQBsfG+kzU1b3gc2uJ+KYDGr0DKQ5Q1H5hsO8Fv65fBdYm/vkxw3vDPG?= =?us-ascii?Q?q8Eyyv5lAli76RghHeNzA5t/evCAQOUZqmlnwctu9Unk/GEskWNnvyFNersK?= =?us-ascii?Q?vdFPNk5nEydsIdnXjYEFPhrSkwp5IJtvc8NPAWno8doK+eGxNBaDPkrLIle+?= =?us-ascii?Q?5GekDw72C9CKd7g3qSeg6PBQ855MO4B07Y97KnqY356lmY6ARqUmIIBLAxlQ?= =?us-ascii?Q?3Tq1nxO2KQM2cWc8UPuYsUhdaocuxoyPt+L6pnN0hOfIOlGs//tcSEtyMRxk?= =?us-ascii?Q?l7xESmrvrCgQkdneFDi49TCNWs1zTNbLrdu0deQl2sw/fCniYCP+l3Boawwa?= =?us-ascii?Q?dWb5OGiG09sedkZ117mDYgFZhA4rHKZoU64FaL6Q9M5pSIitvl569LccVE9C?= =?us-ascii?Q?97biVyYpukdXYhCXeVyPQHiDmi8q4O3c4SM+OW34h9ygivlxmh/48sllJvWr?= =?us-ascii?Q?zdL13eKXcG0ZxPlkUv75oUg5WsrlxPTM4DyTGDS1svUq9xJCk8gfWd9UYhOy?= =?us-ascii?Q?rx55FU6Hsx3VwSQmHKUKlZFUBIXG2PQiOAKqj3gpR5D/c6b7emJGa+14tH3h?= =?us-ascii?Q?G7IGkTbz5QHclgcpMZEG08zZqAuEnCo2h3lJAR7C?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: ae9d2d72-c17c-41cd-ebb7-08db6659d147 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jun 2023 06:46:55.4019 (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: K0bbktTngbnkULgO5oPQGPudqa6E8Wj1r/J4/FGglL3xIOqmggcdnoRUXaxGOVuUeAeS7FKDXchNRjGA3deDuA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7120 Content-Type: text/plain; charset="utf-8" This patch adds the burst BPF MPTCP scheduler test: test_burst(). Use sysctl to set net.mptcp.scheduler to use this sched. Add two veth net devices to simulate the multiple addresses case. Use 'ip mptcp endpoint' command to add the new endpoint ADDR_2 to PM netlink. Send data and check bytes_sent of 'ss' output after it to make sure the data has been sent on both net devices. Signed-off-by: Geliang Tang --- .../testing/selftests/bpf/prog_tests/mptcp.c | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing= /selftests/bpf/prog_tests/mptcp.c index a968641cc94a..b9f6dcf995fd 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -10,6 +10,7 @@ #include "mptcp_bpf_bkup.skel.h" #include "mptcp_bpf_rr.skel.h" #include "mptcp_bpf_red.skel.h" +#include "mptcp_bpf_burst.skel.h" =20 char NS_TEST[32]; =20 @@ -455,6 +456,41 @@ static void test_red(void) mptcp_bpf_red__destroy(red_skel); } =20 +static void test_burst(void) +{ + struct mptcp_bpf_burst *burst_skel; + int server_fd, client_fd; + struct nstoken *nstoken; + struct bpf_link *link; + + burst_skel =3D mptcp_bpf_burst__open_and_load(); + if (!ASSERT_OK_PTR(burst_skel, "bpf_burst__open_and_load")) + return; + + link =3D bpf_map__attach_struct_ops(burst_skel->maps.burst); + if (!ASSERT_OK_PTR(link, "bpf_map__attach_struct_ops")) { + mptcp_bpf_burst__destroy(burst_skel); + return; + } + + nstoken =3D sched_init("subflow", "bpf_burst"); + if (!ASSERT_OK_PTR(nstoken, "sched_init:bpf_burst")) + goto fail; + server_fd =3D start_mptcp_server(AF_INET, ADDR_1, 0, 0); + client_fd =3D connect_to_fd(server_fd, 0); + + send_data(server_fd, client_fd); + ASSERT_OK(has_bytes_sent(ADDR_1), "has_bytes_sent addr 1"); + ASSERT_OK(has_bytes_sent(ADDR_2), "has_bytes_sent addr 2"); + + close(client_fd); + close(server_fd); +fail: + cleanup_netns(nstoken); + bpf_link__destroy(link); + mptcp_bpf_burst__destroy(burst_skel); +} + void test_mptcp(void) { if (test__start_subtest("base")) @@ -467,4 +503,6 @@ void test_mptcp(void) test_rr(); if (test__start_subtest("red")) test_red(); + if (test__start_subtest("burst")) + test_burst(); } --=20 2.35.3 From nobody Tue May 14 09:19:52 2024 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on2087.outbound.protection.outlook.com [40.107.8.87]) (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 5C981813 for ; Tue, 6 Jun 2023 06:47:07 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hSco+CjYExo7kelug06e9lpTbeVFVU/dvr9ItxcKJVMnc8jX8PY8IsaRmQihmaIiiduIftyU2jDKpvYzRNVqU98N/g0nTsmEXsyoBbBLEWoR/gub/SRIe67UrmX0kkYn9K6nkSnVGB9uZwXIZBIP9HFRj2xK8iry8NPHajrERW05/kyDhUMi74QLFfhUOV3zieS6CSs/FVZxvuLVhcEpFzK31RHWaqNrimtqChEwCBhyAkKs6wgufD0dE00sApl/609JoFVn6nSNwqcrDXDf1YtDypdg+RmSSAKBUKlDSpMpGF0cq6hu6JHpHpHRBLxG74W5mLGn9lVlKKWw2eycfA== 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=qzNUlyrpNg5EmO3QVHLRPy+rNpsmlueWlUnxkhTlKnw=; b=E+VTnYvNFSUf42B3jVucheVUog3eIMXK++Uy1ytL/EOUxaQeJtdV/vNWiMMRJ/3c4iKz+igAhEiAgMDO/E9Qc2G19AqnADChJXysTw4VLHFrV68CVcVBssfUif5mdn0EINLxE5E7AA0z768AYsAP+IHUCGABU/6U4CG/Ea7jziubLDm5ndS6DqJDcMKMjf7rbpBDao1e+NefA4k0JVhBw0pUAhg3gD9JDm2VXGr67c/rVoFOSCpbaVH1Hv1xaY01stg8m1LpNFPO42FWnGkWD97wLHzMSqRgaOYo3mbB7Y/lS1fW008oe12CM7NOtEqOyIkLEipDdO9AHRsFJI0KjA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qzNUlyrpNg5EmO3QVHLRPy+rNpsmlueWlUnxkhTlKnw=; b=M+O9WZbKuWmtCY1RavJ6qshDy7g8S1iA2a/dtJWlo/q8G5j5j9yg9Hol4OSTajX1HDLIip+HDqPZQXt5tNQ2JuYkBLBBLnZZbeQ8a3Bra1Jli1zMmNWmpbAWzIf0tNWwUqLjTSNVQf9MQUS7ykmXTicbzATZdDNcU2BLn3USx3LG4upPa8HW+lI3M43yJy7iLOPPIY2gDzf7Pf33H+3IcdtKMsBwlxnelNnd3fzUL8dFkMlMwTExlnovOEl6IrEjGeNGjRt0wuD3n5bVu+seyFEFteEjeQK5zTIT+K0mUYQ/MbMoI6GSfc0h8GKZyHlh/Ix1lYgx+MxlLSrHguJRFA== 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 VI1PR04MB7197.eurprd04.prod.outlook.com (2603:10a6:800:129::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.32; Tue, 6 Jun 2023 06:47:02 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35%6]) with mapi id 15.20.6455.030; Tue, 6 Jun 2023 06:47:02 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 16/18] bpf: Add subflow flags write access Date: Tue, 6 Jun 2023 14:45:15 +0800 Message-Id: <1b9b2849a2413ecfc39cc450b04643c220d63757.1686033694.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR04CA0166.apcprd04.prod.outlook.com (2603:1096:4::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-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|VI1PR04MB7197:EE_ X-MS-Office365-Filtering-Correlation-Id: f36616ba-8ad0-4e62-ca71-08db6659d58b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: aQeEJPw4fjoMk1ocKrZ2uhQd277sl+u/GPSwjWoCob5pMrBG3TjUkF0njz0z7+YmLMueqCGb0zFkE2yJvw0SXJqM3+f2XObmN2T24ykfElr4pIp/Qj+0mVYidbVw9sNiJTZoYOag0L+TVMe09vboh869xVwTXin1ePX7Y4aD9m2H7rrSEvIlAG3iv8nTHmG1VrPk0qFHDcM4zFC57NFSlieU2SeEqbUWunoO7MJO9q1uS42nVyRYC+xAyZBGnl9/iYK8F+uUtoxSF/7mIY61/iH6tPoVTO9cEeyayhOYOjnhY7dneNhPR9lLPTRbN7r/cMfnZaMuhiVqa7mMPAbCuYeDV9LLIusqt2D1aUHrcduqKUKeG3eVwIAmMWbp3IwMyoHuaJ3kLXV+nK2Ks3OAKbp5CF5b6xgly2yfsDNbV8TSF2sw9sd2fIBwEceWGs6a+w7key4mD41Teqv/n2c4y5wsYb2nWENO88ZFMsVp0huDEaBLb0QoM8WV9VH/P6fo1hTZ8ePiPtQ7lojbS0Ps9CHbJGTtY7KnkpZwBhGP4rxP8gYaxe+dLtMMU/ND7/8i X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39850400004)(366004)(136003)(396003)(376002)(346002)(451199021)(478600001)(8936002)(5660300002)(4326008)(8676002)(44832011)(36756003)(2906002)(4744005)(86362001)(66476007)(66556008)(316002)(66946007)(6916009)(6506007)(38100700002)(41300700001)(2616005)(107886003)(6512007)(186003)(26005)(83380400001)(6486002)(6666004);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?94D7Rvqa8KnRjzAXGxjEWAs5WSeO8/nEZPVtEilJiN4OxeCbud3BCUSsk4JE?= =?us-ascii?Q?Jorwe60UAloRiO1jEv8bLR65wdYwM8HmVRZJpjTctLKMmqB2w8r95ksLyoE1?= =?us-ascii?Q?R7zihmTlPtlV+AxlAPBPUP4U5WFI55ZwXdiBmr9yvIMkklK0BvuGSmyhPgbs?= =?us-ascii?Q?R6TE8t8y4UZ6NHkgP4nAeV0Wf5zJ5ZzzYm6Cf3OM33ekU2iv3xjCQPcldQ/L?= =?us-ascii?Q?JQtV0UtwU5k9J7EdbJh6eW74gVq8BRB75St6hmxYQZII6DyzG+Dp6fMxZ24E?= =?us-ascii?Q?JScpedktF76woN0qEC1IaSdMEk0X3slrRj65ycnpMRyhQVOg/8n0tHkeawzI?= =?us-ascii?Q?Py8+TXTUIIio+ag67f4S+H9nfWqr2TRSx6zbI/nYfNopVoLwfAFX81S6ARVQ?= =?us-ascii?Q?spPFYufSk4wg+A9rBxDDXXerr26zA1HNPMiS97nfpl7wgibjM9vGU1fcozoU?= =?us-ascii?Q?SDSXw4bROBWCt03UqEAcCEEgboA8zZQjbud7u1y5npA2M8sCiTVjM77gnpNO?= =?us-ascii?Q?PChc1IogiBMv0xK4jwDzSqRNDFW7DgjB6s0CJY3uNFlqm/kngg3Cx06B0Ktf?= =?us-ascii?Q?bYZ0DCUArxzuDtaJTkkLYjKmfSuyZW1KMkLktQUm+44Y3iwr/qUHC2icD5CP?= =?us-ascii?Q?1YenBSXD2zzZk4v0cfzIDLjM80ZdDkxalxAP2w/2nTxhSoe+9XG2z1sn6Hs2?= =?us-ascii?Q?BACJX1o0cA2Pj8UEP2jk0O4DcCyfIiP0HGmQkh2ubxPiURWtjlzoqsnkEp1l?= =?us-ascii?Q?JdP5CiR+cXKtxALzyt0knc+LrF5lNecoYF5jGTtToB1zy5nfwWcwTGnQuSTB?= =?us-ascii?Q?rWkh1Av0wBk/1PPZ7fNBLIbgeGi9TvwS800yQ0mZZ5es/5XJN0UXR97QQ2e1?= =?us-ascii?Q?neqdnTH6C4Bs9YPQtmx8mpOeezch8lErZk8FD3+BPyhDZ6NU6kgWtTbevoFM?= =?us-ascii?Q?eeKLamsVnlAdihl1RcrvnHmcNCXhMaeSEluuHWjlZnWhJsIFknZwft1IVVTL?= =?us-ascii?Q?uDMWFu6z2geaFBN9sBYnIYofOmshKiRWW+ylSbiJXZKdEe+DyrxwLxUrrUX5?= =?us-ascii?Q?2X5RL03kIWe9mauDNLw+AJRXYuFqFVp1qJJDQ2KFHT3naGaYNoHNndtbrva6?= =?us-ascii?Q?XEybwedRyT/iesrH5blT6cOkZdyr2RihvmpqiDd6pBmAn6KBWH8+a2aqiegY?= =?us-ascii?Q?6I2MjYxGSAd43MWEQySCUjUVOwGU/SynL6p7bW2T9hLGfPWmT/gqrfdO2pbP?= =?us-ascii?Q?jFhbVjFIJFkgIUj0oj/dVSRqLtM5y0q6DanCgXWaYo9X4BswDAOGJ1C9oxLH?= =?us-ascii?Q?yWejWoT4uTvckHI4/Dt5i0PjxxAfFDenZAtNw6u8UIAmrBAxFOAUZD1+big1?= =?us-ascii?Q?Vhc5itICZLhUKTEV0i8wLSREYgTMWMc5BuRV6AF82OHvZUt+b0o0nBtXXDyA?= =?us-ascii?Q?4SoZlKci25VFMpsf+egoOKmuSef2XGxeP7Qy3grbwc2jghiGMTp8ne7M42kk?= =?us-ascii?Q?H4e5zaLnWJrIl/IIfQFjiK2+17z1rnP51NnclaNp3naHgp/IxdHqyVYeVuTW?= =?us-ascii?Q?kNzPYlQEKLOeaXDy5rdVn+VNPBV74/4g2QHTNrrl?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: f36616ba-8ad0-4e62-ca71-08db6659d58b X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jun 2023 06:47:02.5329 (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: 8m3xBtdiD0NGIxTKrbRlnKZgDnLZvBD6bFbXQLJ0eGQzT67bgq33nlIpLIjXfBi32JKGeTHYH7T5VUQROlImJg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7197 Content-Type: text/plain; charset="utf-8" Add write accesses for all flags of struct mptcp_subflow_context between map_csum_len and data_avail in .btf_struct_access. The stale flag will be used in the bpf_stale selftests. Signed-off-by: Geliang Tang --- net/mptcp/bpf.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/net/mptcp/bpf.c b/net/mptcp/bpf.c index ddcd803227d0..19872e587a53 100644 --- a/net/mptcp/bpf.c +++ b/net/mptcp/bpf.c @@ -51,6 +51,9 @@ static int bpf_mptcp_sched_btf_struct_access(struct bpf_v= erifier_log *log, case offsetof(struct mptcp_subflow_context, scheduled): end =3D offsetofend(struct mptcp_subflow_context, scheduled); break; + case offsetofend(struct mptcp_subflow_context, map_csum_len): + end =3D offsetof(struct mptcp_subflow_context, data_avail); + break; case offsetof(struct mptcp_subflow_context, avg_pacing_rate): end =3D offsetofend(struct mptcp_subflow_context, avg_pacing_rate); break; --=20 2.35.3 From nobody Tue May 14 09:19:52 2024 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on2049.outbound.protection.outlook.com [40.107.8.49]) (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 6F5D9190 for ; Tue, 6 Jun 2023 06:47:13 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jn1jnMZwE8akwdwmMRUQp66CqZzLc8QyCrM8OG7IEm+ZPDW4fpbM/3zz0ZNbDai/lFdj4DRqncxc2NPSMsZj86bqb4Rdh6/L8+RDk1uiGt1LRSXN52uq8OELdKgUSwn866n0NBwWi1y0kx+Ybd18D5QvesgLMLqwKaF2tnbHfE7TgrzJrj/eMAe/5Zbn+53B6Kn5HZJxkX/ErYFzVYl6PdvfPuxXyMPVfuj34NGTu3mpnrOiEb/X3ndaF+Tz3pEkUSxMS8n2fLrHTZPcfGFkfVf9TBXOv25KMtRNHrhaa+4jjjHGQQeDkRbhIxZYj3t8ZsmivrkJFFYW0AexjsEhVA== 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=p2Ro9XRc4QMXxeS35DjM+OwsCfuaHyAD1TxDPyPZFtI=; b=K1+e0u4FgNbKuZDWCWekGvsaQYRntCbzAHuyODvgc4dLHbbemG5KqCGj77hwAYkJYsQS6Maft/92IL755vsyIrWdPXLeMLx9/JEa66Vyr9F9EZ7zSSCusJy7XwXMzfsYBKhoSigB07CelYgHzEO5znpYbKmh7ly5wQAVa1TlQPadTdwt8OeM7dUWmZffX0ETUC7TpvCNV6YBOLwjQw1aR1s0ytLGARjAEtIB5rx0Im4wuLZgvqAisjASR67DFVhAizno38224wBscXRXlJEiQWaiZA1DQjehNyT5+aytHKIu0lp80jQ0eGvcgWTx4gqGrAD6aKlTFEgLYE1ZJGSsHQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=p2Ro9XRc4QMXxeS35DjM+OwsCfuaHyAD1TxDPyPZFtI=; b=eZkUsq5Mq2Tqtcn1FCpP4WICGbeAV7cF7sL9qWF+ilfS0eq4nZIiMiUOq+1UfJb79oIpb1QxGSsZLgnBcLQKNZoms/3wn2tXl8VmBKdm42BpJLTD9gAN5ZGddQkmhz58/IZN+hn95wIbSsrVJDH0ETVY+uJmYwLtIrbyiQqLLuAbVhLC5Rd0CEfGhP5MC5AfqzuUKX8lVTg7OrJ4Gnz5HHe4keeHZvoaFc5IG81lvG2Fg0xq1TZHrtbkO03AB+jFiZP2IJmazZY/7euYoI2caBdVFJQClSD0PLwXSfNAXv2N2wxZwSUEyY4KSdJWeV2g5cqw/L0/N7Sf2v3J1q+FMw== 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 VI1PR04MB7197.eurprd04.prod.outlook.com (2603:10a6:800:129::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.32; Tue, 6 Jun 2023 06:47:10 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35%6]) with mapi id 15.20.6455.030; Tue, 6 Jun 2023 06:47:10 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 17/18] selftests/bpf: Add bpf_stale scheduler Date: Tue, 6 Jun 2023 14:45:16 +0800 Message-Id: <7fc9f1871a0df06843c9657dafa15fe8076c6993.1686033694.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR04CA0160.apcprd04.prod.outlook.com (2603:1096:4::22) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|VI1PR04MB7197:EE_ X-MS-Office365-Filtering-Correlation-Id: a57475ef-968f-44a7-6798-08db6659da31 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: bFu9QU78K5Rsj184CLUDIuoUUCqIoA44RAknNdPPMPDP3kL9SCpurZxj8yL/a3RbPyPObs8FPgT1+JRTgmA5N6sJdCl178f1NTS+DOqyI23x4n8YTgnDGzzKVmz5/+XKY6n+1zrdRF7EeYXrb0CUma4woxD31UKNwoIdYaj4/uZM6/+QE2XPLOaGQ1WDhAzN/Nn5paKB9Zf9zbpCKUIrbKgFuyHd8NbRx83WVcHJbcLa03EsvEVjka1rWFn3u2RHc+SPf2ReRklFlrQNdl4tXEpjq30CTUjhhj+4erLVVL7mWm1e5toznj+eDGDox0e0LovZQBFas2f29gGe835KJNfdFsXAonKojRatux/8BL3Ie+A+EbNzgimwRJOLFsTA086wt0hgKgu+2JLElnzPm1VoxYRv/yzA/ghtmUqzpm7DqR7iWpxWu9hnMGItV6dqVUZBSTvojUW14R7CjwCaJTsZ0c53RU+BrZ2LEcgjQb+MehFCN0xbz4UUH7+aQviAlMOTYIw64seosNr7b2mKMu2fb4B+ZwhwilS9A07EvD5HpCjMRpmVsriCuXdvgDvi X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39850400004)(366004)(136003)(396003)(376002)(346002)(451199021)(478600001)(8936002)(5660300002)(4326008)(8676002)(44832011)(36756003)(2906002)(86362001)(66476007)(66556008)(316002)(66946007)(6916009)(6506007)(38100700002)(41300700001)(2616005)(107886003)(6512007)(186003)(26005)(83380400001)(6486002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?t6vxKJpWYZl2DPmZk6DBaxnUDrBy8fq1MyqhYGGF+nPcHOABF8E1QYkKsOY8?= =?us-ascii?Q?Z8fg0FJA5w+NHYl2V3V75dvsa3KXFaQRRAARee6PwCKBfe2RukKtJ1I2Rczd?= =?us-ascii?Q?Ps10KJaLaJSXw8yEptSksXZnByurGRSnb6j+zD75N/z8WH8Mj8CwiTCum6gZ?= =?us-ascii?Q?3Rmv/5IJveFSjMW39AVBAiA9nYXMSayyzqN12jKFi8CEuVtTt8wclBEz/76D?= =?us-ascii?Q?hvjPG5jvbIfSdVZTFR+GgNUbXC4jTPrqY7zgxFXEdjJpMSLOTGIE49QWcVnr?= =?us-ascii?Q?v141OTiK2vmUYjAL3JXQa8t9KDk9il0LfagrhgH2Q8eZl9phT42XCMepSlui?= =?us-ascii?Q?f2t56s1UGP+bJh4zClutZ9kpUhwbKdp9y/FeFpcGh7/2jeszCJc/QRWFfffJ?= =?us-ascii?Q?JHODWpnHgKXRqsfvnB7AFeSt1lnHXgwNjJg2S2AnHpW73XDMqTcSjdkEkGwG?= =?us-ascii?Q?cSNzWaJJovOaCq/O6HFEt4WLd/k621+QwNgpAAIezz29CarhyPGSPgMX+fuA?= =?us-ascii?Q?+kA+w5UtelBNP1GN5nC7KMoBCmx2xciWDfavhkMd6nUJ5svMEnRh34c9Pl1U?= =?us-ascii?Q?H9SQ+NRrI2LsfMrTZb54JNYPD4ou3NCTk1Alru4Y5b5TfWaedI+g4iJG+vNN?= =?us-ascii?Q?56SYh4tQRuIDFjPpoTwWJcL98E7MPZxRqPAQ+pIsK8m3LYdKoEQ/h1HBekH9?= =?us-ascii?Q?B3w5ygas24KJ3CI3AEQQgmB5IIv089UwrmX3qTHhkdJtSY2cF2+z/HCSGxfS?= =?us-ascii?Q?YmZmktX0im17aEWQY2N+ECTAYUWi3SpffaF4RuHXzus36fprWfW+lPW/Pndb?= =?us-ascii?Q?ibIAMhXzdrJzVpx3hvkTbaNLlDf5rJk5bio2FPzxQ7jlQqk2vpVLGDZMDIv0?= =?us-ascii?Q?BSbWARVRFMfX4IZtCYn+2hJj4yR41HHiyD6xJ5MiO6bqzlKT9H9RISi8651l?= =?us-ascii?Q?f8TitaFL4nVnYf/aBpz/HSQr8y5aLK4dqnmAqwHXLO7OhatoAPYFwzaow5rq?= =?us-ascii?Q?wE/axEiUdXKab1MaI9yVd4aA/tMfwx+NOLavU2EaKOYeFEbe69SDBcmMqTCe?= =?us-ascii?Q?6NDg5GO5a5Q8q/6TJEZGvCwqPZdy7XpdY98h8PtDCTVtRcRktfKECPtYfj58?= =?us-ascii?Q?AXzySFYlC0ueMMJcYdx5GJ6Ee8PIY0ApvD2O9CHkSpA94C+EUkYPh+3sGV+Z?= =?us-ascii?Q?8+IQZ2GlCaH/jJ/lRhAQuCKSo3AkQ+yvW2PkIhHUghqjtsNxfR0q0hPplNpa?= =?us-ascii?Q?UG6RJFBsR82z4yiNDkgEUm02j6i3FkP+K7Gg72XLo2wwDt0sc2buB/jqAyeG?= =?us-ascii?Q?YYrgwsriRtcfRxJpuByuRZfPriNYldGoNLh2SD7n99X/qRjiqbt9YUyCo91s?= =?us-ascii?Q?9G8sxEh0+CFJdZiX8UD0sAyJQjCIirKHx2AW8jjVwuA6EfAdhtDW6nkBi/Mn?= =?us-ascii?Q?ZIXxh1H565P2Kv8hfkjJTr9rWxZ+mC/fNmRIZBFEM1a4LOPpH0eneQcjUsKC?= =?us-ascii?Q?5JuEHUmXrp0Y1yz8WL/LjRIT+xnKyzfL7aFmG1wky/Cyvfo1GOGuaFQ1e+5F?= =?us-ascii?Q?jROktd7RIWxHNOLVGErfY7Q0jhv5ZbMJmZVPuMvV?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: a57475ef-968f-44a7-6798-08db6659da31 X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jun 2023 06:47:10.4679 (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: jCkoC8hegCB50Gk/pL5MOQbKO8VXBdQaWLWZSoBKZPb73w0p/hL1Az9V/DRHDYAqtH+imTvbD4CV/9ijhIppLQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7197 Content-Type: text/plain; charset="utf-8" This patch implements the setting of stale flag in BPF MPTCP scheduler, named bpf_stale. The stale flag will be set in bpf_stale_data_init() and will be checked in bpf_stale_get_subflow(). Signed-off-by: Geliang Tang --- tools/testing/selftests/bpf/bpf_tcp_helpers.h | 3 +- .../selftests/bpf/progs/mptcp_bpf_stale.c | 59 +++++++++++++++++++ 2 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 tools/testing/selftests/bpf/progs/mptcp_bpf_stale.c diff --git a/tools/testing/selftests/bpf/bpf_tcp_helpers.h b/tools/testing/= selftests/bpf/bpf_tcp_helpers.h index 2c35cbe05d33..9fef10fa8aa6 100644 --- a/tools/testing/selftests/bpf/bpf_tcp_helpers.h +++ b/tools/testing/selftests/bpf/bpf_tcp_helpers.h @@ -236,7 +236,8 @@ extern void tcp_cong_avoid_ai(struct tcp_sock *tp, __u3= 2 w, __u32 acked) __ksym; =20 struct mptcp_subflow_context { unsigned long avg_pacing_rate; - __u32 backup : 1; + __u32 backup : 1, + stale : 1; __u8 stale_count; struct sock *tcp_sock; /* tcp sk backpointer */ } __attribute__((preserve_access_index)); diff --git a/tools/testing/selftests/bpf/progs/mptcp_bpf_stale.c b/tools/te= sting/selftests/bpf/progs/mptcp_bpf_stale.c new file mode 100644 index 000000000000..125e84a1e49e --- /dev/null +++ b/tools/testing/selftests/bpf/progs/mptcp_bpf_stale.c @@ -0,0 +1,59 @@ +// SPDX-License-Identifier: GPL-2.0 +/* Copyright (c) 2023, SUSE. */ + +#include +#include "bpf_tcp_helpers.h" + +char _license[] SEC("license") =3D "GPL"; + +static void mptcp_subflow_set_stale(struct mptcp_subflow_context *subflow, + int stale) +{ + subflow->stale =3D stale; +} + +SEC("struct_ops/mptcp_sched_stale_init") +void BPF_PROG(mptcp_sched_stale_init, const struct mptcp_sock *msk) +{ +} + +SEC("struct_ops/mptcp_sched_stale_release") +void BPF_PROG(mptcp_sched_stale_release, const struct mptcp_sock *msk) +{ +} + +void BPF_STRUCT_OPS(bpf_stale_data_init, const struct mptcp_sock *msk, + struct mptcp_sched_data *data) +{ + mptcp_sched_data_set_contexts(msk, data); + if (data->contexts[1]) + mptcp_subflow_set_stale(data->contexts[1], 1); +} + +int BPF_STRUCT_OPS(bpf_stale_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], stale)) + break; + + nr =3D i; + } + + mptcp_subflow_set_scheduled(data->contexts[nr], true); + return 0; +} + +SEC(".struct_ops") +struct mptcp_sched_ops stale =3D { + .init =3D (void *)mptcp_sched_stale_init, + .release =3D (void *)mptcp_sched_stale_release, + .data_init =3D (void *)bpf_stale_data_init, + .get_subflow =3D (void *)bpf_stale_get_subflow, + .name =3D "bpf_stale", +}; --=20 2.35.3 From nobody Tue May 14 09:19:52 2024 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on2082.outbound.protection.outlook.com [40.107.8.82]) (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 5C87A190 for ; Tue, 6 Jun 2023 06:47:20 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HZJk9QONT8ltY11sT9Qww7zWrSmDgwNsdQG0i2gHVOkIY0mpao9Uyyh27dRnMF6/ceWK38wKfbq3T9ODPyDUOtV56lvPs71Zzy0yT8ZWvrDda14dHlSM50PKDIstT7uxH6XqSaw783bZoU7+lQTutrJqDEL+OfaWi+q20+9fVwEYarT8IPIkkq3for0fAncluL+gIXy4Y2nvwH8v2ziBkifLsIyjVw7CHan6uS0oCkXfRcePk455FjuOhAo3fNSQ++7plamVS9TkV6KUODOrpJufx0PlHBpCEJ0RduiZ5534FEkKmAfrQvkyRnTxpJ9vjDi3CMdCRGWXSUdW5OYkLw== 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=Kqsey2npaM+24iTflag+tuO/M9PWWZRGrRxDjUOV/YY=; b=Q/jrLV980d3YT1/0reQi3WBT1d6tNWI31R6QBh8eexbBgVHhyTusdHx43fZtzuQjPme4mMufPMr+QY6bVKB8j6YLFBlkvPmHhDG5twPT3rbiik2JJRrXBIWw9GCTKlbFJTH3UdcGcZnHMsrkHnGJOMPosP1jt7kAlqlQPOqUVwKKK1a7txF5POyo7zCNfoCJO3wE+HEq7c9QEpfkNAX1BVUbTKK3KDMgFBWfh1pmXwW64EvJPuNr0XbiW4VtXqZhfdiVyB2KpRc2dAIVAr+yBMZJEuPLjzNo4JJH+N7TbQCcma+MyJ3Ost7tVlSNqV8yswzZLWIDHd7/vUqBcEkdkA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Kqsey2npaM+24iTflag+tuO/M9PWWZRGrRxDjUOV/YY=; b=Se8nuqlzfjg7Ma5wmm724rJu9ORMhBjWGAMbWyK/8wUTbonjBl5gf4v0bYwTf9Fy+/FNEFguUFwZ744SgOVefHZ9skeaAPmuPp46f78AVLhoU8j/eIDFOBw0aA3n5b4wR7vDnzbJkWMwcJOFnveWtkxUWHf32wtGRYFPZhvwgzkYWQHGa7LBkmIb7l5pRloghhysEFi5dXYAHHYi8p8cuLB33HejpJD/Z+RiPjaL+j8INQnHGIHsO523++j5XT7TYDfM25HR8WXJZcYQwqlHgjCgdhPEd0R5vrcpve/mM2hxEFMRtMY1xJ3EYRDfkLBlp/ho2moTA4dcVlPtJzsFDQ== 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 VI1PR04MB7197.eurprd04.prod.outlook.com (2603:10a6:800:129::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.32; Tue, 6 Jun 2023 06:47:17 +0000 Received: from HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35]) by HE1PR0402MB3497.eurprd04.prod.outlook.com ([fe80::423a:a30f:5342:9d35%6]) with mapi id 15.20.6455.030; Tue, 6 Jun 2023 06:47:17 +0000 From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 18/18] selftests/bpf: Add bpf_stale test Date: Tue, 6 Jun 2023 14:45:17 +0800 Message-Id: <1f005b865aafc8870ca7f8a7c4cc99b7964562e3.1686033694.git.geliang.tang@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0045.apcprd02.prod.outlook.com (2603:1096:4:1f6::16) To HE1PR0402MB3497.eurprd04.prod.outlook.com (2603:10a6:7:83::14) Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1PR0402MB3497:EE_|VI1PR04MB7197:EE_ X-MS-Office365-Filtering-Correlation-Id: 07cb7ee0-2d8d-4866-7fa4-08db6659de8f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: WhpxFu3QY9iqaWNd4We1s2fttAC3FitJjlCxawqUqI/sI4cEPX7zI6aYDxhv4DkRUAz4cLVIM2VvDGIK6rKUa0E8gMrndedpncrB7brwyPtEkqNW6vxY96UwC+qmfVw5lPfeaD6S1kiA706hHWa9yvYWf/PEi74iXQ99VUSUmUK3lsjGc0T+m1PqL8109IGGenqJfvI2W+729NWu6JKNqw5mVcfMDphtbQcAjw4gP5FsYuAawovsWhsxn6vyK8Q3jAwO4t/GMOOtk/8tX8a2+agfY/fMAmmdjCBx/7ITTqu3jRcvsFhXFWAFQvJr+LpVFLkCaV9JVvTDnfwbNddhSmGL7Drv8V+hmnVpQIRke4nOh543c1x8jnFbUrPOISzoQUCxCQB96k7ibfgSSaqb4D979ACshxZ8lMOXIXLPFrRx8l7bn6j9bGam7wRbV0jbzewe7i8PsP3ZmqnlYEk3mG5soYqXwCiCkXiBKAdQ+FG8C4LzFVuGmhVYgLQZFOtOqdbvuOeuOdTyqUjnqJ5xh4DbAmPNsDwu2aK3Nx+aSDYbV437vGFxjHeklKdT/8ec X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0402MB3497.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39850400004)(366004)(136003)(396003)(376002)(346002)(451199021)(478600001)(8936002)(5660300002)(4326008)(8676002)(44832011)(36756003)(2906002)(86362001)(66476007)(66556008)(316002)(66946007)(6916009)(6506007)(38100700002)(41300700001)(2616005)(107886003)(6512007)(186003)(26005)(83380400001)(6486002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?WO3dYiDqpPZ5SRhrIWcNOMih88o0kaIUQHQOKFqZnuv8XPoZxFeS7gSbSMOi?= =?us-ascii?Q?4esCRsUz8fafTjgO7wpTpcDfXQecxocG80+K3tuIcXxFErlzk1iifkqhT5Wb?= =?us-ascii?Q?XEddi5WhWZTKyNMinIHuoNVhcbevxDvMn7ifIJLFPaufKVvASC1hFQaCMJ0O?= =?us-ascii?Q?vngLSezKpZdDJsLylvBuBbUXNYM/wgUwsVz4iZlTs0RFmGgfSEvpfmnfLqHe?= =?us-ascii?Q?kr8dyYvMdjT+XzZ7c9EsAVH+WBdtwVilns9MgMvmzwP65PGHcvclqVRfr1Ee?= =?us-ascii?Q?8JX0B5cGSjKk/fHxdPVrcJPrmU64TRb23YO7SuNsgTTw7L27Xmb4KDWclnvZ?= =?us-ascii?Q?5Ok2mrGPuQQq7dM+MHifCK2g+95WEhpEAMjPYKlaDNJ/DZWcEd7L3xLBwyxt?= =?us-ascii?Q?DCR5PfvtUqMzm0q4wUjfr/AwrGuOVqTEHnyd7Ux/qmSc35Fcjsl3giwEKOW/?= =?us-ascii?Q?m7rhLOnExSHKb3LXzV0rBSxyPPA9GBeGN3DWBY1JTYQc49NrN+FOcxuWEOlo?= =?us-ascii?Q?dWdGOytCL028xatNfXs1JgRKfkLM1S/iuSqyqU9NloJvm4sSwGsnP0JU9KDT?= =?us-ascii?Q?UZ39dOcd73tAdIwi3pMV2QDokrEx+hRKeqXjm8g02GdyHcZFrGyqR7V5JZHu?= =?us-ascii?Q?/t1+AsmQ9Vp29Gj9zhoOKyv9eCqdSNDvukXIXVnd9ISHM3XKeAtEV5LUmmI3?= =?us-ascii?Q?qFqPd92h6KHCm5D1I7XIyVGjTgKv1FDUrgaJ5tlTati7mBwdk5YL+gEmrihM?= =?us-ascii?Q?vvty5AV/bHME9SYCeApvpfdKwZ3a7QjrOdfdy4wz7cCe0mC84oBueL/79Ldn?= =?us-ascii?Q?x2kVYjDppGBcVLMAQo6leEnCxDOY+ovNgLGUOmMvNYFbSVzBvP2f1MutDanM?= =?us-ascii?Q?0AKg6cY6moC+DAxO08wYMIxq4Bww0mkXZWw5NsGyEaB4X7K4sAAdkXyWdLV6?= =?us-ascii?Q?tQY5y2wFkOaKxwOf4jnOmLfRZ2/BpddoSXs14NuP32GRwRwYThlYqyVS6T42?= =?us-ascii?Q?E2u67T2aVFVjPNHnRdI74RDlnuKwDEON8P44ySf2J5ap8RFDhy7Ilw4q4ek1?= =?us-ascii?Q?RcDMR7wdV6oZ2Biye1nBbV5w1NfvVyd8kVHnECOMr8dOZq/tVk6gcS0RyifW?= =?us-ascii?Q?Q+mRoqClEwmoEU83FnSehiTiEuYreAxAXxQdVsb4hahFDDou82F3NTAGRfFv?= =?us-ascii?Q?WbSJUnPvaOVAxcNBwcvKHq+aQZ6p25CGuk9u2EN4wnUrDRtBQcVswCOGz0hH?= =?us-ascii?Q?ieuMmgzfLo5S4ylaEwLqyWXMKI9OcVYmURTS1MSUMj1yeDgtcUtbb2kRMYMo?= =?us-ascii?Q?IphQGxgJaQ4MrUvByl1q3t2R/ceDqNW02kBzC8Evi9mi7ThDjUUwBH9rOU2Y?= =?us-ascii?Q?HquJIWfZE+NvYwlqdEVkltVm+2sxe4M27Bvfrq8czkmfs6DbvhV1x4fYVeSG?= =?us-ascii?Q?RqvY94v3C4rLgjwS3mVahHUyiU97djnDn5bG4BEJ3bSFUFw8/+asih0UnNsv?= =?us-ascii?Q?2aMQNSkTxNfWZ8IndZEF64ZCr8dyF7SlXXlk+jBsvFj+OCmJlwrnblR4cWwM?= =?us-ascii?Q?BTcgV9cvogdsLh0MJiHlDx3SJIurZsSLcIm/tE6w?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 07cb7ee0-2d8d-4866-7fa4-08db6659de8f X-MS-Exchange-CrossTenant-AuthSource: HE1PR0402MB3497.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jun 2023 06:47:17.6319 (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: Y+EPNUBUyV7/7owKhbAaVwWAMVaQFjtBpFqhvBpnlw6sHiyLgmdMs/CwFYfZS09T5HCU7gU9hC/EwPTq74TrlQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7197 Content-Type: text/plain; charset="utf-8" This patch adds the bpf_stale scheduler test: test_stale(). Use sysctl to set net.mptcp.scheduler to use this sched. Add two veth net devices to simulate the multiple addresses case. Use 'ip mptcp endpoint' command to add the new endpoint ADDR_2 to PM netlink. Send data and check bytes_sent of 'ss' output after it to make sure the data has been only sent on ADDR1 since ADDR2 is set as stale. Signed-off-by: Geliang Tang --- .../testing/selftests/bpf/prog_tests/mptcp.c | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing= /selftests/bpf/prog_tests/mptcp.c index b9f6dcf995fd..94b7624bdfef 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -11,6 +11,7 @@ #include "mptcp_bpf_rr.skel.h" #include "mptcp_bpf_red.skel.h" #include "mptcp_bpf_burst.skel.h" +#include "mptcp_bpf_stale.skel.h" =20 char NS_TEST[32]; =20 @@ -491,6 +492,41 @@ static void test_burst(void) mptcp_bpf_burst__destroy(burst_skel); } =20 +static void test_stale(void) +{ + struct mptcp_bpf_stale *stale_skel; + int server_fd, client_fd; + struct nstoken *nstoken; + struct bpf_link *link; + + stale_skel =3D mptcp_bpf_stale__open_and_load(); + if (!ASSERT_OK_PTR(stale_skel, "bpf_stale__open_and_load")) + return; + + link =3D bpf_map__attach_struct_ops(stale_skel->maps.stale); + if (!ASSERT_OK_PTR(link, "bpf_map__attach_struct_ops")) { + mptcp_bpf_stale__destroy(stale_skel); + return; + } + + nstoken =3D sched_init("subflow", "bpf_stale"); + if (!ASSERT_OK_PTR(nstoken, "sched_init:bpf_stale")) + goto fail; + server_fd =3D start_mptcp_server(AF_INET, ADDR_1, 0, 0); + client_fd =3D connect_to_fd(server_fd, 0); + + send_data(server_fd, client_fd); + ASSERT_OK(has_bytes_sent(ADDR_1), "has_bytes_sent addr_1"); + ASSERT_GT(has_bytes_sent(ADDR_2), 0, "has_bytes_sent addr_2"); + + close(client_fd); + close(server_fd); +fail: + cleanup_netns(nstoken); + bpf_link__destroy(link); + mptcp_bpf_stale__destroy(stale_skel); +} + void test_mptcp(void) { if (test__start_subtest("base")) @@ -505,4 +541,6 @@ void test_mptcp(void) test_red(); if (test__start_subtest("burst")) test_burst(); + if (test__start_subtest("stale")) + test_stale(); } --=20 2.35.3