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-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
): probabilty, 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 (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 (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
key-flags-mask (u32
)¶
- byte-order:
big-endian
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-l2-tpv3-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
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
)¶
prate4 (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: