-----Original Message----- From: Jakub Kicinski kuba@kernel.org Sent: Saturday, June 28, 2025 1:20 AM To: Chia-Yu Chang (Nokia) chia-yu.chang@nokia-bell-labs.com Cc: alok.a.tiwari@oracle.com; pctammela@mojatatu.com; horms@kernel.org; donald.hunter@gmail.com; xandfury@gmail.com; netdev@vger.kernel.org; dave.taht@gmail.com; pabeni@redhat.com; jhs@mojatatu.com; 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) 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 Subject: Re: [PATCH v20 net-next 6/6] 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 Sat, 21 Jun 2025 21:33:31 +0200 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).
diff --git a/Documentation/netlink/specs/tc.yaml b/Documentation/netlink/specs/tc.yaml index 4cc1f6a45001..8a183799dceb 100644 --- a/Documentation/netlink/specs/tc.yaml +++ b/Documentation/netlink/specs/tc.yaml @@ -56,6 +56,41 @@ definitions:
[...]
-
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)
Why mux two distinct values in one attr and carry another attr for the unit?
IMO it'd be more idiomatic for Netlink to define two attributes, one for threshold in packets and one in time.
And enforce that only one can be sent in a message (probably using an explicit check in the code).
Conversely only report one in GET / DUMP.
Hi,
First, thanks for other comments, and I will do corresponding changes in the next version.
As for this comment, there are already two dualpi2 attribute of net-next and iproute2-next:
- "step_thresh" and "step_in_packets" in sch_dualpi2.c of net-next
- "TCA_DUALPI2_STEP_THRESH" and "TCA_DUALPI2_STEP_PACKETS" in q_dualpi2.c of iproute2-next
And the above two attributes in tc.yaml can therefore be mapped one-to-one.
I was thinking could we keep the same strucutre? As we already have several rounds of review for both net-next and iproute2-next.
Best regards, Chia-Yu