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