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-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