-----Original Message----- From: Paolo Abeni pabeni@redhat.com Sent: Tuesday, April 22, 2025 11:54 AM To: Chia-Yu Chang (Nokia) chia-yu.chang@nokia-bell-labs.com; xandfury@gmail.com; netdev@vger.kernel.org; dave.taht@gmail.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) koen.de_schepper@nokia-bell-labs.com; g.white 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 vidhi_goel@apple.com Subject: Re: [PATCH v11 net-next 1/5] Documentation: netlink: specs: tc: Add DualPI2 specification
CAUTION: This is an external email. Please be very careful when clicking links or opening attachments. See the URL nok.it/ext for additional information.
On 4/15/25 2:43 PM, chia-yu.chang@nokia-bell-labs.com wrote:
From: Chia-Yu Chang chia-yu.chang@nokia-bell-labs.com
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 chia-yu.chang@nokia-bell-labs.com
Documentation/netlink/specs/tc.yaml | 144 ++++++++++++++++++++++++++++ 1 file changed, 144 insertions(+)
diff --git a/Documentation/netlink/specs/tc.yaml b/Documentation/netlink/specs/tc.yaml index aacccea5dfe4..0fb971935285 100644 --- a/Documentation/netlink/specs/tc.yaml +++ b/Documentation/netlink/specs/tc.yaml @@ -816,6 +816,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
Here and in other numeric fields you should probably want to use 'uint' type, that will allow either 32 or 64 bits integers depending on the actual value and will make possible overflows harder.
Hi Paolo,
OK, I will replace all u32 and u8 into uint, and s32 into int.
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
@@ -2299,6 +2351,92 @@ attribute-sets: - name: quantum type: u32
- name: tc-dualpi2-attrs
- attributes:
-
name: limit
type: u32
doc: Limit of total number of packets in queue
-
name: memlimit
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 in microseconds or in packet (see step_packets)
-
name: step_packets
type: flags
doc: L4S Step marking threshold unit
entries:
- microseconds
- packets
-
name: min_qlen_step
type: u32
doc: Pacekts 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)
Typo above, should likely be 'Packets'
/P
Thanks, this will be fixed in the next version.
BRs, Chia-Yu