mirror of
https://github.com/torvalds/linux.git
synced 2026-05-24 23:22:31 +02:00
Documentation: netlink: specs: tc: Add DualPI2 specification
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> Link: https://patch.msgid.link/20250722095915.24485-7-chia-yu.chang@nokia-bell-labs.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
032f0e9e15
commit
68db0ff2f7
|
|
@ -56,6 +56,23 @@ definitions:
|
|||
- tundf
|
||||
- tunoam
|
||||
- tuncrit
|
||||
-
|
||||
name: dualpi2-drop-overload
|
||||
type: enum
|
||||
entries: [overflow, drop]
|
||||
-
|
||||
name: dualpi2-drop-early
|
||||
type: enum
|
||||
entries: [drop-dequeue, drop-enqueue]
|
||||
-
|
||||
name: dualpi2-ecn-mask
|
||||
type: enum
|
||||
value-start: 1
|
||||
entries: [l4s-ect, cla-ect, any-ect]
|
||||
-
|
||||
name: dualpi2-split-gso
|
||||
type: enum
|
||||
entries: [no-split-gso, split-gso]
|
||||
-
|
||||
name: tc-stats
|
||||
type: struct
|
||||
|
|
@ -825,6 +842,58 @@ definitions:
|
|||
-
|
||||
name: drop-overmemory
|
||||
type: u32
|
||||
-
|
||||
name: tc-dualpi2-xstats
|
||||
type: struct
|
||||
members:
|
||||
-
|
||||
name: prob
|
||||
type: u32
|
||||
doc: Current base PI 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
|
||||
|
|
@ -848,7 +917,7 @@ definitions:
|
|||
-
|
||||
name: ecn-mark
|
||||
type: u32
|
||||
doc: Packets marked with ecn
|
||||
doc: Packets marked with ECN
|
||||
-
|
||||
name: new-flow-count
|
||||
type: u32
|
||||
|
|
@ -991,7 +1060,7 @@ definitions:
|
|||
-
|
||||
name: ecn-mark
|
||||
type: u32
|
||||
doc: Packets marked with ecn
|
||||
doc: Packets marked with ECN
|
||||
-
|
||||
name: tc-red-xstats
|
||||
type: struct
|
||||
|
|
@ -2284,6 +2353,78 @@ attribute-sets:
|
|||
-
|
||||
name: quantum
|
||||
type: u32
|
||||
-
|
||||
name: 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-pkts
|
||||
type: u32
|
||||
doc: L4S step marking threshold in packets
|
||||
-
|
||||
name: step-thresh-us
|
||||
type: u32
|
||||
doc: L4S Step marking threshold 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 +3849,9 @@ sub-messages:
|
|||
-
|
||||
value: drr
|
||||
attribute-set: drr-attrs
|
||||
-
|
||||
value: dualpi2
|
||||
attribute-set: dualpi2-attrs
|
||||
-
|
||||
value: etf
|
||||
attribute-set: etf-attrs
|
||||
|
|
@ -3875,6 +4019,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
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user