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.
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 
- members:
- family (u8):
- ifindex (s32):
- handle (u32):
- parent (u32):
- info (u32):
 
- family (
tc-cls-flags¶
- type:
- flags 
- entries:
- skip-hw
- skip-sw
- in-hw
- not-in-nw
- verbose
 
tc-flower-key-ctrl-flags¶
- type:
- flags 
- entries:
- frag
- firstfrag
- tuncsum
- tundf
- tunoam
- tuncrit
 
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 
- 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-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-gen¶
- 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¶
tc-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)¶
tc-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)¶
tc-act-stats-attrs¶
basic (binary)¶
- struct:
rate-est (binary)¶
- struct:
queue (binary)¶
- struct:
app (binary)¶
rate-est64 (binary)¶
- struct:
pad (pad)¶
basic-hw (binary)¶
- struct:
pkt64 (u64)¶
tc-act-bpf-attrs¶
tm (binary)¶
- struct:
parms (binary)¶
ops-len (u16)¶
ops (binary)¶
fd (u32)¶
name (string)¶
pad (pad)¶
tag (binary)¶
id (binary)¶
tc-act-connmark-attrs¶
parms (binary)¶
tm (binary)¶
- struct:
pad (pad)¶
tc-act-csum-attrs¶
parms (binary)¶
tm (binary)¶
- struct:
pad (pad)¶
tc-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)¶
tc-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)¶
tc-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)¶
tc-act-ife-attrs¶
parms (binary)¶
tm (binary)¶
- struct:
dmac (binary)¶
smac (binary)¶
type (u16)¶
metalst (binary)¶
pad (pad)¶
tc-act-mirred-attrs¶
tm (binary)¶
- struct:
parms (binary)¶
pad (pad)¶
blockid (binary)¶
tc-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)¶
tc-act-nat-attrs¶
parms (binary)¶
tm (binary)¶
- struct:
pad (pad)¶
tc-act-pedit-attrs¶
tm (binary)¶
- struct:
parms (binary)¶
- struct:
pad (pad)¶
parms-ex (binary)¶
keys-ex (binary)¶
key-ex (binary)¶
tc-act-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)¶
tc-act-simple-attrs¶
tm (binary)¶
- struct:
parms (binary)¶
data (binary)¶
pad (pad)¶
tc-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)¶
tc-act-skbmod-attrs¶
tm (binary)¶
- struct:
parms (binary)¶
dmac (binary)¶
smac (binary)¶
etype (binary)¶
pad (pad)¶
tc-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)¶
tc-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)¶
tc-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)¶
tc-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)¶
tc-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)¶
tc-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)¶
tc-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)¶
tc-cbs-attrs¶
parms (binary)¶
- struct:
tc-cgroup-attrs¶
act (indexed-array)¶
- sub-type:
- nest 
- nested-attributes:
police (nest)¶
- nested-attributes:
ematches (binary)¶
tc-choke-attrs¶
parms (binary)¶
- struct:
stab (binary)¶
max-p (u32)¶
tc-codel-attrs¶
target (u32)¶
limit (u32)¶
interval (u32)¶
ecn (u32)¶
ce-threshold (u32)¶
tc-drr-attrs¶
quantum (u32)¶
tc-ematch-attrs¶
tree-hdr (binary)¶
- struct:
tree-list (binary)¶
tc-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)¶
tc-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 
tc-flower-key-enc-opts-attrs¶
geneve (nest)¶
- nested-attributes:
vxlan (nest)¶
- nested-attributes:
erspan (nest)¶
- nested-attributes:
gtp (nest)¶
- nested-attributes:
tc-flower-key-enc-opt-geneve-attrs¶
class (u16)¶
type (u8)¶
data (binary)¶
tc-flower-key-enc-opt-vxlan-attrs¶
gbp (u32)¶
tc-flower-key-enc-opt-erspan-attrs¶
ver (u8)¶
index (u32)¶
dir (u8)¶
hwid (u8)¶
tc-flower-key-enc-opt-gtp-attrs¶
pdu-type (u8)¶
qfi (u8)¶
tc-flower-key-mpls-opt-attrs¶
lse-depth (u8)¶
lse-ttl (u8)¶
lse-bos (u8)¶
lse-tc (u8)¶
lse-label (u32)¶
tc-flower-key-cfm-attrs¶
md-level (u8)¶
opcode (u8)¶
tc-fw-attrs¶
classid (u32)¶
police (nest)¶
- nested-attributes:
indev (string)¶
act (indexed-array)¶
- sub-type:
- nest 
- nested-attributes:
mask (u32)¶
tc-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)¶
tc-hfsc-attrs¶
rsc (binary)¶
fsc (binary)¶
usc (binary)¶
tc-hhf-attrs¶
backlog-limit (u32)¶
quantum (u32)¶
hh-flows-limit (u32)¶
reset-timeout (u32)¶
admit-bytes (u32)¶
evict-timeout (u32)¶
non-hh-weight (u32)¶
tc-htb-attrs¶
parms (binary)¶
- struct:
init (binary)¶
- struct:
ctab (binary)¶
rtab (binary)¶
direct-qlen (u32)¶
rate64 (u64)¶
ceil64 (u64)¶
pad (pad)¶
offload (flag)¶
tc-matchall-attrs¶
classid (u32)¶
act (indexed-array)¶
- sub-type:
- nest 
- nested-attributes:
flags (u32)¶
pcnt (binary)¶
- struct:
pad (pad)¶
tc-etf-attrs¶
parms (binary)¶
- struct:
tc-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 
tc-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 
tc-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)¶
tc-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)¶
tc-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)¶
tc-netem-loss-attrs¶
gi (binary)¶
- doc:
- General Intuitive - 4 state model 
- struct:
ge (binary)¶
- doc:
- Gilbert Elliot models 
- struct:
tc-pie-attrs¶
target (u32)¶
limit (u32)¶
tupdate (u32)¶
alpha (u32)¶
beta (u32)¶
ecn (u32)¶
bytemode (u32)¶
dq-rate-estimator (u32)¶
tc-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)¶
tc-qfq-attrs¶
weight (u32)¶
lmax (u32)¶
tc-red-attrs¶
parms (binary)¶
- struct:
stab (binary)¶
max-p (u32)¶
flags (bitfield32)¶
early-drop-block (u32)¶
mark-block (u32)¶
tc-route-attrs¶
classid (u32)¶
to (u32)¶
from (u32)¶
iif (u32)¶
police (nest)¶
- nested-attributes:
act (indexed-array)¶
- sub-type:
- nest 
- nested-attributes:
tc-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:
tc-taprio-sched-entry-list¶
entry (nest)¶
- nested-attributes:
- multi-attr:
- True 
tc-taprio-sched-entry¶
index (u32)¶
cmd (u8)¶
gate-mask (u32)¶
interval (u32)¶
tc-taprio-tc-entry-attrs¶
index (u32)¶
max-sdu (u32)¶
fp (u32)¶
tc-tbf-attrs¶
parms (binary)¶
- struct:
rtab (binary)¶
ptab (binary)¶
rate64 (u64)¶
prate64 (u64)¶
burst (u32)¶
pburst (u32)¶
pad (pad)¶
tc-act-sample-attrs¶
tm (binary)¶
- struct:
parms (binary)¶
- struct:
rate (u32)¶
trunc-size (u32)¶
psample-group (u32)¶
pad (pad)¶
tc-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)¶
tc-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¶
tc-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:
 
 
- 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:
 
 
tc-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:
 
 
- 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: