linux/Documentation/netlink/specs/tc.yaml
Chia-Yu Chang 68db0ff2f7 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>
2025-07-23 17:52:09 -07:00

4210 lines
78 KiB
YAML

# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
---
name: tc
protocol: netlink-raw
uapi-header: linux/pkt_cls.h
protonum: 0
doc:
Netlink raw family for tc qdisc, chain, class and filter configuration
over rtnetlink.
definitions:
-
name: tcmsg
type: struct
header: linux/rtnetlink.h
members:
-
name: family
type: u8
-
name: pad
type: pad
len: 3
-
name: ifindex
type: s32
-
name: handle
type: u32
-
name: parent
type: u32
-
name: info
type: u32
-
name: cls-flags
enum-name:
type: flags
entries:
- skip-hw
- skip-sw
- in-hw
- not-in-nw
- verbose
-
name: flower-key-ctrl-flags
name-prefix: tca-flower-key-flags-
enum-name:
type: flags
entries:
- frag
- firstfrag
- tuncsum
- 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
members:
-
name: bytes
type: u64
doc: Number of enqueued bytes
-
name: packets
type: u32
doc: Number of enqueued packets
-
name: drops
type: u32
doc: Packets dropped because of lack of resources
-
name: overlimits
type: u32
doc: |
Number of throttle events when this flow goes out of allocated
bandwidth
-
name: bps
type: u32
doc: Current flow byte rate
-
name: pps
type: u32
doc: Current flow packet rate
-
name: qlen
type: u32
-
name: backlog
type: u32
-
name: tc-cbs-qopt
type: struct
members:
-
name: offload
type: u8
-
name: pad
type: pad
len: 3
-
name: hicredit
type: s32
-
name: locredit
type: s32
-
name: idleslope
type: s32
-
name: sendslope
type: s32
-
name: tc-etf-qopt
type: struct
members:
-
name: delta
type: s32
-
name: clockid
type: s32
-
name: flags
type: s32
-
name: tc-fifo-qopt
type: struct
members:
-
name: limit
type: u32
doc: Queue length; bytes for bfifo, packets for pfifo
-
name: tc-htb-opt
type: struct
members:
-
name: rate
type: binary
struct: tc-ratespec
-
name: ceil
type: binary
struct: tc-ratespec
-
name: buffer
type: u32
-
name: cbuffer
type: u32
-
name: quantum
type: u32
-
name: level
type: u32
-
name: prio
type: u32
-
name: tc-htb-glob
type: struct
members:
-
name: version
type: u32
-
name: rate2quantum
type: u32
doc: bps->quantum divisor
-
name: defcls
type: u32
doc: Default class number
-
name: debug
type: u32
doc: Debug flags
-
name: direct-pkts
type: u32
doc: Count of non shaped packets
-
name: tc-gred-qopt
type: struct
members:
-
name: limit
type: u32
doc: HARD maximal queue length in bytes
-
name: qth-min
type: u32
doc: Min average length threshold in bytes
-
name: qth-max
type: u32
doc: Max average length threshold in bytes
-
name: DP
type: u32
doc: Up to 2^32 DPs
-
name: backlog
type: u32
-
name: qave
type: u32
-
name: forced
type: u32
-
name: early
type: u32
-
name: other
type: u32
-
name: pdrop
type: u32
-
name: Wlog
type: u8
doc: log(W)
-
name: Plog
type: u8
doc: log(P_max / (qth-max - qth-min))
-
name: Scell-log
type: u8
doc: cell size for idle damping
-
name: prio
type: u8
doc: Priority of this VQ
-
name: packets
type: u32
-
name: bytesin
type: u32
-
name: tc-gred-sopt
type: struct
members:
-
name: DPs
type: u32
-
name: def-DP
type: u32
-
name: grio
type: u8
-
name: flags
type: u8
-
name: pad
type: pad
len: 2
-
name: tc-hfsc-qopt
type: struct
members:
-
name: defcls
type: u16
-
name: tc-mqprio-qopt
type: struct
members:
-
name: num-tc
type: u8
-
name: prio-tc-map
type: binary
len: 16
-
name: hw
type: u8
-
name: count
type: binary
len: 32
-
name: offset
type: binary
len: 32
-
name: tc-multiq-qopt
type: struct
members:
-
name: bands
type: u16
doc: Number of bands
-
name: max-bands
type: u16
doc: Maximum number of queues
-
name: tc-netem-qopt
type: struct
members:
-
name: latency
type: u32
doc: Added delay in microseconds
-
name: limit
type: u32
doc: Fifo limit in packets
-
name: loss
type: u32
doc: Random packet loss (0=none, ~0=100%)
-
name: gap
type: u32
doc: Re-ordering gap (0 for none)
-
name: duplicate
type: u32
doc: Random packet duplication (0=none, ~0=100%)
-
name: jitter
type: u32
doc: Random jitter latency in microseconds
-
name: tc-netem-gimodel
doc: State transition probabilities for 4 state model
type: struct
members:
-
name: p13
type: u32
-
name: p31
type: u32
-
name: p32
type: u32
-
name: p14
type: u32
-
name: p23
type: u32
-
name: tc-netem-gemodel
doc: Gilbert-Elliot models
type: struct
members:
-
name: p
type: u32
-
name: r
type: u32
-
name: h
type: u32
-
name: k1
type: u32
-
name: tc-netem-corr
type: struct
members:
-
name: delay-corr
type: u32
doc: Delay correlation
-
name: loss-corr
type: u32
doc: Packet loss correlation
-
name: dup-corr
type: u32
doc: Duplicate correlation
-
name: tc-netem-reorder
type: struct
members:
-
name: probability
type: u32
-
name: correlation
type: u32
-
name: tc-netem-corrupt
type: struct
members:
-
name: probability
type: u32
-
name: correlation
type: u32
-
name: tc-netem-rate
type: struct
members:
-
name: rate
type: u32
-
name: packet-overhead
type: s32
-
name: cell-size
type: u32
-
name: cell-overhead
type: s32
-
name: tc-netem-slot
type: struct
members:
-
name: min-delay
type: s64
-
name: max-delay
type: s64
-
name: max-packets
type: s32
-
name: max-bytes
type: s32
-
name: dist-delay
type: s64
-
name: dist-jitter
type: s64
-
name: tc-plug-qopt
type: struct
members:
-
name: action
type: s32
-
name: limit
type: u32
-
name: tc-prio-qopt
type: struct
members:
-
name: bands
type: u32
doc: Number of bands
-
name: priomap
type: binary
len: 16
doc: Map of logical priority -> PRIO band
-
name: tc-red-qopt
type: struct
members:
-
name: limit
type: u32
doc: Hard queue length in packets
-
name: qth-min
type: u32
doc: Min average threshold in packets
-
name: qth-max
type: u32
doc: Max average threshold in packets
-
name: Wlog
type: u8
doc: log(W)
-
name: Plog
type: u8
doc: log(P_max / (qth-max - qth-min))
-
name: Scell-log
type: u8
doc: Cell size for idle damping
-
name: flags
type: u8
-
name: tc-sfb-qopt
type: struct
members:
-
name: rehash-interval
type: u32
-
name: warmup-time
type: u32
-
name: max
type: u32
-
name: bin-size
type: u32
-
name: increment
type: u32
-
name: decrement
type: u32
-
name: limit
type: u32
-
name: penalty-rate
type: u32
-
name: penalty-burst
type: u32
-
name: tc-sfq-qopt
type: struct
members:
-
name: quantum
type: u32
doc: Bytes per round allocated to flow
-
name: perturb-period
type: s32
doc: Period of hash perturbation
-
name: limit
type: u32
doc: Maximal packets in queue
-
name: divisor
type: u32
doc: Hash divisor
-
name: flows
type: u32
doc: Maximal number of flows
-
name: tc-sfqred-stats
type: struct
members:
-
name: prob-drop
type: u32
doc: Early drops, below max threshold
-
name: forced-drop
type: u32
doc: Early drops, after max threshold
-
name: prob-mark
type: u32
doc: Marked packets, below max threshold
-
name: forced-mark
type: u32
doc: Marked packets, after max threshold
-
name: prob-mark-head
type: u32
doc: Marked packets, below max threshold
-
name: forced-mark-head
type: u32
doc: Marked packets, after max threshold
-
name: tc-sfq-qopt-v1
type: struct
members:
-
name: v0
type: binary
struct: tc-sfq-qopt
-
name: depth
type: u32
doc: Maximum number of packets per flow
-
name: headdrop
type: u32
-
name: limit
type: u32
doc: HARD maximal flow queue length in bytes
-
name: qth-min
type: u32
doc: Min average length threshold in bytes
-
name: qth-max
type: u32
doc: Max average length threshold in bytes
-
name: Wlog
type: u8
doc: log(W)
-
name: Plog
type: u8
doc: log(P_max / (qth-max - qth-min))
-
name: Scell-log
type: u8
doc: Cell size for idle damping
-
name: flags
type: u8
-
name: max-P
type: u32
doc: probability, high resolution
-
name: stats
type: binary
struct: tc-sfqred-stats
-
name: tc-ratespec
type: struct
header: linux/pkt_sched.h
members:
-
name: cell-log
type: u8
-
name: linklayer
type: u8
-
name: overhead
type: u8
-
name: cell-align
type: u8
-
name: mpu
type: u8
-
name: rate
type: u32
-
name: tc-tbf-qopt
type: struct
members:
-
name: rate
type: binary
struct: tc-ratespec
-
name: peakrate
type: binary
struct: tc-ratespec
-
name: limit
type: u32
-
name: buffer
type: u32
-
name: mtu
type: u32
-
name: tc-sizespec
type: struct
members:
-
name: cell-log
type: u8
-
name: size-log
type: u8
-
name: cell-align
type: s16
-
name: overhead
type: s32
-
name: linklayer
type: u32
-
name: mpu
type: u32
-
name: mtu
type: u32
-
name: tsize
type: u32
-
name: gnet-estimator
type: struct
members:
-
name: interval
type: s8
doc: Sampling period
-
name: ewma-log
type: u8
doc: The log() of measurement window weight
-
name: tc-choke-xstats
type: struct
members:
-
name: early
type: u32
doc: Early drops
-
name: pdrop
type: u32
doc: Drops due to queue limits
-
name: other
type: u32
doc: Drops due to drop() calls
-
name: marked
type: u32
doc: Marked packets
-
name: matched
type: u32
doc: Drops due to flow match
-
name: tc-codel-xstats
type: struct
members:
-
name: maxpacket
type: u32
doc: Largest packet we've seen so far
-
name: count
type: u32
doc: |
How many drops we've done since the last time we entered dropping
state
-
name: lastcount
type: u32
doc: Count at entry to dropping state
-
name: ldelay
type: u32
doc: in-queue delay seen by most recently dequeued packet
-
name: drop-next
type: s32
doc: Time to drop next packet
-
name: drop-overlimit
type: u32
doc: Number of times max qdisc packet limit was hit
-
name: ecn-mark
type: u32
doc: Number of packets we've ECN marked instead of dropped
-
name: dropping
type: u32
doc: Are we in a dropping state?
-
name: ce-mark
type: u32
doc: Number of CE marked packets because of ce-threshold
-
name: tc-fq-codel-xstats
type: struct
members:
-
name: type
type: u32
-
name: maxpacket
type: u32
doc: Largest packet we've seen so far
-
name: drop-overlimit
type: u32
doc: Number of times max qdisc packet limit was hit
-
name: ecn-mark
type: u32
doc: Number of packets we ECN marked instead of being dropped
-
name: new-flow-count
type: u32
doc: Number of times packets created a new flow
-
name: new-flows-len
type: u32
doc: Count of flows in new list
-
name: old-flows-len
type: u32
doc: Count of flows in old list
-
name: ce-mark
type: u32
doc: Packets above ce-threshold
-
name: memory-usage
type: u32
doc: Memory usage in bytes
-
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
members:
-
name: packets-in
type: u32
doc: Total number of packets enqueued
-
name: dropped
type: u32
doc: Packets dropped due to fq_pie_action
-
name: overlimit
type: u32
doc: Dropped due to lack of space in queue
-
name: overmemory
type: u32
doc: Dropped due to lack of memory in queue
-
name: ecn-mark
type: u32
doc: Packets marked with ECN
-
name: new-flow-count
type: u32
doc: Count of new flows created by packets
-
name: new-flows-len
type: u32
doc: Count of flows in new list
-
name: old-flows-len
type: u32
doc: Count of flows in old list
-
name: memory-usage
type: u32
doc: Total memory across all queues
-
name: tc-fq-qd-stats
type: struct
members:
-
name: gc-flows
type: u64
-
name: highprio-packets
type: u64
doc: obsolete
-
name: tcp-retrans
type: u64
doc: obsolete
-
name: throttled
type: u64
-
name: flows-plimit
type: u64
-
name: pkts-too-long
type: u64
-
name: allocation-errors
type: u64
-
name: time-next-delayed-flow
type: s64
-
name: flows
type: u32
-
name: inactive-flows
type: u32
-
name: throttled-flows
type: u32
-
name: unthrottle-latency-ns
type: u32
-
name: ce-mark
type: u64
doc: Packets above ce-threshold
-
name: horizon-drops
type: u64
-
name: horizon-caps
type: u64
-
name: fastpath-packets
type: u64
-
name: band-drops
type: binary
len: 24
-
name: band-pkt-count
type: binary
len: 12
-
name: pad
type: pad
len: 4
-
name: tc-hhf-xstats
type: struct
members:
-
name: drop-overlimit
type: u32
doc: Number of times max qdisc packet limit was hit
-
name: hh-overlimit
type: u32
doc: Number of times max heavy-hitters was hit
-
name: hh-tot-count
type: u32
doc: Number of captured heavy-hitters so far
-
name: hh-cur-count
type: u32
doc: Number of current heavy-hitters
-
name: tc-pie-xstats
type: struct
members:
-
name: prob
type: u64
doc: Current probability
-
name: delay
type: u32
doc: Current delay in ms
-
name: avg-dq-rate
type: u32
doc: Current average dq rate in bits/pie-time
-
name: dq-rate-estimating
type: u32
doc: Is avg-dq-rate being calculated?
-
name: packets-in
type: u32
doc: Total number of packets enqueued
-
name: dropped
type: u32
doc: Packets dropped due to pie action
-
name: overlimit
type: u32
doc: Dropped due to lack of space in queue
-
name: maxq
type: u32
doc: Maximum queue size
-
name: ecn-mark
type: u32
doc: Packets marked with ECN
-
name: tc-red-xstats
type: struct
members:
-
name: early
type: u32
doc: Early drops
-
name: pdrop
type: u32
doc: Drops due to queue limits
-
name: other
type: u32
doc: Drops due to drop() calls
-
name: marked
type: u32
doc: Marked packets
-
name: tc-sfb-xstats
type: struct
members:
-
name: earlydrop
type: u32
-
name: penaltydrop
type: u32
-
name: bucketdrop
type: u32
-
name: queuedrop
type: u32
-
name: childdrop
type: u32
doc: drops in child qdisc
-
name: marked
type: u32
-
name: maxqlen
type: u32
-
name: maxprob
type: u32
-
name: avgprob
type: u32
-
name: tc-sfq-xstats
type: struct
members:
-
name: allot
type: s32
-
name: gnet-stats-basic
type: struct
members:
-
name: bytes
type: u64
-
name: packets
type: u32
-
name: gnet-stats-rate-est
type: struct
members:
-
name: bps
type: u32
-
name: pps
type: u32
-
name: gnet-stats-rate-est64
type: struct
members:
-
name: bps
type: u64
-
name: pps
type: u64
-
name: gnet-stats-queue
type: struct
members:
-
name: qlen
type: u32
-
name: backlog
type: u32
-
name: drops
type: u32
-
name: requeues
type: u32
-
name: overlimits
type: u32
-
name: tc-u32-key
type: struct
members:
-
name: mask
type: u32
byte-order: big-endian
-
name: val
type: u32
byte-order: big-endian
-
name: "off"
type: s32
-
name: offmask
type: s32
-
name: tc-u32-mark
type: struct
members:
-
name: val
type: u32
-
name: mask
type: u32
-
name: success
type: u32
-
name: tc-u32-sel
type: struct
members:
-
name: flags
type: u8
-
name: offshift
type: u8
-
name: nkeys
type: u8
-
name: offmask
type: u16
byte-order: big-endian
-
name: "off"
type: u16
-
name: offoff
type: s16
-
name: hoff
type: s16
-
name: hmask
type: u32
byte-order: big-endian
-
name: keys
type: binary
struct: tc-u32-key # TODO: array
-
name: tc-u32-pcnt
type: struct
members:
-
name: rcnt
type: u64
-
name: rhit
type: u64
-
name: kcnts
type: u64 # TODO: array
-
name: tcf-t
type: struct
members:
-
name: install
type: u64
-
name: lastuse
type: u64
-
name: expires
type: u64
-
name: firstuse
type: u64
-
name: tc-gact
type: struct
members:
-
name: index
type: u32
-
name: capab
type: u32
-
name: action
type: s32
-
name: refcnt
type: s32
-
name: bindcnt
type: s32
-
name: tc-gact-p
type: struct
members:
-
name: ptype
type: u16
-
name: pval
type: u16
-
name: paction
type: s32
-
name: tcf-ematch-tree-hdr
type: struct
members:
-
name: nmatches
type: u16
-
name: progid
type: u16
-
name: tc-basic-pcnt
type: struct
members:
-
name: rcnt
type: u64
-
name: rhit
type: u64
-
name: tc-matchall-pcnt
type: struct
members:
-
name: rhit
type: u64
-
name: tc-mpls
type: struct
members:
-
name: index
type: u32
-
name: capab
type: u32
-
name: action
type: s32
-
name: refcnt
type: s32
-
name: bindcnt
type: s32
-
name: m-action
type: s32
-
name: tc-police
type: struct
members:
-
name: index
type: u32
-
name: action
type: s32
-
name: limit
type: u32
-
name: burst
type: u32
-
name: mtu
type: u32
-
name: rate
type: binary
struct: tc-ratespec
-
name: peakrate
type: binary
struct: tc-ratespec
-
name: refcnt
type: s32
-
name: bindcnt
type: s32
-
name: capab
type: u32
-
name: tc-pedit-sel
type: struct
members:
-
name: index
type: u32
-
name: capab
type: u32
-
name: action
type: s32
-
name: refcnt
type: s32
-
name: bindcnt
type: s32
-
name: nkeys
type: u8
-
name: flags
type: u8
-
name: keys
type: binary
struct: tc-pedit-key # TODO: array
-
name: tc-pedit-key
type: struct
members:
-
name: mask
type: u32
-
name: val
type: u32
-
name: "off"
type: u32
-
name: at
type: u32
-
name: offmask
type: u32
-
name: shift
type: u32
-
name: tc-vlan
type: struct
members:
-
name: index
type: u32
-
name: capab
type: u32
-
name: action
type: s32
-
name: refcnt
type: s32
-
name: bindcnt
type: s32
-
name: v-action
type: s32
attribute-sets:
-
name: attrs
name-prefix: tca-
attributes:
-
name: kind
type: string
-
name: options
type: sub-message
sub-message: options-msg
selector: kind
-
name: stats
type: binary
struct: tc-stats
-
name: xstats
type: sub-message
sub-message: tca-stats-app-msg
selector: kind
-
name: rate
type: binary
struct: gnet-estimator
-
name: fcnt
type: u32
-
name: stats2
type: nest
nested-attributes: tca-stats-attrs
-
name: stab
type: nest
nested-attributes: tca-stab-attrs
-
name: pad
type: pad
-
name: dump-invisible
type: flag
-
name: chain
type: u32
-
name: hw-offload
type: u8
-
name: ingress-block
type: u32
-
name: egress-block
type: u32
-
name: dump-flags
type: bitfield32
-
name: ext-warn-msg
type: string
-
name: act-attrs
name-prefix: tca-act-
attributes:
-
name: kind
type: string
-
name: options
type: sub-message
sub-message: act-options-msg
selector: kind
-
name: index
type: u32
-
name: stats
type: nest
nested-attributes: tca-stats-attrs
-
name: pad
type: pad
-
name: cookie
type: binary
-
name: flags
type: bitfield32
-
name: hw-stats
type: bitfield32
-
name: used-hw-stats
type: bitfield32
-
name: in-hw-count
type: u32
-
name: act-bpf-attrs
name-prefix: tca-act-bpf-
header: linux/tc_act/tc_bpf.h
attributes:
-
name: tm
type: binary
struct: tcf-t
-
name: parms
type: binary
-
name: ops-len
type: u16
-
name: ops
type: binary
-
name: fd
type: u32
-
name: name
type: string
-
name: pad
type: pad
-
name: tag
type: binary
-
name: id
type: binary
-
name: act-connmark-attrs
name-prefix: tca-connmark-
header: linux/tc_act/tc_connmark.h
attributes:
-
name: parms
type: binary
-
name: tm
type: binary
struct: tcf-t
-
name: pad
type: pad
-
name: act-csum-attrs
name-prefix: tca-csum-
header: linux/tc_act/tc_csum.h
attributes:
-
name: parms
type: binary
-
name: tm
type: binary
struct: tcf-t
-
name: pad
type: pad
-
name: act-ct-attrs
name-prefix: tca-ct-
header: linux/tc_act/tc_ct.h
attributes:
-
name: parms
type: binary
-
name: tm
type: binary
struct: tcf-t
-
name: action
type: u16
-
name: zone
type: u16
-
name: mark
type: u32
-
name: mark-mask
type: u32
-
name: labels
type: binary
-
name: labels-mask
type: binary
-
name: nat-ipv4-min
type: u32
byte-order: big-endian
-
name: nat-ipv4-max
type: u32
byte-order: big-endian
-
name: nat-ipv6-min
type: binary
-
name: nat-ipv6-max
type: binary
-
name: nat-port-min
type: u16
byte-order: big-endian
-
name: nat-port-max
type: u16
byte-order: big-endian
-
name: pad
type: pad
-
name: helper-name
type: string
-
name: helper-family
type: u8
-
name: helper-proto
type: u8
-
name: act-ctinfo-attrs
name-prefix: tca-ctinfo-
header: linux/tc_act/tc_ctinfo.h
attributes:
-
name: pad
type: pad
-
name: tm
type: binary
struct: tcf-t
-
name: act
type: binary
-
name: zone
type: u16
-
name: parms-dscp-mask
type: u32
-
name: parms-dscp-statemask
type: u32
-
name: parms-cpmark-mask
type: u32
-
name: stats-dscp-set
type: u64
-
name: stats-dscp-error
type: u64
-
name: stats-cpmark-set
type: u64
-
name: act-gate-attrs
name-prefix: tca-gate-
header: linux/tc_act/tc_gate.h
attributes:
-
name: tm
type: binary
struct: tcf-t
-
name: parms
type: binary
-
name: pad
type: pad
-
name: priority
type: s32
-
name: entry-list
type: binary
-
name: base-time
type: u64
-
name: cycle-time
type: u64
-
name: cycle-time-ext
type: u64
-
name: flags
type: u32
-
name: clockid
type: s32
-
name: act-ife-attrs
name-prefix: tca-ife-
header: linux/tc_act/tc_ife.h
attributes:
-
name: parms
type: binary
-
name: tm
type: binary
struct: tcf-t
-
name: dmac
type: binary
-
name: smac
type: binary
-
name: type
type: u16
-
name: metalst
type: binary
-
name: pad
type: pad
-
name: act-mirred-attrs
name-prefix: tca-mirred-
header: linux/tc_act/tc_mirred.h
attributes:
-
name: tm
type: binary
struct: tcf-t
-
name: parms
type: binary
-
name: pad
type: pad
-
name: blockid
type: binary
-
name: act-mpls-attrs
name-prefix: tca-mpls-
header: linux/tc_act/tc_mpls.h
attributes:
-
name: tm
type: binary
struct: tcf-t
-
name: parms
type: binary
struct: tc-mpls
-
name: pad
type: pad
-
name: proto
type: u16
byte-order: big-endian
-
name: label
type: u32
-
name: tc
type: u8
-
name: ttl
type: u8
-
name: bos
type: u8
-
name: act-nat-attrs
name-prefix: tca-nat-
header: linux/tc_act/tc_nat.h
attributes:
-
name: parms
type: binary
-
name: tm
type: binary
struct: tcf-t
-
name: pad
type: pad
-
name: act-pedit-attrs
name-prefix: tca-pedit-
header: linux/tc_act/tc_pedit.h
attributes:
-
name: tm
type: binary
struct: tcf-t
-
name: parms
type: binary
struct: tc-pedit-sel
-
name: pad
type: pad
-
name: parms-ex
type: binary
-
name: keys-ex
type: binary
-
name: key-ex
type: binary
-
name: act-simple-attrs
name-prefix: tca-def-
header: linux/tc_act/tc_defact.h
attributes:
-
name: tm
type: binary
struct: tcf-t
-
name: parms
type: binary
-
name: data
type: binary
-
name: pad
type: pad
-
name: act-skbedit-attrs
name-prefix: tca-skbedit-
header: linux/tc_act/tc_skbedit.h
attributes:
-
name: tm
type: binary
struct: tcf-t
-
name: parms
type: binary
-
name: priority
type: u32
-
name: queue-mapping
type: u16
-
name: mark
type: u32
-
name: pad
type: pad
-
name: ptype
type: u16
-
name: mask
type: u32
-
name: flags
type: u64
-
name: queue-mapping-max
type: u16
-
name: act-skbmod-attrs
name-prefix: tca-skbmod-
header: linux/tc_act/tc_skbmod.h
attributes:
-
name: tm
type: binary
struct: tcf-t
-
name: parms
type: binary
-
name: dmac
type: binary
-
name: smac
type: binary
-
name: etype
type: binary
-
name: pad
type: pad
-
name: act-tunnel-key-attrs
name-prefix: tca-tunnel-key-
header: linux/tc_act/tc_tunnel_key.h
attributes:
-
name: tm
type: binary
struct: tcf-t
-
name: parms
type: binary
-
name: enc-ipv4-src
type: u32
byte-order: big-endian
-
name: enc-ipv4-dst
type: u32
byte-order: big-endian
-
name: enc-ipv6-src
type: binary
-
name: enc-ipv6-dst
type: binary
-
name: enc-key-id
type: u64
byte-order: big-endian
-
name: pad
type: pad
-
name: enc-dst-port
type: u16
byte-order: big-endian
-
name: no-csum
type: u8
-
name: enc-opts
type: binary
-
name: enc-tos
type: u8
-
name: enc-ttl
type: u8
-
name: no-frag
type: flag
-
name: act-vlan-attrs
name-prefix: tca-vlan-
header: linux/tc_act/tc_vlan.h
attributes:
-
name: tm
type: binary
struct: tcf-t
-
name: parms
type: binary
struct: tc-vlan
-
name: push-vlan-id
type: u16
-
name: push-vlan-protocol
type: u16
-
name: pad
type: pad
-
name: push-vlan-priority
type: u8
-
name: push-eth-dst
type: binary
-
name: push-eth-src
type: binary
-
name: basic-attrs
name-prefix: tca-basic-
attributes:
-
name: classid
type: u32
-
name: ematches
type: nest
nested-attributes: ematch-attrs
-
name: act
type: indexed-array
sub-type: nest
nested-attributes: act-attrs
-
name: police
type: nest
nested-attributes: police-attrs
-
name: pcnt
type: binary
struct: tc-basic-pcnt
-
name: pad
type: pad
-
name: bpf-attrs
name-prefix: tca-bpf-
attributes:
-
name: act
type: indexed-array
sub-type: nest
nested-attributes: act-attrs
-
name: police
type: nest
nested-attributes: police-attrs
-
name: classid
type: u32
-
name: ops-len
type: u16
-
name: ops
type: binary
-
name: fd
type: u32
-
name: name
type: string
-
name: flags
type: u32
-
name: flags-gen
type: u32
-
name: tag
type: binary
-
name: id
type: u32
-
name: cake-attrs
name-prefix: tca-cake-
attributes:
-
name: pad
type: pad
-
name: base-rate64
type: u64
-
name: diffserv-mode
type: u32
-
name: atm
type: u32
-
name: flow-mode
type: u32
-
name: overhead
type: u32
-
name: rtt
type: u32
-
name: target
type: u32
-
name: autorate
type: u32
-
name: memory
type: u32
-
name: nat
type: u32
-
name: raw
type: u32
-
name: wash
type: u32
-
name: mpu
type: u32
-
name: ingress
type: u32
-
name: ack-filter
type: u32
-
name: split-gso
type: u32
-
name: fwmark
type: u32
-
name: cake-stats-attrs
name-prefix: tca-cake-stats-
attributes:
-
name: pad
type: pad
-
name: capacity-estimate64
type: u64
-
name: memory-limit
type: u32
-
name: memory-used
type: u32
-
name: avg-netoff
type: u32
-
name: min-netlen
type: u32
-
name: max-netlen
type: u32
-
name: min-adjlen
type: u32
-
name: max-adjlen
type: u32
-
name: tin-stats
type: indexed-array
sub-type: nest
nested-attributes: cake-tin-stats-attrs
-
name: deficit
type: s32
-
name: cobalt-count
type: u32
-
name: dropping
type: u32
-
name: drop-next-us
type: s32
-
name: p-drop
type: u32
-
name: blue-timer-us
type: s32
-
name: cake-tin-stats-attrs
name-prefix: tca-cake-tin-stats-
attributes:
-
name: pad
type: pad
-
name: sent-packets
type: u32
-
name: sent-bytes64
type: u64
-
name: dropped-packets
type: u32
-
name: dropped-bytes64
type: u64
-
name: acks-dropped-packets
type: u32
-
name: acks-dropped-bytes64
type: u64
-
name: ecn-marked-packets
type: u32
-
name: ecn-marked-bytes64
type: u64
-
name: backlog-packets
type: u32
-
name: backlog-bytes
type: u32
-
name: threshold-rate64
type: u64
-
name: target-us
type: u32
-
name: interval-us
type: u32
-
name: way-indirect-hits
type: u32
-
name: way-misses
type: u32
-
name: way-collisions
type: u32
-
name: peak-delay-us
type: u32
-
name: avg-delay-us
type: u32
-
name: base-delay-us
type: u32
-
name: sparse-flows
type: u32
-
name: bulk-flows
type: u32
-
name: unresponsive-flows
type: u32
-
name: max-skblen
type: u32
-
name: flow-quantum
type: u32
-
name: cbs-attrs
name-prefix: tca-cbs-
attributes:
-
name: parms
type: binary
struct: tc-cbs-qopt
-
name: cgroup-attrs
name-prefix: tca-cgroup-
attributes:
-
name: act
type: indexed-array
sub-type: nest
nested-attributes: act-attrs
-
name: police
type: nest
nested-attributes: police-attrs
-
name: ematches
type: binary
-
name: choke-attrs
name-prefix: tca-choke-
attributes:
-
name: parms
type: binary
struct: tc-red-qopt
-
name: stab
type: binary
checks:
min-len: 256
max-len: 256
-
name: max-p
type: u32
-
name: codel-attrs
name-prefix: tca-codel-
attributes:
-
name: target
type: u32
-
name: limit
type: u32
-
name: interval
type: u32
-
name: ecn
type: u32
-
name: ce-threshold
type: u32
-
name: drr-attrs
name-prefix: tca-drr-
attributes:
-
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-
attr-max-name: tca-ematch-tree-max
attributes:
-
name: tree-hdr
type: binary
struct: tcf-ematch-tree-hdr
-
name: tree-list
type: binary
-
name: flow-attrs
name-prefix: tca-flow-
attributes:
-
name: keys
type: u32
-
name: mode
type: u32
-
name: baseclass
type: u32
-
name: rshift
type: u32
-
name: addend
type: u32
-
name: mask
type: u32
-
name: xor
type: u32
-
name: divisor
type: u32
-
name: act
type: binary
-
name: police
type: nest
nested-attributes: police-attrs
-
name: ematches
type: binary
-
name: perturb
type: u32
-
name: flower-attrs
name-prefix: tca-flower-
attributes:
-
name: classid
type: u32
-
name: indev
type: string
-
name: act
type: indexed-array
sub-type: nest
nested-attributes: act-attrs
-
name: key-eth-dst
type: binary
display-hint: mac
-
name: key-eth-dst-mask
type: binary
display-hint: mac
-
name: key-eth-src
type: binary
display-hint: mac
-
name: key-eth-src-mask
type: binary
display-hint: mac
-
name: key-eth-type
type: u16
byte-order: big-endian
-
name: key-ip-proto
type: u8
-
name: key-ipv4-src
type: u32
byte-order: big-endian
display-hint: ipv4
-
name: key-ipv4-src-mask
type: u32
byte-order: big-endian
display-hint: ipv4
-
name: key-ipv4-dst
type: u32
byte-order: big-endian
display-hint: ipv4
-
name: key-ipv4-dst-mask
type: u32
byte-order: big-endian
display-hint: ipv4
-
name: key-ipv6-src
type: binary
display-hint: ipv6
-
name: key-ipv6-src-mask
type: binary
display-hint: ipv6
-
name: key-ipv6-dst
type: binary
display-hint: ipv6
-
name: key-ipv6-dst-mask
type: binary
display-hint: ipv6
-
name: key-tcp-src
type: u16
byte-order: big-endian
-
name: key-tcp-dst
type: u16
byte-order: big-endian
-
name: key-udp-src
type: u16
byte-order: big-endian
-
name: key-udp-dst
type: u16
byte-order: big-endian
-
name: flags
type: u32
enum: cls-flags
enum-as-flags: true
-
name: key-vlan-id
type: u16
byte-order: big-endian
-
name: key-vlan-prio
type: u8
-
name: key-vlan-eth-type
type: u16
byte-order: big-endian
-
name: key-enc-key-id
type: u32
byte-order: big-endian
-
name: key-enc-ipv4-src
type: u32
byte-order: big-endian
display-hint: ipv4
-
name: key-enc-ipv4-src-mask
type: u32
byte-order: big-endian
display-hint: ipv4
-
name: key-enc-ipv4-dst
type: u32
byte-order: big-endian
display-hint: ipv4
-
name: key-enc-ipv4-dst-mask
type: u32
byte-order: big-endian
display-hint: ipv4
-
name: key-enc-ipv6-src
type: binary
display-hint: ipv6
-
name: key-enc-ipv6-src-mask
type: binary
display-hint: ipv6
-
name: key-enc-ipv6-dst
type: binary
display-hint: ipv6
-
name: key-enc-ipv6-dst-mask
type: binary
display-hint: ipv6
-
name: key-tcp-src-mask
type: u16
byte-order: big-endian
-
name: key-tcp-dst-mask
type: u16
byte-order: big-endian
-
name: key-udp-src-mask
type: u16
byte-order: big-endian
-
name: key-udp-dst-mask
type: u16
byte-order: big-endian
-
name: key-sctp-src-mask
type: u16
byte-order: big-endian
-
name: key-sctp-dst-mask
type: u16
byte-order: big-endian
-
name: key-sctp-src
type: u16
byte-order: big-endian
-
name: key-sctp-dst
type: u16
byte-order: big-endian
-
name: key-enc-udp-src-port
type: u16
byte-order: big-endian
-
name: key-enc-udp-src-port-mask
type: u16
byte-order: big-endian
-
name: key-enc-udp-dst-port
type: u16
byte-order: big-endian
-
name: key-enc-udp-dst-port-mask
type: u16
byte-order: big-endian
-
name: key-flags
type: u32
byte-order: big-endian
enum: flower-key-ctrl-flags
enum-as-flags: true
-
name: key-flags-mask
type: u32
byte-order: big-endian
enum: flower-key-ctrl-flags
enum-as-flags: true
-
name: key-icmpv4-code
type: u8
-
name: key-icmpv4-code-mask
type: u8
-
name: key-icmpv4-type
type: u8
-
name: key-icmpv4-type-mask
type: u8
-
name: key-icmpv6-code
type: u8
-
name: key-icmpv6-code-mask
type: u8
-
name: key-icmpv6-type
type: u8
-
name: key-icmpv6-type-mask
type: u8
-
name: key-arp-sip
type: u32
byte-order: big-endian
-
name: key-arp-sip-mask
type: u32
byte-order: big-endian
-
name: key-arp-tip
type: u32
byte-order: big-endian
-
name: key-arp-tip-mask
type: u32
byte-order: big-endian
-
name: key-arp-op
type: u8
-
name: key-arp-op-mask
type: u8
-
name: key-arp-sha
type: binary
display-hint: mac
-
name: key-arp-sha-mask
type: binary
display-hint: mac
-
name: key-arp-tha
type: binary
display-hint: mac
-
name: key-arp-tha-mask
type: binary
display-hint: mac
-
name: key-mpls-ttl
type: u8
-
name: key-mpls-bos
type: u8
-
name: key-mpls-tc
type: u8
-
name: key-mpls-label
type: u32
byte-order: big-endian
-
name: key-tcp-flags
type: u16
byte-order: big-endian
-
name: key-tcp-flags-mask
type: u16
byte-order: big-endian
-
name: key-ip-tos
type: u8
-
name: key-ip-tos-mask
type: u8
-
name: key-ip-ttl
type: u8
-
name: key-ip-ttl-mask
type: u8
-
name: key-cvlan-id
type: u16
byte-order: big-endian
-
name: key-cvlan-prio
type: u8
-
name: key-cvlan-eth-type
type: u16
byte-order: big-endian
-
name: key-enc-ip-tos
type: u8
-
name: key-enc-ip-tos-mask
type: u8
-
name: key-enc-ip-ttl
type: u8
-
name: key-enc-ip-ttl-mask
type: u8
-
name: key-enc-opts
type: nest
nested-attributes: flower-key-enc-opts-attrs
-
name: key-enc-opts-mask
type: nest
nested-attributes: flower-key-enc-opts-attrs
-
name: in-hw-count
type: u32
-
name: key-port-src-min
type: u16
byte-order: big-endian
-
name: key-port-src-max
type: u16
byte-order: big-endian
-
name: key-port-dst-min
type: u16
byte-order: big-endian
-
name: key-port-dst-max
type: u16
byte-order: big-endian
-
name: key-ct-state
type: u16
-
name: key-ct-state-mask
type: u16
-
name: key-ct-zone
type: u16
-
name: key-ct-zone-mask
type: u16
-
name: key-ct-mark
type: u32
-
name: key-ct-mark-mask
type: u32
-
name: key-ct-labels
type: binary
-
name: key-ct-labels-mask
type: binary
-
name: key-mpls-opts
type: nest
nested-attributes: flower-key-mpls-opt-attrs
-
name: key-hash
type: u32
-
name: key-hash-mask
type: u32
-
name: key-num-of-vlans
type: u8
-
name: key-pppoe-sid
type: u16
byte-order: big-endian
-
name: key-ppp-proto
type: u16
byte-order: big-endian
-
name: key-l2tpv3-sid
type: u32
byte-order: big-endian
-
name: l2-miss
type: u8
-
name: key-cfm
type: nest
nested-attributes: flower-key-cfm-attrs
-
name: key-spi
type: u32
byte-order: big-endian
-
name: key-spi-mask
type: u32
byte-order: big-endian
-
name: key-enc-flags
type: u32
byte-order: big-endian
enum: flower-key-ctrl-flags
enum-as-flags: true
-
name: key-enc-flags-mask
type: u32
byte-order: big-endian
enum: flower-key-ctrl-flags
enum-as-flags: true
-
name: flower-key-enc-opts-attrs
name-prefix: tca-flower-key-enc-opts-
attributes:
-
name: geneve
type: nest
nested-attributes: flower-key-enc-opt-geneve-attrs
-
name: vxlan
type: nest
nested-attributes: flower-key-enc-opt-vxlan-attrs
-
name: erspan
type: nest
nested-attributes: flower-key-enc-opt-erspan-attrs
-
name: gtp
type: nest
nested-attributes: flower-key-enc-opt-gtp-attrs
-
name: flower-key-enc-opt-geneve-attrs
name-prefix: tca-flower-key-enc-opt-geneve-
attributes:
-
name: class
type: u16
-
name: type
type: u8
-
name: data
type: binary
-
name: flower-key-enc-opt-vxlan-attrs
name-prefix: tca-flower-key-enc-opt-vxlan-
attributes:
-
name: gbp
type: u32
-
name: flower-key-enc-opt-erspan-attrs
name-prefix: tca-flower-key-enc-opt-erspan-
attributes:
-
name: ver
type: u8
-
name: index
type: u32
-
name: dir
type: u8
-
name: hwid
type: u8
-
name: flower-key-enc-opt-gtp-attrs
name-prefix: tca-flower-key-enc-opt-gtp-
attributes:
-
name: pdu-type
type: u8
-
name: qfi
type: u8
-
name: flower-key-mpls-opt-attrs
name-prefix: tca-flower-key-mpls-opt-
attr-max-name: tca-flower-key-mpls-opt-lse-max
attributes:
-
name: lse-depth
type: u8
-
name: lse-ttl
type: u8
-
name: lse-bos
type: u8
-
name: lse-tc
type: u8
-
name: lse-label
type: u32
-
name: flower-key-cfm-attrs
name-prefix: tca-flower-key-cfm-
attributes:
-
name: md-level
type: u8
-
name: opcode
type: u8
-
name: fw-attrs
name-prefix: tca-fw-
attributes:
-
name: classid
type: u32
-
name: police
type: nest
nested-attributes: police-attrs
-
name: indev
type: string
-
name: act
type: indexed-array
sub-type: nest
nested-attributes: act-attrs
-
name: mask
type: u32
-
name: gred-attrs
name-prefix: tca-gred-
attributes:
-
name: parms
type: binary # array of struct: tc-gred-qopt
-
name: stab
type: binary
sub-type: u8
-
name: dps
type: binary
struct: tc-gred-sopt
-
name: max-p
type: binary
sub-type: u32
-
name: limit
type: u32
-
name: vq-list
type: nest
nested-attributes: tca-gred-vq-list-attrs
-
name: tca-gred-vq-list-attrs
name-prefix: tca-gred-vq-
attributes:
-
name: entry
type: nest
nested-attributes: tca-gred-vq-entry-attrs
multi-attr: true
-
name: tca-gred-vq-entry-attrs
name-prefix: tca-gred-vq-
attributes:
-
name: pad
type: pad
-
name: dp
type: u32
-
name: stat-bytes
type: u64
-
name: stat-packets
type: u32
-
name: stat-backlog
type: u32
-
name: stat-prob-drop
type: u32
-
name: stat-prob-mark
type: u32
-
name: stat-forced-drop
type: u32
-
name: stat-forced-mark
type: u32
-
name: stat-pdrop
type: u32
-
name: stat-other
type: u32
-
name: flags
type: u32
-
name: hfsc-attrs
attributes:
-
name: rsc
type: binary
-
name: fsc
type: binary
-
name: usc
type: binary
-
name: hhf-attrs
name-prefix: tca-hhf-
attributes:
-
name: backlog-limit
type: u32
-
name: quantum
type: u32
-
name: hh-flows-limit
type: u32
-
name: reset-timeout
type: u32
-
name: admit-bytes
type: u32
-
name: evict-timeout
type: u32
-
name: non-hh-weight
type: u32
-
name: htb-attrs
name-prefix: tca-htb-
attributes:
-
name: parms
type: binary
struct: tc-htb-opt
-
name: init
type: binary
struct: tc-htb-glob
-
name: ctab
type: binary
-
name: rtab
type: binary
-
name: direct-qlen
type: u32
-
name: rate64
type: u64
-
name: ceil64
type: u64
-
name: pad
type: pad
-
name: offload
type: flag
-
name: matchall-attrs
name-prefix: tca-matchall-
attributes:
-
name: classid
type: u32
-
name: act
type: indexed-array
sub-type: nest
nested-attributes: act-attrs
-
name: flags
type: u32
-
name: pcnt
type: binary
struct: tc-matchall-pcnt
-
name: pad
type: pad
-
name: etf-attrs
name-prefix: tca-etf-
attributes:
-
name: parms
type: binary
struct: tc-etf-qopt
-
name: ets-attrs
name-prefix: tca-ets-
attributes:
-
name: nbands
type: u8
-
name: nstrict
type: u8
-
name: quanta
type: nest
nested-attributes: ets-attrs
-
name: quanta-band
type: u32
multi-attr: true
-
name: priomap
type: nest
nested-attributes: ets-attrs
-
name: priomap-band
type: u8
multi-attr: true
-
name: fq-attrs
name-prefix: tca-fq-
attributes:
-
name: plimit
type: u32
doc: Limit of total number of packets in queue
-
name: flow-plimit
type: u32
doc: Limit of packets per flow
-
name: quantum
type: u32
doc: RR quantum
-
name: initial-quantum
type: u32
doc: RR quantum for new flow
-
name: rate-enable
type: u32
doc: Enable / disable rate limiting
-
name: flow-default-rate
type: u32
doc: Obsolete, do not use
-
name: flow-max-rate
type: u32
doc: Per flow max rate
-
name: buckets-log
type: u32
doc: log2(number of buckets)
-
name: flow-refill-delay
type: u32
doc: Flow credit refill delay in usec
-
name: orphan-mask
type: u32
doc: Mask applied to orphaned skb hashes
-
name: low-rate-threshold
type: u32
doc: Per packet delay under this rate
-
name: ce-threshold
type: u32
doc: DCTCP-like CE marking threshold
-
name: timer-slack
type: u32
-
name: horizon
type: u32
doc: Time horizon in usec
-
name: horizon-drop
type: u8
doc: Drop packets beyond horizon, or cap their EDT
-
name: priomap
type: binary
struct: tc-prio-qopt
-
name: weights
type: binary
sub-type: s32
doc: Weights for each band
-
name: fq-codel-attrs
name-prefix: tca-fq-codel-
attributes:
-
name: target
type: u32
-
name: limit
type: u32
-
name: interval
type: u32
-
name: ecn
type: u32
-
name: flows
type: u32
-
name: quantum
type: u32
-
name: ce-threshold
type: u32
-
name: drop-batch-size
type: u32
-
name: memory-limit
type: u32
-
name: ce-threshold-selector
type: u8
-
name: ce-threshold-mask
type: u8
-
name: fq-pie-attrs
name-prefix: tca-fq-pie-
attributes:
-
name: limit
type: u32
-
name: flows
type: u32
-
name: target
type: u32
-
name: tupdate
type: u32
-
name: alpha
type: u32
-
name: beta
type: u32
-
name: quantum
type: u32
-
name: memory-limit
type: u32
-
name: ecn-prob
type: u32
-
name: ecn
type: u32
-
name: bytemode
type: u32
-
name: dq-rate-estimator
type: u32
-
name: netem-attrs
name-prefix: tca-netem-
attributes:
-
name: corr
type: binary
struct: tc-netem-corr
-
name: delay-dist
type: binary
sub-type: s16
-
name: reorder
type: binary
struct: tc-netem-reorder
-
name: corrupt
type: binary
struct: tc-netem-corrupt
-
name: loss
type: nest
nested-attributes: netem-loss-attrs
-
name: rate
type: binary
struct: tc-netem-rate
-
name: ecn
type: u32
-
name: rate64
type: u64
-
name: pad
type: u32
-
name: latency64
type: s64
-
name: jitter64
type: s64
-
name: slot
type: binary
struct: tc-netem-slot
-
name: slot-dist
type: binary
sub-type: s16
-
name: prng-seed
type: u64
-
name: netem-loss-attrs
name-prefix: netem-loss-
attributes:
-
name: gi
type: binary
doc: General Intuitive - 4 state model
struct: tc-netem-gimodel
-
name: ge
type: binary
doc: Gilbert Elliot models
struct: tc-netem-gemodel
-
name: pie-attrs
name-prefix: tca-pie-
attributes:
-
name: target
type: u32
-
name: limit
type: u32
-
name: tupdate
type: u32
-
name: alpha
type: u32
-
name: beta
type: u32
-
name: ecn
type: u32
-
name: bytemode
type: u32
-
name: dq-rate-estimator
type: u32
-
name: police-attrs
name-prefix: tca-police-
attributes:
-
name: tbf
type: binary
struct: tc-police
-
name: rate
type: binary # TODO
-
name: peakrate
type: binary # TODO
-
name: avrate
type: u32
-
name: result
type: u32
-
name: tm
type: binary
struct: tcf-t
-
name: pad
type: pad
-
name: rate64
type: u64
-
name: peakrate64
type: u64
-
name: pktrate64
type: u64
-
name: pktburst64
type: u64
-
name: qfq-attrs
name-prefix: tca-qfq-
attributes:
-
name: weight
type: u32
-
name: lmax
type: u32
-
name: red-attrs
name-prefix: tca-red-
attributes:
-
name: parms
type: binary
struct: tc-red-qopt
-
name: stab
type: binary
-
name: max-p
type: u32
-
name: flags
type: bitfield32
-
name: early-drop-block
type: u32
-
name: mark-block
type: u32
-
name: route-attrs
name-prefix: tca-route4-
attributes:
-
name: classid
type: u32
-
name: to
type: u32
-
name: from
type: u32
-
name: iif
type: u32
-
name: police
type: nest
nested-attributes: police-attrs
-
name: act
type: indexed-array
sub-type: nest
nested-attributes: act-attrs
-
name: taprio-attrs
name-prefix: tca-taprio-attr-
attributes:
-
name: priomap
type: binary
struct: tc-mqprio-qopt
-
name: sched-entry-list
type: nest
nested-attributes: taprio-sched-entry-list
-
name: sched-base-time
type: s64
-
name: sched-single-entry
type: nest
nested-attributes: taprio-sched-entry
-
name: sched-clockid
type: s32
-
name: pad
type: pad
-
name: admin-sched
type: binary
-
name: sched-cycle-time
type: s64
-
name: sched-cycle-time-extension
type: s64
-
name: flags
type: u32
-
name: txtime-delay
type: u32
-
name: tc-entry
type: nest
nested-attributes: taprio-tc-entry-attrs
-
name: taprio-sched-entry-list
name-prefix: tca-taprio-sched-
attributes:
-
name: entry
type: nest
nested-attributes: taprio-sched-entry
multi-attr: true
-
name: taprio-sched-entry
name-prefix: tca-taprio-sched-entry-
attributes:
-
name: index
type: u32
-
name: cmd
type: u8
-
name: gate-mask
type: u32
-
name: interval
type: u32
-
name: taprio-tc-entry-attrs
name-prefix: tca-taprio-tc-entry-
attributes:
-
name: index
type: u32
-
name: max-sdu
type: u32
-
name: fp
type: u32
-
name: tbf-attrs
name-prefix: tca-tbf-
attributes:
-
name: parms
type: binary
struct: tc-tbf-qopt
-
name: rtab
type: binary
-
name: ptab
type: binary
-
name: rate64
type: u64
-
name: prate64
type: u64
-
name: burst
type: u32
-
name: pburst
type: u32
-
name: pad
type: pad
-
name: act-sample-attrs
name-prefix: tca-sample-
header: linux/tc_act/tc_sample.h
attributes:
-
name: tm
type: binary
struct: tcf-t
-
name: parms
type: binary
struct: tc-gact
-
name: rate
type: u32
-
name: trunc-size
type: u32
-
name: psample-group
type: u32
-
name: pad
type: pad
-
name: act-gact-attrs
name-prefix: tca-gact-
header: linux/tc_act/tc_gact.h
attributes:
-
name: tm
type: binary
struct: tcf-t
-
name: parms
type: binary
struct: tc-gact
-
name: prob
type: binary
struct: tc-gact-p
-
name: pad
type: pad
-
name: tca-stab-attrs
name-prefix: tca-stab-
attributes:
-
name: base
type: binary
struct: tc-sizespec
-
name: data
type: binary
-
name: tca-stats-attrs
name-prefix: tca-stats-
header: linux/gen_stats.h
attributes:
-
name: basic
type: binary
struct: gnet-stats-basic
-
name: rate-est
type: binary
struct: gnet-stats-rate-est
-
name: queue
type: binary
struct: gnet-stats-queue
-
name: app
type: sub-message
sub-message: tca-stats-app-msg
selector: kind
-
name: rate-est64
type: binary
struct: gnet-stats-rate-est64
-
name: pad
type: pad
-
name: basic-hw
type: binary
struct: gnet-stats-basic
-
name: pkt64
type: u64
-
name: u32-attrs
name-prefix: tca-u32-
attributes:
-
name: classid
type: u32
-
name: hash
type: u32
-
name: link
type: u32
-
name: divisor
type: u32
-
name: sel
type: binary
struct: tc-u32-sel
-
name: police
type: nest
nested-attributes: police-attrs
-
name: act
type: indexed-array
sub-type: nest
nested-attributes: act-attrs
-
name: indev
type: string
-
name: pcnt
type: binary
struct: tc-u32-pcnt
-
name: mark
type: binary
struct: tc-u32-mark
-
name: flags
type: u32
-
name: pad
type: pad
sub-messages:
-
name: options-msg
formats:
-
value: basic
attribute-set: basic-attrs
-
value: bpf
attribute-set: bpf-attrs
-
value: bfifo
fixed-header: tc-fifo-qopt
-
value: cake
attribute-set: cake-attrs
-
value: cbs
attribute-set: cbs-attrs
-
value: cgroup
attribute-set: cgroup-attrs
-
value: choke
attribute-set: choke-attrs
-
value: clsact # no content
-
value: codel
attribute-set: codel-attrs
-
value: drr
attribute-set: drr-attrs
-
value: dualpi2
attribute-set: dualpi2-attrs
-
value: etf
attribute-set: etf-attrs
-
value: ets
attribute-set: ets-attrs
-
value: flow
attribute-set: flow-attrs
-
value: flower
attribute-set: flower-attrs
-
value: fq
attribute-set: fq-attrs
-
value: fq_codel
attribute-set: fq-codel-attrs
-
value: fq_pie
attribute-set: fq-pie-attrs
-
value: fw
attribute-set: fw-attrs
-
value: gred
attribute-set: gred-attrs
-
value: hfsc
fixed-header: tc-hfsc-qopt
-
value: hhf
attribute-set: hhf-attrs
-
value: htb
attribute-set: htb-attrs
-
value: ingress # no content
-
value: matchall
attribute-set: matchall-attrs
-
value: mq # no content
-
value: mqprio
fixed-header: tc-mqprio-qopt
-
value: multiq
fixed-header: tc-multiq-qopt
-
value: netem
fixed-header: tc-netem-qopt
attribute-set: netem-attrs
-
value: pfifo
fixed-header: tc-fifo-qopt
-
value: pfifo_fast
fixed-header: tc-prio-qopt
-
value: pfifo_head_drop
fixed-header: tc-fifo-qopt
-
value: pie
attribute-set: pie-attrs
-
value: plug
fixed-header: tc-plug-qopt
-
value: prio
fixed-header: tc-prio-qopt
-
value: qfq
attribute-set: qfq-attrs
-
value: red
attribute-set: red-attrs
-
value: route
attribute-set: route-attrs
-
value: sfb
fixed-header: tc-sfb-qopt
-
value: sfq
fixed-header: tc-sfq-qopt-v1
-
value: taprio
attribute-set: taprio-attrs
-
value: tbf
attribute-set: tbf-attrs
-
value: u32
attribute-set: u32-attrs
-
name: act-options-msg
formats:
-
value: bpf
attribute-set: act-bpf-attrs
-
value: connmark
attribute-set: act-connmark-attrs
-
value: csum
attribute-set: act-csum-attrs
-
value: ct
attribute-set: act-ct-attrs
-
value: ctinfo
attribute-set: act-ctinfo-attrs
-
value: gact
attribute-set: act-gact-attrs
-
value: gate
attribute-set: act-gate-attrs
-
value: ife
attribute-set: act-ife-attrs
-
value: mirred
attribute-set: act-mirred-attrs
-
value: mpls
attribute-set: act-mpls-attrs
-
value: nat
attribute-set: act-nat-attrs
-
value: pedit
attribute-set: act-pedit-attrs
-
value: police
attribute-set: police-attrs
-
value: sample
attribute-set: act-sample-attrs
-
value: simple
attribute-set: act-simple-attrs
-
value: skbedit
attribute-set: act-skbedit-attrs
-
value: skbmod
attribute-set: act-skbmod-attrs
-
value: tunnel_key
attribute-set: act-tunnel-key-attrs
-
value: vlan
attribute-set: act-vlan-attrs
-
name: tca-stats-app-msg
formats:
-
value: cake
attribute-set: cake-stats-attrs
-
value: choke
fixed-header: tc-choke-xstats
-
value: codel
fixed-header: tc-codel-xstats
-
value: dualpi2
fixed-header: tc-dualpi2-xstats
-
value: fq
fixed-header: tc-fq-qd-stats
-
value: fq_codel
fixed-header: tc-fq-codel-xstats
-
value: fq_pie
fixed-header: tc-fq-pie-xstats
-
value: hhf
fixed-header: tc-hhf-xstats
-
value: pie
fixed-header: tc-pie-xstats
-
value: red
fixed-header: tc-red-xstats
-
value: sfb
fixed-header: tc-sfb-xstats
-
value: sfq
fixed-header: tc-sfq-xstats
operations:
enum-model: directional
name-prefix: rtm-
list:
-
name: newqdisc
doc: Create new tc qdisc.
attribute-set: attrs
fixed-header: tcmsg
do:
request:
value: 36
attributes: &create-params
- kind
- options
- rate
- chain
- ingress-block
- egress-block
-
name: delqdisc
doc: Delete existing tc qdisc.
attribute-set: attrs
fixed-header: tcmsg
do:
request:
value: 37
-
name: getqdisc
doc: Get / dump tc qdisc information.
attribute-set: attrs
fixed-header: tcmsg
do: &getqdisc-do
request:
value: 38
attributes:
- dump-invisible
reply:
value: 36
attributes: &tc-all
- kind
- options
- stats
- xstats
- rate
- fcnt
- stats2
- stab
- chain
- ingress-block
- egress-block
dump: *getqdisc-do
-
name: newtclass
doc: Get / dump tc traffic class information.
attribute-set: attrs
fixed-header: tcmsg
do:
request:
value: 40
attributes: *create-params
-
name: deltclass
doc: Get / dump tc traffic class information.
attribute-set: attrs
fixed-header: tcmsg
do:
request:
value: 41
-
name: gettclass
doc: Get / dump tc traffic class information.
attribute-set: attrs
fixed-header: tcmsg
do:
request:
value: 42
reply:
value: 40
attributes: *tc-all
-
name: newtfilter
doc: Get / dump tc filter information.
attribute-set: attrs
fixed-header: tcmsg
do:
request:
value: 44
attributes: *create-params
-
name: deltfilter
doc: Get / dump tc filter information.
attribute-set: attrs
fixed-header: tcmsg
do:
request:
value: 45
attributes:
- chain
- kind
-
name: gettfilter
doc: Get / dump tc filter information.
attribute-set: attrs
fixed-header: tcmsg
do:
request:
value: 46
attributes:
- chain
- kind
reply:
value: 44
attributes: *tc-all
dump:
request:
value: 46
attributes:
- chain
- dump-flags
reply:
value: 44
attributes: *tc-all
-
name: newchain
doc: Get / dump tc chain information.
attribute-set: attrs
fixed-header: tcmsg
do:
request:
value: 100
attributes: *create-params
-
name: delchain
doc: Get / dump tc chain information.
attribute-set: attrs
fixed-header: tcmsg
do:
request:
value: 101
attributes:
- chain
-
name: getchain
doc: Get / dump tc chain information.
attribute-set: attrs
fixed-header: tcmsg
do:
request:
value: 102
attributes:
- chain
reply:
value: 100
attributes: *tc-all
mcast-groups:
list:
-
name: rtnlgrp-tc
value: 4