Family tc netlink specification¶
Contents
Summary¶
Netlink raw family for tc qdisc, chain, class and filter configuration over rtnetlink.
Operations¶
newqdisc¶
Create new tc qdisc.
- attribute-set
- tc-attrs 
- fixed-header
- tcmsg 
- do
- request
- attributes
- [ - kind,- options,- rate,- chain,- ingress-block,- egress-block]
 
 
delqdisc¶
Delete existing tc qdisc.
- attribute-set
- tc-attrs 
- fixed-header
- tcmsg 
- do
- request 
getqdisc¶
Get / dump tc qdisc information.
- attribute-set
- tc-attrs 
- fixed-header
- tcmsg 
- do
- 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.
- attribute-set
- tc-attrs 
- fixed-header
- tcmsg 
- do
- request
- attributes
- [ - kind,- options,- rate,- chain,- ingress-block,- egress-block]
 
 
deltclass¶
Get / dump tc traffic class information.
- attribute-set
- tc-attrs 
- fixed-header
- tcmsg 
- do
- request 
gettclass¶
Get / dump tc traffic class information.
- attribute-set
- tc-attrs 
- fixed-header
- tcmsg 
- do
- request - reply
- attributes
- [ - kind,- options,- stats,- xstats,- rate,- fcnt,- stats2,- stab,- chain,- ingress-block,- egress-block]
 
 
newtfilter¶
Get / dump tc filter information.
- attribute-set
- tc-attrs 
- fixed-header
- tcmsg 
- do
- request
- attributes
- [ - kind,- options,- rate,- chain,- ingress-block,- egress-block]
 
 
deltfilter¶
Get / dump tc filter information.
- attribute-set
- tc-attrs 
- fixed-header
- tcmsg 
- do
- request
- attributes
- [ - chain,- kind]
 
 
gettfilter¶
Get / dump tc filter information.
- attribute-set
- tc-attrs 
- fixed-header
- tcmsg 
- 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.
- attribute-set
- tc-attrs 
- fixed-header
- tcmsg 
- do
- request
- attributes
- [ - kind,- options,- rate,- chain,- ingress-block,- egress-block]
 
 
delchain¶
Get / dump tc chain information.
- attribute-set
- tc-attrs 
- fixed-header
- tcmsg 
- do
- request
- attributes
- [ - chain]
 
 
getchain¶
Get / dump tc chain information.
- attribute-set
- tc-attrs 
- fixed-header
- tcmsg 
- do
- request
- attributes
- [ - chain]
 
- reply
- attributes
- [ - kind,- options,- stats,- xstats,- rate,- fcnt,- stats2,- stab,- chain,- ingress-block,- egress-block]
 
 
Multicast groups¶
- rtnlgrp-tc 
Definitions¶
tcmsg¶
- type
- struct 
- members
- family
- pad
- ifindex
- handle
- parent
- info
 
tc-cls-flags¶
- type
- flags 
- entries
- skip-hw
- skip-sw
- in-hw
- not-in-nw
- verbose
 
tc-stats¶
- type
- struct 
- members
- bytes
- packets
- drops
- overlimits
- bps
- pps
- qlen
- backlog
 
tc-cbs-qopt¶
- type
- struct 
- members
- offload
- pad
- hicredit
- locredit
- idleslope
- sendslope
 
tc-etf-qopt¶
- type
- struct 
- members
- delta
- clockid
- flags
 
tc-fifo-qopt¶
- type
- struct 
- members
- limit
 
tc-htb-opt¶
- type
- struct 
- members
- rate
- ceil
- buffer
- cbuffer
- quantum
- level
- prio
 
tc-htb-glob¶
- type
- struct 
- members
- version
- rate2quantum
- defcls
- debug
- direct-pkts
 
tc-gred-qopt¶
- type
- struct 
- members
- limit
- qth-min
- qth-max
- DP
- backlog
- qave
- forced
- early
- other
- pdrop
- Wlog
- Plog
- Scell_log
- prio
- packets
- bytesin
 
tc-gred-sopt¶
- type
- struct 
- members
- DPs
- def_DP
- grio
- flags
- pad
 
tc-hfsc-qopt¶
- type
- struct 
- members
- defcls
 
tc-mqprio-qopt¶
- type
- struct 
- members
- num-tc
- prio-tc-map
- hw
- count
- offset
 
tc-multiq-qopt¶
- type
- struct 
- members
- bands
- max-bands
 
tc-netem-qopt¶
- type
- struct 
- members
- latency
- limit
- loss
- gap
- duplicate
- jitter
 
tc-plug-qopt¶
- type
- struct 
- members
- action
- limit
 
tc-prio-qopt¶
- type
- struct 
- members
- bands
- priomap
 
tc-red-qopt¶
- type
- struct 
- members
- limit
- qth-min
- qth-max
- Wlog
- Plog
- Scell-log
- flags
 
tc-sfb-qopt¶
- type
- struct 
- members
- rehash-interval
- warmup-time
- max
- bin-size
- increment
- decrement
- limit
- penalty-rate
- penalty-burst
 
tc-sfq-qopt-v1¶
- type
- struct 
- members
- quantum
- perturb-period
- limit
- divisor
- flows
- depth
- headdrop
- limit
- qth-min
- qth-mac
- Wlog
- Plog
- Scell-log
- flags
- max-P
- prob-drop
- forced-drop
- prob-mark
- forced-mark
- prob-mark-head
- forced-mark-head
 
tc-tbf-qopt¶
- type
- struct 
- members
- rate
- peakrate
- limit
- buffer
- mtu
 
tc-sizespec¶
- type
- struct 
- members
- cell-log
- size-log
- cell-align
- overhead
- linklayer
- mpu
- mtu
- tsize
 
gnet-estimator¶
- type
- struct 
- members
- interval
- ewma-log
 
Attribute sets¶
tc-attrs¶
kind (string)¶
options (sub-message)¶
- sub-message
- tc-options-msg 
- selector
- kind 
stats (binary)¶
- struct
- tc-stats 
xstats (binary)¶
rate (binary)¶
- struct
- gnet-estimator 
fcnt (u32)¶
stats2 (nest)¶
- nested-attributes
- tca-stats-attrs 
stab (nest)¶
- nested-attributes
- tca-stab-attrs 
pad (pad)¶
dump-invisible (flag)¶
chain (u32)¶
hw-offload (u8)¶
ingress-block (u32)¶
egress-block (u32)¶
dump-flags (bitfield32)¶
ext-warn-msg (string)¶
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 (binary)¶
deficit (s32)¶
cobalt-count (u32)¶
dropping (u32)¶
drop-next-us (s32)¶
p-drop (u32)¶
blue-timer-us (s32)¶
tc-cbs-attrs¶
parms (binary)¶
- struct
- tc-cbs-qopt 
tc-choke-attrs¶
parms (binary)¶
- struct
- tc-red-qopt 
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-flower-attrs¶
classid (u32)¶
indev (string)¶
act (array-nest)¶
- nested-attributes
- tc-act-attrs 
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
- tc-cls-flags 
- 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)¶
key-arp-sha-mask (binary)¶
key-arp-tha (binary)¶
key-arp-tha-mask (binary)¶
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 (binary)¶
key-enc-opts-mask (binary)¶
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 (binary)¶
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 
tc-gred-attrs¶
parms (binary)¶
stab (binary)¶
- sub-type
- u8 
dps (binary)¶
- struct
- tc-gred-sopt 
max-p (binary)¶
- sub-type
- u32 
limit (u32)¶
vq-list (nest)¶
- nested-attributes
- tca-gred-vq-list-attrs 
tca-gred-vq-list-attrs¶
entry (nest)¶
- nested-attributes
- tca-gred-vq-entry-attrs 
- multi-attr
- True 
tca-gred-vq-entry-attrs¶
pad (pad)¶
dp (u32)¶
stat-bytes (u32)¶
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
- tc-htb-opt 
init (binary)¶
- struct
- tc-htb-glob 
ctab (binary)¶
rtab (binary)¶
direct-qlen (u32)¶
rate64 (u64)¶
ceil64 (u64)¶
pad (pad)¶
offload (flag)¶
tc-act-attrs¶
kind (string)¶
options (sub-message)¶
- sub-message
- tc-act-options-msg 
- selector
- kind 
index (u32)¶
stats (binary)¶
pad (pad)¶
flags (bitfield32)¶
hw-stats (bitfield32)¶
used-hw-stats (bitfield32)¶
in-hw-count (u32)¶
tc-etf-attrs¶
parms (binary)¶
- struct
- tc-etf-qopt 
tc-ets-attrs¶
nbands (u8)¶
nstrict (u8)¶
quanta (nest)¶
- nested-attributes
- tc-ets-attrs 
quanta-band (u32)¶
- multi-attr
- True 
priomap (nest)¶
- nested-attributes
- tc-ets-attrs 
priomap-band (u8)¶
- multi-attr
- True 
tc-fq-attrs¶
plimit (u32)¶
flow-plimit (u32)¶
quantum (u32)¶
initial-quantum (u32)¶
rate-enable (u32)¶
flow-default-rate (u32)¶
flow-max-rate (u32)¶
buckets-log (u32)¶
flow-refill-delay (u32)¶
orphan-mask (u32)¶
low-rate-threshold (u32)¶
ce-threshold (u32)¶
timer-slack (u32)¶
horizon (u32)¶
horizon-drop (u8)¶
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)¶
delay-dist (binary)¶
- sub-type
- s16 
reorder (binary)¶
corrupt (binary)¶
loss (binary)¶
rate (binary)¶
ecn (u32)¶
rate64 (u64)¶
pad (u32)¶
latency64 (s64)¶
jitter64 (s64)¶
slot (binary)¶
slot-dist (binary)¶
- sub-type
- s16 
tc-pie-attrs¶
target (u32)¶
limit (u32)¶
tupdate (u32)¶
alpha (u32)¶
beta (u32)¶
ecn (u32)¶
bytemode (u32)¶
dq-rate-estimator (u32)¶
tc-qfq-attrs¶
weight (u32)¶
lmax (u32)¶
tc-red-attrs¶
parms (binary)¶
- struct
- tc-red-qopt 
stab (binary)¶
max-p (u32)¶
flags (binary)¶
early-drop-block (u32)¶
mark-block (u32)¶
tc-taprio-attrs¶
priomap (binary)¶
- struct
- tc-mqprio-qopt 
sched-entry-list (nest)¶
- nested-attributes
- tc-taprio-sched-entry-list 
sched-base-time (s64)¶
sched-single-entry (nest)¶
- nested-attributes
- tc-taprio-sched-entry 
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-tc-entry-attrs 
tc-taprio-sched-entry-list¶
entry (nest)¶
- nested-attributes
- tc-taprio-sched-entry 
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
- tc-tbf-qopt 
rtab (binary)¶
ptab (binary)¶
rate64 (u64)¶
prate4 (u64)¶
burst (u32)¶
pburst (u32)¶
pad (pad)¶
tca-gact-attrs¶
tm (binary)¶
parms (binary)¶
prob (binary)¶
pad (pad)¶
tca-stab-attrs¶
base (binary)¶
- struct
- tc-sizespec 
data (binary)¶
tca-stats-attrs¶
basic (binary)¶
rate-est (binary)¶
queue (binary)¶
app (binary)¶
- sub-message
- tca-stats-app-msg 
- selector
- kind 
rate-est64 (binary)¶
pad (pad)¶
basic-hw (binary)¶
pkt64 (binary)¶
Sub-messages¶
tc-options-msg¶
- bfifo
- fixed-header
- tc-fifo-qopt 
 
 
- cake
- attribute-set
- tc-cake-attrs 
 
 
- cbs
- attribute-set
- tc-cbs-attrs 
 
 
- choke
- attribute-set
- tc-choke-attrs 
 
 
- clsact 
- codel
- attribute-set
- tc-codel-attrs 
 
 
- drr
- attribute-set
- tc-drr-attrs 
 
 
- etf
- attribute-set
- tc-etf-attrs 
 
 
- ets
- attribute-set
- tc-ets-attrs 
 
 
- fq
- attribute-set
- tc-fq-attrs 
 
 
- fq_codel
- attribute-set
- tc-fq-codel-attrs 
 
 
- fq_pie
- attribute-set
- tc-fq-pie-attrs 
 
 
- flower
- attribute-set
- tc-flower-attrs 
 
 
- gred
- attribute-set
- tc-gred-attrs 
 
 
- hfsc
- fixed-header
- tc-hfsc-qopt 
 
 
- hhf
- attribute-set
- tc-hhf-attrs 
 
 
- htb
- attribute-set
- tc-htb-attrs 
 
 
- ingress 
- mq 
- mqprio
- fixed-header
- tc-mqprio-qopt 
 
 
- multiq
- fixed-header
- tc-multiq-qopt 
 
 
- netem
- fixed-header
- tc-netem-qopt 
- attribute-set
- tc-netem-attrs 
 
 
- pfifo
- fixed-header
- tc-fifo-qopt 
 
 
- pfifo_fast
- fixed-header
- tc-prio-qopt 
 
 
- pfifo_head_drop
- fixed-header
- tc-fifo-qopt 
 
 
- pie
- attribute-set
- tc-pie-attrs 
 
 
- plug
- fixed-header
- tc-plug-qopt 
 
 
- prio
- fixed-header
- tc-prio-qopt 
 
 
- qfq
- attribute-set
- tc-qfq-attrs 
 
 
- red
- attribute-set
- tc-red-attrs 
 
 
- sfb
- fixed-header
- tc-sfb-qopt 
 
 
- sfq
- fixed-header
- tc-sfq-qopt-v1 
 
 
- taprio
- attribute-set
- tc-taprio-attrs 
 
 
- tbf
- attribute-set
- tc-tbf-attrs 
 
 
tc-act-options-msg¶
- gact
- attribute-set
- tca-gact-attrs 
 
 
tca-stats-app-msg¶
- bfifo 
- blackhole 
- cake
- attribute-set
- tc-cake-stats-attrs 
 
 
- cbs 
- choke 
- clsact 
- codel 
- drr 
- etf 
- ets 
- fq 
- fq_codel 
- fq_pie 
- flower 
- gred 
- hfsc 
- hhf 
- htb 
- ingress 
- mq 
- mqprio 
- multiq 
- netem 
- noqueue 
- pfifo 
- pfifo_fast 
- pfifo_head_drop 
- pie 
- plug 
- prio 
- qfq 
- red 
- sfb 
- sfq 
- taprio 
- tbf