linux-yocto/Documentation/netlink/specs/tc.yaml
Jakub Kicinski 33baf6f73a netlink: specs: tc: add qdisc dump to TC spec
Hook TC qdisc dump in the TC qdisc get, it only supported doit
until now and dumping will be used by the sample code.

Reviewed-by: Donald Hunter <donald.hunter@gmail.com>
Link: https://patch.msgid.link/20250520161916.413298-12-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-05-21 12:38:23 -07:00

4061 lines
75 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: 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-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: 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: 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: 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