> -----Original Message-----
> From: Paolo Abeni <pab...@redhat.com> 
> Sent: Tuesday, April 22, 2025 11:54 AM
> To: Chia-Yu Chang (Nokia) <chia-yu.ch...@nokia-bell-labs.com>; 
> xandf...@gmail.com; net...@vger.kernel.org; dave.t...@gmail.com; 
> j...@mojatatu.com; k...@kernel.org; step...@networkplumber.org; 
> xiyou.wangc...@gmail.com; j...@resnulli.us; da...@davemloft.net; 
> eduma...@google.com; ho...@kernel.org; andrew+net...@lunn.ch; 
> donald.hun...@gmail.com; a...@fiberby.net; liuhang...@gmail.com; 
> sh...@kernel.org; linux-kselftest@vger.kernel.org; i...@kernel.org; 
> ncardw...@google.com; Koen De Schepper (Nokia) 
> <koen.de_schep...@nokia-bell-labs.com>; g.white <g.wh...@cablelabs.com>; 
> ingemar.s.johans...@ericsson.com; mirja.kuehlew...@ericsson.com; 
> chesh...@apple.com; rs.i...@gmx.at; jason_living...@comcast.com; vidhi_goel 
> <vidhi_g...@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.ch...@nokia-bell-labs.com wrote:
> > From: Chia-Yu Chang <chia-yu.ch...@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.ch...@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

Reply via email to