From patchwork Fri Jun 13 15:37:25 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Chia-Yu Chang \(Nokia\)" X-Patchwork-Id: 896552 Received: from PA4PR04CU001.outbound.protection.outlook.com (mail-francecentralazon11013041.outbound.protection.outlook.com [40.107.162.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C9FA81F2BAD; Fri, 13 Jun 2025 15:37:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.162.41 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749829068; cv=fail; b=bzSJj/EszYfiOIPa+YVMLp9vj4sBw9JIQO5X/KzpZVZFfv/3WlVYxGbN7xkRNkvEKtR3vHxd79cEv3Vi8upBCzlJjTpgHEKYaOI9v9SyTsINYK5IRIL9TVCvOapvI4FhQjIu90A0zMYYhd9XvWuf+We/nRSyz9S6lWmoMqb9Amk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749829068; c=relaxed/simple; bh=4H81meyVt3Xmv3NaxCEeI75O8yArn2dmD82PNCFIaM4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version:Content-Type; b=F0ulPpKgQpZUdTw4S+utkIPcMmW7F8gNg6AtTIPfm9ITvuVnDYF1MzptkKdZQTHSfxR/c2Zc8edxbjX9EPP8aRaJLZVY5DF1C7SvEu92p+NjFH4fe8FG2u8VmhJMuKGpxk8xDiB3yKSnOL/9nhrvyjTqU0oqaPFlJoe4MOm6NyQ= 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=mPQv0cWe; arc=fail smtp.client-ip=40.107.162.41 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="mPQv0cWe" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=IlS1iSEfpqak6MzyT5pN3BzQyHX3vNcNZ+MEre+SHRVsIM3SNsyrDgsi67HJIrrcpdui2iZ0PngdgfnFifTvaGlYuZgzeNhav8kdJ9kSsxK33B/y7Vu0RaRVkH38KgLZGgMXU2/jmXhnFkZ3wKTVSnqO1nrqiH5G0ZYRhBRI9qSQpHKWbYtXCxupr128XzGuSn/lfaakG9z8aKCN3rOXrQEHvAic7hVtKxMBNYKVjVJX2EZ/jEmA60K82EvePPgJDwDGJ2GyGXFaIE4dZv4ttrE8M5lxidA0IKGptT40BDbNMeyFHg+sNJE/yoLWm1ECk2ArY9P/DGTdO3DDu3DCWA== 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=4KqoVfaptwEVZXn5TFG17OjF/dPhcQDuKCGj8euCEbg=; b=Z01Ps3I4pNM6vAaORc3BbUl1hX2fXNbVa0onIrV3D0EX51ZDhc4GLt04Xelh+ZK8BOFjdGcqdMQ3HbKZq0xod8CXClppkvrzkhYGH2wLiiPada1MfZlJIm6RVFj7N+NYIP2+yGKXO/3niJ5todawFlfHhrfajwhkictbrfn06QdhGtQO7s6xf+EPbrvubuGjbSgYbCxwpk1xzKbO5VyJdfWcwUxh8gdkp4Bn397QXSsAMtIgUvERWGBpp6f/iT0lD0dlx/OTANNW0t5bhYqeSSKlFgl+4iS2V3+/WsT4vJJNE1XHIE5T7Rwc3BCGn16+0TM3vULucArITLXTG3rezA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 131.228.2.240) smtp.rcpttodomain=apple.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=4KqoVfaptwEVZXn5TFG17OjF/dPhcQDuKCGj8euCEbg=; b=mPQv0cWexe7A8BSH44kGdHDB1nDHTmt/jA5zzfpnTpx1sNMcpPfj6s4i+0o01j2X74AyqxTUDwMtzoL9YbpIY+XAMRTtbXi2kCGDSqPfemUxhhiqGzN1Y1I4Zk9H1MEBKbeQQCFWFKxeWu0Y4kxiKINhPjeDNaaGxVNrzPKkdQH0EDjEbl0FM+vJSC/8WFcViFOKJiYw1MZqzdAI7dAAoVGYyR+WVEyRATeMzPHWYdTwMTytHcAlaXBqZtRUc+xhWiXJfIj9kv/ZBB3QW1i8JTfptlT6qFIpqfMTyi4ElqJmaU/2cWs/WGcMlx/ENBBa0mmEpwWZYwElVG1e9jTQrA== Received: from DUZPR01CA0089.eurprd01.prod.exchangelabs.com (2603:10a6:10:46a::12) by AM8PR07MB8171.eurprd07.prod.outlook.com (2603:10a6:20b:322::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8835.25; Fri, 13 Jun 2025 15:37:41 +0000 Received: from DB1PEPF00050A00.eurprd03.prod.outlook.com (2603:10a6:10:46a:cafe::96) by DUZPR01CA0089.outlook.office365.com (2603:10a6:10:46a::12) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8835.25 via Frontend Transport; Fri, 13 Jun 2025 15:37:41 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 131.228.2.240) 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.2.240 as permitted sender) receiver=protection.outlook.com; client-ip=131.228.2.240; helo=fihe3nok0735.emea.nsn-net.net; pr=C Received: from fihe3nok0735.emea.nsn-net.net (131.228.2.240) by DB1PEPF00050A00.mail.protection.outlook.com (10.167.242.42) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8835.15 via Frontend Transport; Fri, 13 Jun 2025 15:37:41 +0000 Received: from sarah.nbl.nsn-rdnet.net (sarah.nbl.nsn-rdnet.net [10.0.73.150]) by fihe3nok0735.emea.nsn-net.net (Postfix) with ESMTP id BB1882004A; Fri, 13 Jun 2025 18:37:39 +0300 (EEST) From: chia-yu.chang@nokia-bell-labs.com To: horms@kernel.org, donald.hunter@gmail.com, xandfury@gmail.com, 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, andrew+netdev@lunn.ch, 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 v18 net-next 5/5] Documentation: netlink: specs: tc: Add DualPI2 specification Date: Fri, 13 Jun 2025 17:37:25 +0200 Message-Id: <20250613153725.7983-6-chia-yu.chang@nokia-bell-labs.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250613153725.7983-1-chia-yu.chang@nokia-bell-labs.com> References: <20250613153725.7983-1-chia-yu.chang@nokia-bell-labs.com> Precedence: bulk X-Mailing-List: linux-kselftest@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB1PEPF00050A00:EE_|AM8PR07MB8171:EE_ X-MS-Office365-Filtering-Correlation-Id: 524097ab-f725-4b9e-cca3-08ddaa903bd8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700013|7416014|376014|82310400026|1800799024|921020|13003099007; X-Microsoft-Antispam-Message-Info: WgT4iP+BjKULVmXsr+bhk6uJ+vd9qf17mhcyZyH2vypeKv2efYpD/n4ws8ANTLQm2Ho1xOC9MauvWEZpxHwRCZ8QgzAxk9WrbMQqiAIDlLVXgyTrUnz6zDRWlIWFPBVEX8IR+fLy1XfUfEnVL6pLqJxuD/aOMr1mHvAAm5MxnQ6j+EFYmik0DvwwdqANn9qmXSasviah6jlDkcWSq4P1orSP8bD8/L1t6qJpOWrLHX12UzaysmAudbuXJ695D9jYhO0jNaLBc9gQ0M29bX+UR4hOUVpHRtKrXwLmTMzXMnu93TsUmGBBnk0Ywpteb61fPQ06ln/hOAs2of8t3HJl1gWgLr4kNvtr0xk1XCjS/I8ytZAE23kympREmREs4uCUcYvYrI0omv1lYPW/mGfMOBgOWkgT1O1B9yDwxhAWlNqjyubxKRmJSoXsE0xXBv0sKw1OXvXketN0r2VKl+xpUVJotoNdcSZLSZ3EgvxVh0uFpDzQnBQKlWTMA/lK9AmSFPfhfDGR53s9ZZRjgmwV5fOVSmbY3YYAXWyUuVdP5Zgl+xdwJ5WrhQke6ezq7b70EUNoR7KTk/aIS8cpohP5iWGaTN5S6iiwComlHxnrrLlX2lbBeYD+whrrlb2GThAju1iZ0qhhWO5b3pZHUsn/tgT2S4i90HDpPRnyF/1L0z918DkmYcib1pqwYkjwjkRduP8omGbMtddS65ylDbwQhCYZkza6oaLBu9Oiusx+RUicjt3P1HKBZ7MKYF+ANeV8bxJxhc56MTXal/UqJT2cXQjihqJbgUUqfgC2VNi5IZzm3ex6JySZRWmE4XDThM4Mv90Jq29KHMhODMAoS7pPyaXKpB2b0uiOPtt136LNhFAqXlhFQr211VUgBezni8+MFUfucsIe/S4WS2OCNvrxOM0SkW6EobN2AH1EsbYyUAw8ZuBbmkZ1Iy+at2XBrDBnMDsj9uQybDurskxYnruqKtI7FH4bB3SOgRRCXTeBO/bD9DK3Z+o/Nce4DtJIOmP6OURfVTIW1cH00VF1wsx8T/hdDqHpEzVvLEQIoJgQYjyF7xVyZnhqHZYo/H0WB+jgj9aioxG3MVUxZ2YM0lbNV7Bv/b0LCTWjRkd60US5WIVpELvhMHDtdjXzxUi9LmQZ+pZbe3kGvntXYC4Ez2avrcjvH01G8YtR2qoqJx2X5RFMJPN9DRaBh1b+HpNYgyNvKp/6PiH7/N+8gFgY5C5QWxuNYpLTyBHZzl4XsdVhPXWTsLTDGfR6CrybwS46ha7lyNva3vbmjVXIc1jIDndAyNPbjs6w2uAIHo5DHNbqkcmntU7ntNLKd6jbpabpqz+35u4hqKNRbE4Bxt+VyIygrzAtBcdfyIsUHXNxzGCAkGlvr8eKpfzNwV6LdAZLNZOtNI4N05p2GLgWBsWW/Rq62xuUKYe+XexfXF37o+GyNIOFwDYIY325JiiJ2WXJS1mziThuCmP57CYSalAR6JQgxdYAFxYRZJ56f0lVd9ulINrNgBzLxHfwzo2+csL1MGqzGgnRC8TgfPaLxLAe61ZEBw== X-Forefront-Antispam-Report: CIP:131.228.2.240; CTRY:FI; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:fihe3nok0735.emea.nsn-net.net; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(36860700013)(7416014)(376014)(82310400026)(1800799024)(921020)(13003099007); DIR:OUT; SFP:1101; X-OriginatorOrg: nokia-bell-labs.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jun 2025 15:37:41.1509 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 524097ab-f725-4b9e-cca3-08ddaa903bd8 X-MS-Exchange-CrossTenant-Id: 5d471751-9675-428d-917b-70f44f9630b0 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5d471751-9675-428d-917b-70f44f9630b0; Ip=[131.228.2.240]; Helo=[fihe3nok0735.emea.nsn-net.net] X-MS-Exchange-CrossTenant-AuthSource: DB1PEPF00050A00.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR07MB8171 From: Chia-Yu Chang Introduce the specification of tc qdisc DualPI2 stats and attributes, which is the reference implementation of IETF RFC9332 DualQ Coupled AQM (https://datatracker.ietf.org/doc/html/rfc9332) providing two different queues: low latency queue (L-queue) and classic queue (C-queue). Signed-off-by: Chia-Yu Chang --- v18: - Fix name and name-prefix of DualPI2 enum and attribute v17: - Rebase tc.yaml on commit ba5a199b2401d and commit f9aec8025ab5f --- Documentation/netlink/specs/tc.yaml | 161 ++++++++++++++++++++++++++++ 1 file changed, 161 insertions(+) diff --git a/Documentation/netlink/specs/tc.yaml b/Documentation/netlink/specs/tc.yaml index 4cc1f6a45001..e0d349106026 100644 --- a/Documentation/netlink/specs/tc.yaml +++ b/Documentation/netlink/specs/tc.yaml @@ -56,6 +56,41 @@ definitions: - tundf - tunoam - tuncrit + - + name: dualpi2-drop-overload + name-prefix: tca-dualpi2-drop-overload- + type: enum + entries: + - overflow + - drop + - + name: dualpi2-drop-early + name-prefix: tca-dualpi2-drop-early- + type: enum + entries: + - drop-dequeue + - drop-enqueue + - + name: dualpi2-ecn-mask + name-prefix: tca-dualpi2-ecn-mask- + type: enum + entries: + - + name: l4s-ect + value: 1 + - + name: cla-ect + value: 2 + - + name: any-ect + value: 3 + - + name: dualpi2-split-gso + name-prefix: tca-dualpi2-split-gso- + type: enum + entries: + - no-split-gso + - split-gso - name: tc-stats type: struct @@ -825,6 +860,58 @@ definitions: - name: drop-overmemory type: u32 + - + name: tc-dualpi2-xstats + type: struct + members: + - + name: prob + type: u32 + doc: Current probability + - + name: delay-c + type: u32 + doc: Current C-queue delay in microseconds + - + name: delay-l + type: u32 + doc: Current L-queue delay in microseconds + - + name: pkts-in-c + type: u32 + doc: Number of packets enqueued in the C-queue + - + name: pkts-in-l + type: u32 + doc: Number of packets enqueued in the L-queue + - + name: maxq + type: u32 + doc: Maximum number of packets seen by the DualPI2 + - + name: ecn-mark + type: u32 + doc: All packets marked with ecn + - + name: step-mark + type: u32 + doc: Only packets marked with ecn due to L-queue step AQM + - + name: credit + type: s32 + doc: Current credit value for WRR + - + name: memory-used + type: u32 + doc: Memory used in bytes by the DualPI2 + - + name: max-memory-used + type: u32 + doc: Maximum memory used in bytes by the DualPI2 + - + name: memory-limit + type: u32 + doc: Memory limit in bytes - name: tc-fq-pie-xstats type: struct @@ -2284,6 +2371,74 @@ attribute-sets: - name: quantum type: u32 + - + name: tc-dualpi2-attrs + name-prefix: tca-dualpi2- + attributes: + - + name: limit + type: u32 + doc: Limit of total number of packets in queue + - + name: memory-limit + type: u32 + doc: Memory limit of total number of packets in queue + - + name: target + type: u32 + doc: Classic target delay in microseconds + - + name: tupdate + type: u32 + doc: Drop probability update interval time in microseconds + - + name: alpha + type: u32 + doc: Integral gain factor in Hz for PI controller + - + name: beta + type: u32 + doc: Proportional gain factor in Hz for PI controller + - + name: step-thresh + type: u32 + doc: L4S step marking threshold (see also step-packets) + - + name: step-packets + type: flag + doc: L4S Step marking threshold unit in packets (otherwise is in microseconds) + - + name: min-qlen-step + type: u32 + doc: Packets enqueued to the L-queue can apply the step threshold when the queue length of L-queue is larger than this value. (0 is recommended) + - + name: coupling + type: u8 + doc: Probability coupling factor between Classic and L4S (2 is recommended) + - + name: drop-overload + type: u8 + doc: Control the overload strategy (drop to preserve latency or let the queue overflow) + enum: dualpi2-drop-overload + - + name: drop-early + type: u8 + doc: Decide where the Classic packets are PI-based dropped or marked + enum: dualpi2-drop-early + - + name: c-protection + type: u8 + doc: Classic WRR weight in percentage (from 0 to 100) + - + name: ecn-mask + type: u8 + doc: Configure the L-queue ECN classifier + enum: dualpi2-ecn-mask + - + name: split-gso + type: u8 + doc: Split aggregated skb or not + enum: dualpi2-split-gso - name: ematch-attrs name-prefix: tca-ematch- @@ -3708,6 +3863,9 @@ sub-messages: - value: drr attribute-set: drr-attrs + - + value: dualpi2 + attribute-set: tc-dualpi2-attrs - value: etf attribute-set: etf-attrs @@ -3875,6 +4033,9 @@ sub-messages: - value: codel fixed-header: tc-codel-xstats + - + value: dualpi2 + fixed-header: tc-dualpi2-xstats - value: fq fixed-header: tc-fq-qd-stats