Family tc netlink specification¶
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-hwskip-swin-hwnot-in-nwverbose
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