From patchwork Tue Mar 18 00:27:07 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: "Chia-Yu Chang (Nokia)" X-Patchwork-Id: 14020101 X-Patchwork-Delegate: kuba@kernel.org Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazon11011012.outbound.protection.outlook.com [52.101.70.12]) (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 C35BC1552FD; Tue, 18 Mar 2025 00:28:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.70.12 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742257687; cv=fail; b=NR2fIwyRvR2wiOA/419hi6WK9YMLwSgIMBdSc8aZV2cWhArREibIHLudvAWAR1LhYLytSQ0jY7794m1iQ+0KGF9HCD1vCgiapweYrOQci2G66/Q3oRAIUr+RQR/Dstmw8Oay9vYZ0ojSdiI1ZozM53kRF9mMRKM76Y2jvnwaS9M= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742257687; c=relaxed/simple; bh=P+y5pe+LjBEM3YJfO5X11HdJpVJ/6TKxbk0/u/q0G70=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version:Content-Type; b=sC2nHFEeBYCCpOmkajAggM3Fi5VpNXw9/oWcnbhIh0fJJUIHPYAOs83LYHtAjE+jkmohkFO15bgraxW8uiW9sNDdplumVjQYTc8H5yb0jFumebrqgVs+MQbt9sYyc5tn0r/AtZeoUu3xcD5HY3I1BFsw8LfG6MkK0iBqwmKFYzk= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nokia-bell-labs.com; spf=fail smtp.mailfrom=nokia-bell-labs.com; dkim=pass (2048-bit key) header.d=nokia-bell-labs.com header.i=@nokia-bell-labs.com header.b=ABQhpUeY; arc=fail smtp.client-ip=52.101.70.12 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nokia-bell-labs.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nokia-bell-labs.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nokia-bell-labs.com header.i=@nokia-bell-labs.com header.b="ABQhpUeY" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=JUi5TAz7QFWwKV+r6nKFGV1ZSSqsz0raQ+8jzvihzfPsQ1bPin92SM+9ZENfX4Iixbpf5wLNy+BpjC7Usn+v59OTR1S7rr46Y7gQ1LTQ/h1hsYqZo8YOnjWqDnxTUR/ex2pND/Ibb9NIXLpw78E6YcwHtN8RtLF97NkCm5DJehfh9fyo7ts/DxWPuqKUBgd+MwZn2iEIziidc4qASDPN2Un8A6UgROP+B0ToJkupDk22HH77lIfLW7O+nm26RZeJM6xd427LdbDz0lnMJp5GfyQKXsT0z7P6OUonhthXgFfkp7t5ubJ3/tR40aEIKYAIGL9bzCIwiMtIqxNckfBG7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=RJ5VMo6AccBQ2E1Aco5pSiTxmnzfuaVGs7CuYQiAUMI=; b=DJOCVhSd6VHzO1cyqq/XXOPTZOkXaPIMcjhxiufXPW8VfbekA7Y3j+OOZoMUMtXUCGCIb49h0bsJ0HdRIfSR6pOidgi9JE3hrY5lGXBiWpX6PSKuEfspKMJSz9ibG2IEv9AIPHIj1ATl868zKbURr44cC3WxYfRZDDBDH79svHwcGsQZ8Dqwy9Jlltgx8s31uaG1dDLqU3hVvFLO0aiqGEPJR664wyh1Uj1/6c65BuJriqWkQAbS146e8T6WctyugpmHGOg6JRx77rmXx5xb6Od3lJO+cCPQrz/Yu0ZPUwN7qy3bI3WQBFO9zzsDRvhnUKx18UbBZGSvIiEXY3pAmQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 131.228.6.100) smtp.rcpttodomain=nokia-bell-labs.com smtp.mailfrom=nokia-bell-labs.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nokia-bell-labs.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nokia-bell-labs.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RJ5VMo6AccBQ2E1Aco5pSiTxmnzfuaVGs7CuYQiAUMI=; b=ABQhpUeYVODVo5dVRjGSyYQHXYq2PeoHh0ZKYTwTnAjrvasFg7ZJXNUBiHmU3KudX6b3t47ChOhv/ID88OTtMP9W7W8Yw89qSoQ1+pwgc8Nwi31V1a3uIDdxA1TXyCFjQ5fmBq4CV97LiAuokjo2VTuqTXg5GXx1Lb4KvYxtys9ohNJkIO4/LS3I7gMHbnyzz5j42C5IsPnICFtQSCr9lPwcZYRFhzbsSeCmmkXQ98VaF93kD4MjW7T+DdI57jtitlTRMKBylZ5EK7WN0Mc4217zC156Ow2Kg25frL9DaSWlqwqslWaKorS6ElqeVlAtHpZzf+xbMfFHRVBtx6vHYg== Received: from PAZP264CA0136.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:1f8::6) by GVXPR07MB9793.eurprd07.prod.outlook.com (2603:10a6:150:113::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Tue, 18 Mar 2025 00:28:01 +0000 Received: from AMS0EPF00000196.eurprd05.prod.outlook.com (2603:10a6:102:1f8:cafe::92) by PAZP264CA0136.outlook.office365.com (2603:10a6:102:1f8::6) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.33 via Frontend Transport; Tue, 18 Mar 2025 00:28:01 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 131.228.6.100) smtp.mailfrom=nokia-bell-labs.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nokia-bell-labs.com; Received-SPF: Pass (protection.outlook.com: domain of nokia-bell-labs.com designates 131.228.6.100 as permitted sender) receiver=protection.outlook.com; client-ip=131.228.6.100; helo=fr711usmtp2.zeu.alcatel-lucent.com; pr=C Received: from fr711usmtp2.zeu.alcatel-lucent.com (131.228.6.100) by AMS0EPF00000196.mail.protection.outlook.com (10.167.16.217) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.20 via Frontend Transport; Tue, 18 Mar 2025 00:28:01 +0000 Received: from sarah.nbl.nsn-rdnet.net (sarah.nbl.nsn-rdnet.net [10.0.73.150]) by fr711usmtp2.zeu.alcatel-lucent.com (GMO) with ESMTP id 52I0RNBs024935; Tue, 18 Mar 2025 00:28:08 GMT From: chia-yu.chang@nokia-bell-labs.com To: netdev@vger.kernel.org, dave.taht@gmail.com, pabeni@redhat.com, jhs@mojatatu.com, kuba@kernel.org, stephen@networkplumber.org, xiyou.wangcong@gmail.com, jiri@resnulli.us, davem@davemloft.net, edumazet@google.com, horms@kernel.org, andrew+netdev@lunn.ch, donald.hunter@gmail.com, ast@fiberby.net, liuhangbin@gmail.com, shuah@kernel.org, linux-kselftest@vger.kernel.org, ij@kernel.org, ncardwell@google.com, koen.de_schepper@nokia-bell-labs.com, g.white@cablelabs.com, ingemar.s.johansson@ericsson.com, mirja.kuehlewind@ericsson.com, cheshire@apple.com, rs.ietf@gmx.at, Jason_Livingood@comcast.com, vidhi_goel@apple.com Cc: Chia-Yu Chang Subject: [PATCH v2 net-next 12/15] tcp: accecn: AccECN ACE field multi-wrap heuristic Date: Tue, 18 Mar 2025 01:27:07 +0100 Message-Id: <20250318002710.29483-13-chia-yu.chang@nokia-bell-labs.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250318002710.29483-1-chia-yu.chang@nokia-bell-labs.com> References: <20250318002710.29483-1-chia-yu.chang@nokia-bell-labs.com> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF00000196:EE_|GVXPR07MB9793:EE_ X-MS-Office365-Filtering-Correlation-Id: 91e90bc2-eafd-414d-50bb-08dd65b3bd9b X-LD-Processed: 5d471751-9675-428d-917b-70f44f9630b0,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|36860700013|1800799024|376014|7416014|921020; X-Microsoft-Antispam-Message-Info: =?utf-8?q?K+c3M1/WX90tBtg1MdG+/jZ5aMQnxWV?= =?utf-8?q?2iecy53nC3KeUcNUAHeSHmoFxVpp/WVo5GZncJWP4l9nWK/RuIKzxU00saLMt4gnx?= =?utf-8?q?GinxuvpSTyZfcs8RSuOF1R90wyweU4V/VP1nx2NNzQUekUNpYJQqMwn8kiHJlpdza?= =?utf-8?q?0Cj1Eq9nHJUclxvE37lRriNIn3WT70K01kwfaFH+cm0VwZ6B4lqbpkPlbA0nJ6/hr?= =?utf-8?q?MhHps3ryeCEOd6TTpEnn9YMD/HWphW9GqJKRnHc32Ga34kOP7okrQOW8JAIWqdgdS?= =?utf-8?q?BZF1DcmupIHoFo+jhZNb5uUKMvjkalc0EeABMNPjmdmoMXawyR8cV7ZCnzhB4pR/m?= =?utf-8?q?sSO8hTh+CHZLyxIgZUUmN83YiyW6PtftnYloO8PSwIZJ0eBleIaVpNqlO/KvZJeRJ?= =?utf-8?q?/zy80eIfxu2aSAx2uJUoCrHh7BLftt0aCtF/v/KahS2kXBi4aMemPCOnF2hrZ+jg2?= =?utf-8?q?g5+uPxYbN6c61Aa/UhWqIeQnXJ81kHSarYLU/hLSuULxVCI4cy132d5bgsAo3brCM?= =?utf-8?q?C6E9gYpK1QWmqQghqxj0bHDzOHZ2mgZxVEcwsBAb7cCNqiE806KKV9bjhbZhMukA1?= =?utf-8?q?HjwboLMK6OkUkVEOozQQuuQ3dZ+c2u0eMfmdIOtXXLcUg1mmOGJVnAiTBD8i38aZJ?= =?utf-8?q?vEj3bYqD8d8BxcEXyoC0EkRrx7gYBxr/cqviXnnQOADDUGWabEtxzLIK2IrWdDU2U?= =?utf-8?q?1cFTy01OqjdgDj+FIMRPCBp1c5WxlEofEN6WBvGHBXFoiVED+kFIvq0xLpsNeM6LI?= =?utf-8?q?F6IgA+Xzimb4eMNceLEeE22WdR5dz24ymqTqV+KfA6cvlh/k177DAVUvQofu1BKdB?= =?utf-8?q?p1nyUODgAA0duIyX8WGe7CGj9+kktd6D1wktTNFq5dt9XDPLOK8Xj75EkNLYfaYCp?= =?utf-8?q?XMe2oOZwHODJVzXtVhcH/y7uwAM9DMFTf1+cAW8tsxptgYWW+t8ACfI69uRPMzsIE?= =?utf-8?q?DqQ/lSKJcjDWlg1ihttqKUUNPLdUav3tn7WtZ90iJl9cvlDWt6p9qypw4t2af7Xec?= =?utf-8?q?fK5MX3IrdgGeCzsTGhoGnv6wpY5zVdCtovLyyOqo9QyxlyB3iryxXhQULAhbwln86?= =?utf-8?q?h7RBfZtqu7WgGIMyEiLGUIq2Me5Kq/9z3g6m0xXEEcO28OUhH3qWfrxhZVxyJiqw+?= =?utf-8?q?2nXmiRoWDD56CZsJm9BN5JQcQGWEJKUQ3KNPU9+Xl4Lc7j2mq4+aLNIU/LOboP9lE?= =?utf-8?q?3+sVRwkysjiu/sjDUHIReRIZ3OhTU/KhLVZOiau/+kTc1FS/AI5WFqQRRIoUolBNa?= =?utf-8?q?1DAMt5IDOMX3yY8+wIlGSVC30Fq+VvVal75GPk+RFXF4CvzltQE4OrKKuIQMzq2HC?= =?utf-8?q?tz4aC+oidQ98+zBFyzWP9B3wbbpMa2zvmRN6YTCwVpAXg3FnskzFwJki2SSnvN6+z?= =?utf-8?q?YP17rVwoQ9qn0dWkaU+ut9JEFUXR+fnJXPWbpM4Q0OUVZhAnT/uwteFjtAqEelCgJ?= =?utf-8?q?GoCPuHztxI?= X-Forefront-Antispam-Report: CIP:131.228.6.100;CTRY:FI;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:fr711usmtp2.zeu.alcatel-lucent.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(1800799024)(376014)(7416014)(921020);DIR:OUT;SFP:1101; X-OriginatorOrg: nokia-bell-labs.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Mar 2025 00:28:01.0321 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 91e90bc2-eafd-414d-50bb-08dd65b3bd9b X-MS-Exchange-CrossTenant-Id: 5d471751-9675-428d-917b-70f44f9630b0 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5d471751-9675-428d-917b-70f44f9630b0;Ip=[131.228.6.100];Helo=[fr711usmtp2.zeu.alcatel-lucent.com] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF00000196.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR07MB9793 X-Patchwork-Delegate: kuba@kernel.org From: Ilpo Järvinen Armed with ceb delta from option, delivered bytes, and delivered packets it is possible to estimate how many times ACE field wrapped. This calculation is necessary only if more than one wrap is possible. Without SACK, delivered bytes and packets are not always trustworthy in which case TCP falls back to the simpler no-or-all wraps ceb algorithm. Signed-off-by: Ilpo Järvinen Signed-off-by: Chia-Yu Chang --- net/ipv4/tcp_input.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index f62bbf6f4eb3..5c71135b43f7 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@ -734,6 +734,24 @@ static u32 __tcp_accecn_process(struct sock *sk, const struct sk_buff *skb, d_ceb = tp->delivered_ecn_bytes[INET_ECN_CE - 1] - old_ceb; if (!d_ceb) return delta; + + if ((delivered_pkts >= (TCP_ACCECN_CEP_ACE_MASK + 1) * 2) && + (tcp_is_sack(tp) || + ((1 << inet_csk(sk)->icsk_ca_state) & + (TCPF_CA_Open | TCPF_CA_CWR)))) { + u32 est_d_cep; + + if (delivered_bytes <= d_ceb) + return safe_delta; + + est_d_cep = DIV_ROUND_UP_ULL((u64)d_ceb * + delivered_pkts, + delivered_bytes); + return min(safe_delta, + delta + + (est_d_cep & ~TCP_ACCECN_CEP_ACE_MASK)); + } + if (d_ceb > delta * tp->mss_cache) return safe_delta; if (d_ceb <