[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID:
<PAXPR07MB7984496F9F0C2136B220D47CA3BB2@PAXPR07MB7984.eurprd07.prod.outlook.com>
Date: Tue, 22 Apr 2025 15:30:41 +0000
From: "Chia-Yu Chang (Nokia)" <chia-yu.chang@...ia-bell-labs.com>
To: Paolo Abeni <pabeni@...hat.com>, "xandfury@...il.com"
<xandfury@...il.com>, "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"dave.taht@...il.com" <dave.taht@...il.com>, "jhs@...atatu.com"
<jhs@...atatu.com>, "kuba@...nel.org" <kuba@...nel.org>,
"stephen@...workplumber.org" <stephen@...workplumber.org>,
"xiyou.wangcong@...il.com" <xiyou.wangcong@...il.com>, "jiri@...nulli.us"
<jiri@...nulli.us>, "davem@...emloft.net" <davem@...emloft.net>,
"edumazet@...gle.com" <edumazet@...gle.com>, "horms@...nel.org"
<horms@...nel.org>, "andrew+netdev@...n.ch" <andrew+netdev@...n.ch>,
"donald.hunter@...il.com" <donald.hunter@...il.com>, "ast@...erby.net"
<ast@...erby.net>, "liuhangbin@...il.com" <liuhangbin@...il.com>,
"shuah@...nel.org" <shuah@...nel.org>, "linux-kselftest@...r.kernel.org"
<linux-kselftest@...r.kernel.org>, "ij@...nel.org" <ij@...nel.org>,
"ncardwell@...gle.com" <ncardwell@...gle.com>, "Koen De Schepper (Nokia)"
<koen.de_schepper@...ia-bell-labs.com>, g.white <g.white@...lelabs.com>,
"ingemar.s.johansson@...csson.com" <ingemar.s.johansson@...csson.com>,
"mirja.kuehlewind@...csson.com" <mirja.kuehlewind@...csson.com>,
"cheshire@...le.com" <cheshire@...le.com>, "rs.ietf@....at" <rs.ietf@....at>,
"Jason_Livingood@...cast.com" <Jason_Livingood@...cast.com>, vidhi_goel
<vidhi_goel@...le.com>
Subject: RE: [PATCH v11 net-next 1/5] Documentation: netlink: specs: tc: Add
DualPI2 specification
> -----Original Message-----
> From: Paolo Abeni <pabeni@...hat.com>
> Sent: Tuesday, April 22, 2025 11:54 AM
> To: Chia-Yu Chang (Nokia) <chia-yu.chang@...ia-bell-labs.com>; xandfury@...il.com; netdev@...r.kernel.org; dave.taht@...il.com; jhs@...atatu.com; kuba@...nel.org; stephen@...workplumber.org; xiyou.wangcong@...il.com; jiri@...nulli.us; davem@...emloft.net; edumazet@...gle.com; horms@...nel.org; andrew+netdev@...n.ch; donald.hunter@...il.com; ast@...erby.net; liuhangbin@...il.com; shuah@...nel.org; linux-kselftest@...r.kernel.org; ij@...nel.org; ncardwell@...gle.com; Koen De Schepper (Nokia) <koen.de_schepper@...ia-bell-labs.com>; g.white <g.white@...lelabs.com>; ingemar.s.johansson@...csson.com; mirja.kuehlewind@...csson.com; cheshire@...le.com; rs.ietf@....at; Jason_Livingood@...cast.com; vidhi_goel <vidhi_goel@...le.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@...ia-bell-labs.com wrote:
> > From: Chia-Yu Chang <chia-yu.chang@...ia-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@...ia-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
Powered by blists - more mailing lists