2031 lines
36 KiB
YAML
2031 lines
36 KiB
YAML
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
|
|
|
name: tc
|
|
protocol: netlink-raw
|
|
protonum: 0
|
|
|
|
doc:
|
|
Netlink raw family for tc qdisc, chain, class and filter configuration
|
|
over rtnetlink.
|
|
|
|
definitions:
|
|
-
|
|
name: tcmsg
|
|
type: struct
|
|
members:
|
|
-
|
|
name: family
|
|
type: u8
|
|
-
|
|
name: pad
|
|
type: pad
|
|
len: 3
|
|
-
|
|
name: ifindex
|
|
type: s32
|
|
-
|
|
name: handle
|
|
type: u32
|
|
-
|
|
name: parent
|
|
type: u32
|
|
-
|
|
name: info
|
|
type: u32
|
|
-
|
|
name: tc-cls-flags
|
|
type: flags
|
|
entries:
|
|
- skip-hw
|
|
- skip-sw
|
|
- in-hw
|
|
- not-in-nw
|
|
- verbose
|
|
-
|
|
name: tc-stats
|
|
type: struct
|
|
members:
|
|
-
|
|
name: bytes
|
|
type: u64
|
|
-
|
|
name: packets
|
|
type: u32
|
|
-
|
|
name: drops
|
|
type: u32
|
|
-
|
|
name: overlimits
|
|
type: u32
|
|
-
|
|
name: bps
|
|
type: u32
|
|
-
|
|
name: pps
|
|
type: u32
|
|
-
|
|
name: qlen
|
|
type: u32
|
|
-
|
|
name: backlog
|
|
type: u32
|
|
-
|
|
name: tc-cbs-qopt
|
|
type: struct
|
|
members:
|
|
-
|
|
name: offload
|
|
type: u8
|
|
-
|
|
name: pad
|
|
type: pad
|
|
len: 3
|
|
-
|
|
name: hicredit
|
|
type: s32
|
|
-
|
|
name: locredit
|
|
type: s32
|
|
-
|
|
name: idleslope
|
|
type: s32
|
|
-
|
|
name: sendslope
|
|
type: s32
|
|
-
|
|
name: tc-etf-qopt
|
|
type: struct
|
|
members:
|
|
-
|
|
name: delta
|
|
type: s32
|
|
-
|
|
name: clockid
|
|
type: s32
|
|
-
|
|
name: flags
|
|
type: s32
|
|
-
|
|
name: tc-fifo-qopt
|
|
type: struct
|
|
members:
|
|
-
|
|
name: limit
|
|
type: u32
|
|
-
|
|
name: tc-htb-opt
|
|
type: struct
|
|
members:
|
|
-
|
|
name: rate
|
|
type: binary
|
|
len: 12
|
|
-
|
|
name: ceil
|
|
type: binary
|
|
len: 12
|
|
-
|
|
name: buffer
|
|
type: u32
|
|
-
|
|
name: cbuffer
|
|
type: u32
|
|
-
|
|
name: quantum
|
|
type: u32
|
|
-
|
|
name: level
|
|
type: u32
|
|
-
|
|
name: prio
|
|
type: u32
|
|
-
|
|
name: tc-htb-glob
|
|
type: struct
|
|
members:
|
|
-
|
|
name: version
|
|
type: u32
|
|
-
|
|
name: rate2quantum
|
|
type: u32
|
|
-
|
|
name: defcls
|
|
type: u32
|
|
-
|
|
name: debug
|
|
type: u32
|
|
-
|
|
name: direct-pkts
|
|
type: u32
|
|
-
|
|
name: tc-gred-qopt
|
|
type: struct
|
|
members:
|
|
-
|
|
name: limit
|
|
type: u32
|
|
-
|
|
name: qth-min
|
|
type: u32
|
|
-
|
|
name: qth-max
|
|
type: u32
|
|
-
|
|
name: DP
|
|
type: u32
|
|
-
|
|
name: backlog
|
|
type: u32
|
|
-
|
|
name: qave
|
|
type: u32
|
|
-
|
|
name: forced
|
|
type: u32
|
|
-
|
|
name: early
|
|
type: u32
|
|
-
|
|
name: other
|
|
type: u32
|
|
-
|
|
name: pdrop
|
|
type: u32
|
|
-
|
|
name: Wlog
|
|
type: u8
|
|
-
|
|
name: Plog
|
|
type: u8
|
|
-
|
|
name: Scell_log
|
|
type: u8
|
|
-
|
|
name: prio
|
|
type: u8
|
|
-
|
|
name: packets
|
|
type: u32
|
|
-
|
|
name: bytesin
|
|
type: u32
|
|
-
|
|
name: tc-gred-sopt
|
|
type: struct
|
|
members:
|
|
-
|
|
name: DPs
|
|
type: u32
|
|
-
|
|
name: def_DP
|
|
type: u32
|
|
-
|
|
name: grio
|
|
type: u8
|
|
-
|
|
name: flags
|
|
type: u8
|
|
-
|
|
name: pad
|
|
type: pad
|
|
len: 2
|
|
-
|
|
name: tc-hfsc-qopt
|
|
type: struct
|
|
members:
|
|
-
|
|
name: defcls
|
|
type: u16
|
|
-
|
|
name: tc-mqprio-qopt
|
|
type: struct
|
|
members:
|
|
-
|
|
name: num-tc
|
|
type: u8
|
|
-
|
|
name: prio-tc-map
|
|
type: binary
|
|
len: 16
|
|
-
|
|
name: hw
|
|
type: u8
|
|
-
|
|
name: count
|
|
type: binary
|
|
len: 32
|
|
-
|
|
name: offset
|
|
type: binary
|
|
len: 32
|
|
-
|
|
name: tc-multiq-qopt
|
|
type: struct
|
|
members:
|
|
-
|
|
name: bands
|
|
type: u16
|
|
-
|
|
name: max-bands
|
|
type: u16
|
|
-
|
|
name: tc-netem-qopt
|
|
type: struct
|
|
members:
|
|
-
|
|
name: latency
|
|
type: u32
|
|
-
|
|
name: limit
|
|
type: u32
|
|
-
|
|
name: loss
|
|
type: u32
|
|
-
|
|
name: gap
|
|
type: u32
|
|
-
|
|
name: duplicate
|
|
type: u32
|
|
-
|
|
name: jitter
|
|
type: u32
|
|
-
|
|
name: tc-plug-qopt
|
|
type: struct
|
|
members:
|
|
-
|
|
name: action
|
|
type: s32
|
|
-
|
|
name: limit
|
|
type: u32
|
|
-
|
|
name: tc-prio-qopt
|
|
type: struct
|
|
members:
|
|
-
|
|
name: bands
|
|
type: u16
|
|
-
|
|
name: priomap
|
|
type: binary
|
|
len: 16
|
|
-
|
|
name: tc-red-qopt
|
|
type: struct
|
|
members:
|
|
-
|
|
name: limit
|
|
type: u32
|
|
-
|
|
name: qth-min
|
|
type: u32
|
|
-
|
|
name: qth-max
|
|
type: u32
|
|
-
|
|
name: Wlog
|
|
type: u8
|
|
-
|
|
name: Plog
|
|
type: u8
|
|
-
|
|
name: Scell-log
|
|
type: u8
|
|
-
|
|
name: flags
|
|
type: u8
|
|
-
|
|
name: tc-sfb-qopt
|
|
type: struct
|
|
members:
|
|
-
|
|
name: rehash-interval
|
|
type: u32
|
|
-
|
|
name: warmup-time
|
|
type: u32
|
|
-
|
|
name: max
|
|
type: u32
|
|
-
|
|
name: bin-size
|
|
type: u32
|
|
-
|
|
name: increment
|
|
type: u32
|
|
-
|
|
name: decrement
|
|
type: u32
|
|
-
|
|
name: limit
|
|
type: u32
|
|
-
|
|
name: penalty-rate
|
|
type: u32
|
|
-
|
|
name: penalty-burst
|
|
type: u32
|
|
-
|
|
name: tc-sfq-qopt-v1 # TODO nested structs
|
|
type: struct
|
|
members:
|
|
-
|
|
name: quantum
|
|
type: u32
|
|
-
|
|
name: perturb-period
|
|
type: s32
|
|
-
|
|
name: limit
|
|
type: u32
|
|
-
|
|
name: divisor
|
|
type: u32
|
|
-
|
|
name: flows
|
|
type: u32
|
|
-
|
|
name: depth
|
|
type: u32
|
|
-
|
|
name: headdrop
|
|
type: u32
|
|
-
|
|
name: limit
|
|
type: u32
|
|
-
|
|
name: qth-min
|
|
type: u32
|
|
-
|
|
name: qth-mac
|
|
type: u32
|
|
-
|
|
name: Wlog
|
|
type: u8
|
|
-
|
|
name: Plog
|
|
type: u8
|
|
-
|
|
name: Scell-log
|
|
type: u8
|
|
-
|
|
name: flags
|
|
type: u8
|
|
-
|
|
name: max-P
|
|
type: u32
|
|
-
|
|
name: prob-drop
|
|
type: u32
|
|
-
|
|
name: forced-drop
|
|
type: u32
|
|
-
|
|
name: prob-mark
|
|
type: u32
|
|
-
|
|
name: forced-mark
|
|
type: u32
|
|
-
|
|
name: prob-mark-head
|
|
type: u32
|
|
-
|
|
name: forced-mark-head
|
|
type: u32
|
|
-
|
|
name: tc-tbf-qopt
|
|
type: struct
|
|
members:
|
|
-
|
|
name: rate
|
|
type: binary # TODO nested struct tc_ratespec
|
|
len: 12
|
|
-
|
|
name: peakrate
|
|
type: binary # TODO nested struct tc_ratespec
|
|
len: 12
|
|
-
|
|
name: limit
|
|
type: u32
|
|
-
|
|
name: buffer
|
|
type: u32
|
|
-
|
|
name: mtu
|
|
type: u32
|
|
-
|
|
name: tc-sizespec
|
|
type: struct
|
|
members:
|
|
-
|
|
name: cell-log
|
|
type: u8
|
|
-
|
|
name: size-log
|
|
type: u8
|
|
-
|
|
name: cell-align
|
|
type: s16
|
|
-
|
|
name: overhead
|
|
type: s32
|
|
-
|
|
name: linklayer
|
|
type: u32
|
|
-
|
|
name: mpu
|
|
type: u32
|
|
-
|
|
name: mtu
|
|
type: u32
|
|
-
|
|
name: tsize
|
|
type: u32
|
|
-
|
|
name: gnet-estimator
|
|
type: struct
|
|
members:
|
|
-
|
|
name: interval
|
|
type: s8
|
|
-
|
|
name: ewma-log
|
|
type: u8
|
|
attribute-sets:
|
|
-
|
|
name: tc-attrs
|
|
attributes:
|
|
-
|
|
name: kind
|
|
type: string
|
|
-
|
|
name: options
|
|
type: sub-message
|
|
sub-message: tc-options-msg
|
|
selector: kind
|
|
-
|
|
name: stats
|
|
type: binary
|
|
struct: tc-stats
|
|
-
|
|
name: xstats
|
|
type: binary
|
|
-
|
|
name: rate
|
|
type: binary
|
|
struct: gnet-estimator
|
|
-
|
|
name: fcnt
|
|
type: u32
|
|
-
|
|
name: stats2
|
|
type: nest
|
|
nested-attributes: tca-stats-attrs
|
|
-
|
|
name: stab
|
|
type: nest
|
|
nested-attributes: tca-stab-attrs
|
|
-
|
|
name: pad
|
|
type: pad
|
|
-
|
|
name: dump-invisible
|
|
type: flag
|
|
-
|
|
name: chain
|
|
type: u32
|
|
-
|
|
name: hw-offload
|
|
type: u8
|
|
-
|
|
name: ingress-block
|
|
type: u32
|
|
-
|
|
name: egress-block
|
|
type: u32
|
|
-
|
|
name: dump-flags
|
|
type: bitfield32
|
|
-
|
|
name: ext-warn-msg
|
|
type: string
|
|
-
|
|
name: tc-cake-attrs
|
|
attributes:
|
|
-
|
|
name: pad
|
|
type: pad
|
|
-
|
|
name: base-rate64
|
|
type: u64
|
|
-
|
|
name: diffserv-mode
|
|
type: u32
|
|
-
|
|
name: atm
|
|
type: u32
|
|
-
|
|
name: flow-mode
|
|
type: u32
|
|
-
|
|
name: overhead
|
|
type: u32
|
|
-
|
|
name: rtt
|
|
type: u32
|
|
-
|
|
name: target
|
|
type: u32
|
|
-
|
|
name: autorate
|
|
type: u32
|
|
-
|
|
name: memory
|
|
type: u32
|
|
-
|
|
name: nat
|
|
type: u32
|
|
-
|
|
name: raw
|
|
type: u32
|
|
-
|
|
name: wash
|
|
type: u32
|
|
-
|
|
name: mpu
|
|
type: u32
|
|
-
|
|
name: ingress
|
|
type: u32
|
|
-
|
|
name: ack-filter
|
|
type: u32
|
|
-
|
|
name: split-gso
|
|
type: u32
|
|
-
|
|
name: fwmark
|
|
type: u32
|
|
-
|
|
name: tc-cake-stats-attrs
|
|
attributes:
|
|
-
|
|
name: pad
|
|
type: pad
|
|
-
|
|
name: capacity-estimate64
|
|
type: u64
|
|
-
|
|
name: memory-limit
|
|
type: u32
|
|
-
|
|
name: memory-used
|
|
type: u32
|
|
-
|
|
name: avg-netoff
|
|
type: u32
|
|
-
|
|
name: min-netlen
|
|
type: u32
|
|
-
|
|
name: max-netlen
|
|
type: u32
|
|
-
|
|
name: min-adjlen
|
|
type: u32
|
|
-
|
|
name: max-adjlen
|
|
type: u32
|
|
-
|
|
name: tin-stats
|
|
type: binary
|
|
-
|
|
name: deficit
|
|
type: s32
|
|
-
|
|
name: cobalt-count
|
|
type: u32
|
|
-
|
|
name: dropping
|
|
type: u32
|
|
-
|
|
name: drop-next-us
|
|
type: s32
|
|
-
|
|
name: p-drop
|
|
type: u32
|
|
-
|
|
name: blue-timer-us
|
|
type: s32
|
|
-
|
|
name: tc-cbs-attrs
|
|
attributes:
|
|
-
|
|
name: parms
|
|
type: binary
|
|
struct: tc-cbs-qopt
|
|
-
|
|
name: tc-choke-attrs
|
|
attributes:
|
|
-
|
|
name: parms
|
|
type: binary
|
|
struct: tc-red-qopt
|
|
-
|
|
name: stab
|
|
type: binary
|
|
-
|
|
name: max-p
|
|
type: u32
|
|
-
|
|
name: tc-codel-attrs
|
|
attributes:
|
|
-
|
|
name: target
|
|
type: u32
|
|
-
|
|
name: limit
|
|
type: u32
|
|
-
|
|
name: interval
|
|
type: u32
|
|
-
|
|
name: ecn
|
|
type: u32
|
|
-
|
|
name: ce-threshold
|
|
type: u32
|
|
-
|
|
name: tc-drr-attrs
|
|
attributes:
|
|
-
|
|
name: quantum
|
|
type: u32
|
|
-
|
|
name: tc-flower-attrs
|
|
attributes:
|
|
-
|
|
name: classid
|
|
type: u32
|
|
-
|
|
name: indev
|
|
type: string
|
|
-
|
|
name: act
|
|
type: array-nest
|
|
nested-attributes: tc-act-attrs
|
|
-
|
|
name: key-eth-dst
|
|
type: binary
|
|
display-hint: mac
|
|
-
|
|
name: key-eth-dst-mask
|
|
type: binary
|
|
display-hint: mac
|
|
-
|
|
name: key-eth-src
|
|
type: binary
|
|
display-hint: mac
|
|
-
|
|
name: key-eth-src-mask
|
|
type: binary
|
|
display-hint: mac
|
|
-
|
|
name: key-eth-type
|
|
type: u16
|
|
byte-order: big-endian
|
|
-
|
|
name: key-ip-proto
|
|
type: u8
|
|
-
|
|
name: key-ipv4-src
|
|
type: u32
|
|
byte-order: big-endian
|
|
display-hint: ipv4
|
|
-
|
|
name: key-ipv4-src-mask
|
|
type: u32
|
|
byte-order: big-endian
|
|
display-hint: ipv4
|
|
-
|
|
name: key-ipv4-dst
|
|
type: u32
|
|
byte-order: big-endian
|
|
display-hint: ipv4
|
|
-
|
|
name: key-ipv4-dst-mask
|
|
type: u32
|
|
byte-order: big-endian
|
|
display-hint: ipv4
|
|
-
|
|
name: key-ipv6-src
|
|
type: binary
|
|
display-hint: ipv6
|
|
-
|
|
name: key-ipv6-src-mask
|
|
type: binary
|
|
display-hint: ipv6
|
|
-
|
|
name: key-ipv6-dst
|
|
type: binary
|
|
display-hint: ipv6
|
|
-
|
|
name: key-ipv6-dst-mask
|
|
type: binary
|
|
display-hint: ipv6
|
|
-
|
|
name: key-tcp-src
|
|
type: u16
|
|
byte-order: big-endian
|
|
-
|
|
name: key-tcp-dst
|
|
type: u16
|
|
byte-order: big-endian
|
|
-
|
|
name: key-udp-src
|
|
type: u16
|
|
byte-order: big-endian
|
|
-
|
|
name: key-udp-dst
|
|
type: u16
|
|
byte-order: big-endian
|
|
-
|
|
name: flags
|
|
type: u32
|
|
enum: tc-cls-flags
|
|
enum-as-flags: true
|
|
-
|
|
name: key-vlan-id
|
|
type: u16
|
|
byte-order: big-endian
|
|
-
|
|
name: key-vlan-prio
|
|
type: u8
|
|
-
|
|
name: key-vlan-eth-type
|
|
type: u16
|
|
byte-order: big-endian
|
|
-
|
|
name: key-enc-key-id
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: key-enc-ipv4-src
|
|
type: u32
|
|
byte-order: big-endian
|
|
display-hint: ipv4
|
|
-
|
|
name: key-enc-ipv4-src-mask
|
|
type: u32
|
|
byte-order: big-endian
|
|
display-hint: ipv4
|
|
-
|
|
name: key-enc-ipv4-dst
|
|
type: u32
|
|
byte-order: big-endian
|
|
display-hint: ipv4
|
|
-
|
|
name: key-enc-ipv4-dst-mask
|
|
type: u32
|
|
byte-order: big-endian
|
|
display-hint: ipv4
|
|
-
|
|
name: key-enc-ipv6-src
|
|
type: binary
|
|
display-hint: ipv6
|
|
-
|
|
name: key-enc-ipv6-src-mask
|
|
type: binary
|
|
display-hint: ipv6
|
|
-
|
|
name: key-enc-ipv6-dst
|
|
type: binary
|
|
display-hint: ipv6
|
|
-
|
|
name: key-enc-ipv6-dst-mask
|
|
type: binary
|
|
display-hint: ipv6
|
|
-
|
|
name: key-tcp-src-mask
|
|
type: u16
|
|
byte-order: big-endian
|
|
-
|
|
name: key-tcp-dst-mask
|
|
type: u16
|
|
byte-order: big-endian
|
|
-
|
|
name: key-udp-src-mask
|
|
type: u16
|
|
byte-order: big-endian
|
|
-
|
|
name: key-udp-dst-mask
|
|
type: u16
|
|
byte-order: big-endian
|
|
-
|
|
name: key-sctp-src-mask
|
|
type: u16
|
|
byte-order: big-endian
|
|
-
|
|
name: key-sctp-dst-mask
|
|
type: u16
|
|
byte-order: big-endian
|
|
-
|
|
name: key-sctp-src
|
|
type: u16
|
|
byte-order: big-endian
|
|
-
|
|
name: key-sctp-dst
|
|
type: u16
|
|
byte-order: big-endian
|
|
-
|
|
name: key-enc-udp-src-port
|
|
type: u16
|
|
byte-order: big-endian
|
|
-
|
|
name: key-enc-udp-src-port-mask
|
|
type: u16
|
|
byte-order: big-endian
|
|
-
|
|
name: key-enc-udp-dst-port
|
|
type: u16
|
|
byte-order: big-endian
|
|
-
|
|
name: key-enc-udp-dst-port-mask
|
|
type: u16
|
|
byte-order: big-endian
|
|
-
|
|
name: key-flags
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: key-flags-mask
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: key-icmpv4-code
|
|
type: u8
|
|
-
|
|
name: key-icmpv4-code-mask
|
|
type: u8
|
|
-
|
|
name: key-icmpv4-type
|
|
type: u8
|
|
-
|
|
name: key-icmpv4-type-mask
|
|
type: u8
|
|
-
|
|
name: key-icmpv6-code
|
|
type: u8
|
|
-
|
|
name: key-icmpv6-code-mask
|
|
type: u8
|
|
-
|
|
name: key-icmpv6-type
|
|
type: u8
|
|
-
|
|
name: key-icmpv6-type-mask
|
|
type: u8
|
|
-
|
|
name: key-arp-sip
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: key-arp-sip-mask
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: key-arp-tip
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: key-arp-tip-mask
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: key-arp-op
|
|
type: u8
|
|
-
|
|
name: key-arp-op-mask
|
|
type: u8
|
|
-
|
|
name: key-arp-sha
|
|
type: binary
|
|
-
|
|
name: key-arp-sha-mask
|
|
type: binary
|
|
-
|
|
name: key-arp-tha
|
|
type: binary
|
|
-
|
|
name: key-arp-tha-mask
|
|
type: binary
|
|
-
|
|
name: key-mpls-ttl
|
|
type: u8
|
|
-
|
|
name: key-mpls-bos
|
|
type: u8
|
|
-
|
|
name: key-mpls-tc
|
|
type: u8
|
|
-
|
|
name: key-mpls-label
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: key-tcp-flags
|
|
type: u16
|
|
byte-order: big-endian
|
|
-
|
|
name: key-tcp-flags-mask
|
|
type: u16
|
|
byte-order: big-endian
|
|
-
|
|
name: key-ip-tos
|
|
type: u8
|
|
-
|
|
name: key-ip-tos-mask
|
|
type: u8
|
|
-
|
|
name: key-ip-ttl
|
|
type: u8
|
|
-
|
|
name: key-ip-ttl-mask
|
|
type: u8
|
|
-
|
|
name: key-cvlan-id
|
|
type: u16
|
|
byte-order: big-endian
|
|
-
|
|
name: key-cvlan-prio
|
|
type: u8
|
|
-
|
|
name: key-cvlan-eth-type
|
|
type: u16
|
|
byte-order: big-endian
|
|
-
|
|
name: key-enc-ip-tos
|
|
type: u8
|
|
-
|
|
name: key-enc-ip-tos-mask
|
|
type: u8
|
|
-
|
|
name: key-enc-ip-ttl
|
|
type: u8
|
|
-
|
|
name: key-enc-ip-ttl-mask
|
|
type: u8
|
|
-
|
|
name: key-enc-opts
|
|
type: binary
|
|
-
|
|
name: key-enc-opts-mask
|
|
type: binary
|
|
-
|
|
name: in-hw-count
|
|
type: u32
|
|
-
|
|
name: key-port-src-min
|
|
type: u16
|
|
byte-order: big-endian
|
|
-
|
|
name: key-port-src-max
|
|
type: u16
|
|
byte-order: big-endian
|
|
-
|
|
name: key-port-dst-min
|
|
type: u16
|
|
byte-order: big-endian
|
|
-
|
|
name: key-port-dst-max
|
|
type: u16
|
|
byte-order: big-endian
|
|
-
|
|
name: key-ct-state
|
|
type: u16
|
|
-
|
|
name: key-ct-state-mask
|
|
type: u16
|
|
-
|
|
name: key-ct-zone
|
|
type: u16
|
|
-
|
|
name: key-ct-zone-mask
|
|
type: u16
|
|
-
|
|
name: key-ct-mark
|
|
type: u32
|
|
-
|
|
name: key-ct-mark-mask
|
|
type: u32
|
|
-
|
|
name: key-ct-labels
|
|
type: binary
|
|
-
|
|
name: key-ct-labels-mask
|
|
type: binary
|
|
-
|
|
name: key-mpls-opts
|
|
type: binary
|
|
-
|
|
name: key-hash
|
|
type: u32
|
|
-
|
|
name: key-hash-mask
|
|
type: u32
|
|
-
|
|
name: key-num-of-vlans
|
|
type: u8
|
|
-
|
|
name: key-pppoe-sid
|
|
type: u16
|
|
byte-order: big-endian
|
|
-
|
|
name: key-ppp-proto
|
|
type: u16
|
|
byte-order: big-endian
|
|
-
|
|
name: key-l2-tpv3-sid
|
|
type: u32
|
|
byte-order: big-endian
|
|
-
|
|
name: tc-gred-attrs
|
|
attributes:
|
|
-
|
|
name: parms
|
|
type: binary # array of struct: tc-gred-qopt
|
|
-
|
|
name: stab
|
|
type: binary
|
|
sub-type: u8
|
|
-
|
|
name: dps
|
|
type: binary
|
|
struct: tc-gred-sopt
|
|
-
|
|
name: max-p
|
|
type: binary
|
|
sub-type: u32
|
|
-
|
|
name: limit
|
|
type: u32
|
|
-
|
|
name: vq-list
|
|
type: nest
|
|
nested-attributes: tca-gred-vq-list-attrs
|
|
-
|
|
name: tca-gred-vq-list-attrs
|
|
attributes:
|
|
-
|
|
name: entry
|
|
type: nest
|
|
nested-attributes: tca-gred-vq-entry-attrs
|
|
multi-attr: true
|
|
-
|
|
name: tca-gred-vq-entry-attrs
|
|
attributes:
|
|
-
|
|
name: pad
|
|
type: pad
|
|
-
|
|
name: dp
|
|
type: u32
|
|
-
|
|
name: stat-bytes
|
|
type: u32
|
|
-
|
|
name: stat-packets
|
|
type: u32
|
|
-
|
|
name: stat-backlog
|
|
type: u32
|
|
-
|
|
name: stat-prob-drop
|
|
type: u32
|
|
-
|
|
name: stat-prob-mark
|
|
type: u32
|
|
-
|
|
name: stat-forced-drop
|
|
type: u32
|
|
-
|
|
name: stat-forced-mark
|
|
type: u32
|
|
-
|
|
name: stat-pdrop
|
|
type: u32
|
|
-
|
|
name: stat-other
|
|
type: u32
|
|
-
|
|
name: flags
|
|
type: u32
|
|
-
|
|
name: tc-hfsc-attrs
|
|
attributes:
|
|
-
|
|
name: rsc
|
|
type: binary
|
|
-
|
|
name: fsc
|
|
type: binary
|
|
-
|
|
name: usc
|
|
type: binary
|
|
-
|
|
name: tc-hhf-attrs
|
|
attributes:
|
|
-
|
|
name: backlog-limit
|
|
type: u32
|
|
-
|
|
name: quantum
|
|
type: u32
|
|
-
|
|
name: hh-flows-limit
|
|
type: u32
|
|
-
|
|
name: reset-timeout
|
|
type: u32
|
|
-
|
|
name: admit-bytes
|
|
type: u32
|
|
-
|
|
name: evict-timeout
|
|
type: u32
|
|
-
|
|
name: non-hh-weight
|
|
type: u32
|
|
-
|
|
name: tc-htb-attrs
|
|
attributes:
|
|
-
|
|
name: parms
|
|
type: binary
|
|
struct: tc-htb-opt
|
|
-
|
|
name: init
|
|
type: binary
|
|
struct: tc-htb-glob
|
|
-
|
|
name: ctab
|
|
type: binary
|
|
-
|
|
name: rtab
|
|
type: binary
|
|
-
|
|
name: direct-qlen
|
|
type: u32
|
|
-
|
|
name: rate64
|
|
type: u64
|
|
-
|
|
name: ceil64
|
|
type: u64
|
|
-
|
|
name: pad
|
|
type: pad
|
|
-
|
|
name: offload
|
|
type: flag
|
|
-
|
|
name: tc-act-attrs
|
|
attributes:
|
|
-
|
|
name: kind
|
|
type: string
|
|
-
|
|
name: options
|
|
type: sub-message
|
|
sub-message: tc-act-options-msg
|
|
selector: kind
|
|
-
|
|
name: index
|
|
type: u32
|
|
-
|
|
name: stats
|
|
type: binary
|
|
-
|
|
name: pad
|
|
type: pad
|
|
-
|
|
name: cookie
|
|
type: binary
|
|
-
|
|
name: flags
|
|
type: bitfield32
|
|
-
|
|
name: hw-stats
|
|
type: bitfield32
|
|
-
|
|
name: used-hw-stats
|
|
type: bitfield32
|
|
-
|
|
name: in-hw-count
|
|
type: u32
|
|
-
|
|
name: tc-etf-attrs
|
|
attributes:
|
|
-
|
|
name: parms
|
|
type: binary
|
|
struct: tc-etf-qopt
|
|
-
|
|
name: tc-ets-attrs
|
|
attributes:
|
|
-
|
|
name: nbands
|
|
type: u8
|
|
-
|
|
name: nstrict
|
|
type: u8
|
|
-
|
|
name: quanta
|
|
type: nest
|
|
nested-attributes: tc-ets-attrs
|
|
-
|
|
name: quanta-band
|
|
type: u32
|
|
multi-attr: true
|
|
-
|
|
name: priomap
|
|
type: nest
|
|
nested-attributes: tc-ets-attrs
|
|
-
|
|
name: priomap-band
|
|
type: u8
|
|
multi-attr: true
|
|
-
|
|
name: tc-fq-attrs
|
|
attributes:
|
|
-
|
|
name: plimit
|
|
type: u32
|
|
-
|
|
name: flow-plimit
|
|
type: u32
|
|
-
|
|
name: quantum
|
|
type: u32
|
|
-
|
|
name: initial-quantum
|
|
type: u32
|
|
-
|
|
name: rate-enable
|
|
type: u32
|
|
-
|
|
name: flow-default-rate
|
|
type: u32
|
|
-
|
|
name: flow-max-rate
|
|
type: u32
|
|
-
|
|
name: buckets-log
|
|
type: u32
|
|
-
|
|
name: flow-refill-delay
|
|
type: u32
|
|
-
|
|
name: orphan-mask
|
|
type: u32
|
|
-
|
|
name: low-rate-threshold
|
|
type: u32
|
|
-
|
|
name: ce-threshold
|
|
type: u32
|
|
-
|
|
name: timer-slack
|
|
type: u32
|
|
-
|
|
name: horizon
|
|
type: u32
|
|
-
|
|
name: horizon-drop
|
|
type: u8
|
|
-
|
|
name: tc-fq-codel-attrs
|
|
attributes:
|
|
-
|
|
name: target
|
|
type: u32
|
|
-
|
|
name: limit
|
|
type: u32
|
|
-
|
|
name: interval
|
|
type: u32
|
|
-
|
|
name: ecn
|
|
type: u32
|
|
-
|
|
name: flows
|
|
type: u32
|
|
-
|
|
name: quantum
|
|
type: u32
|
|
-
|
|
name: ce-threshold
|
|
type: u32
|
|
-
|
|
name: drop-batch-size
|
|
type: u32
|
|
-
|
|
name: memory-limit
|
|
type: u32
|
|
-
|
|
name: ce-threshold-selector
|
|
type: u8
|
|
-
|
|
name: ce-threshold-mask
|
|
type: u8
|
|
-
|
|
name: tc-fq-pie-attrs
|
|
attributes:
|
|
-
|
|
name: limit
|
|
type: u32
|
|
-
|
|
name: flows
|
|
type: u32
|
|
-
|
|
name: target
|
|
type: u32
|
|
-
|
|
name: tupdate
|
|
type: u32
|
|
-
|
|
name: alpha
|
|
type: u32
|
|
-
|
|
name: beta
|
|
type: u32
|
|
-
|
|
name: quantum
|
|
type: u32
|
|
-
|
|
name: memory-limit
|
|
type: u32
|
|
-
|
|
name: ecn-prob
|
|
type: u32
|
|
-
|
|
name: ecn
|
|
type: u32
|
|
-
|
|
name: bytemode
|
|
type: u32
|
|
-
|
|
name: dq-rate-estimator
|
|
type: u32
|
|
-
|
|
name: tc-netem-attrs
|
|
attributes:
|
|
-
|
|
name: corr
|
|
type: binary
|
|
-
|
|
name: delay-dist
|
|
type: binary
|
|
sub-type: s16
|
|
-
|
|
name: reorder
|
|
type: binary
|
|
-
|
|
name: corrupt
|
|
type: binary
|
|
-
|
|
name: loss
|
|
type: binary
|
|
-
|
|
name: rate
|
|
type: binary
|
|
-
|
|
name: ecn
|
|
type: u32
|
|
-
|
|
name: rate64
|
|
type: u64
|
|
-
|
|
name: pad
|
|
type: u32
|
|
-
|
|
name: latency64
|
|
type: s64
|
|
-
|
|
name: jitter64
|
|
type: s64
|
|
-
|
|
name: slot
|
|
type: binary
|
|
-
|
|
name: slot-dist
|
|
type: binary
|
|
sub-type: s16
|
|
-
|
|
name: tc-pie-attrs
|
|
attributes:
|
|
-
|
|
name: target
|
|
type: u32
|
|
-
|
|
name: limit
|
|
type: u32
|
|
-
|
|
name: tupdate
|
|
type: u32
|
|
-
|
|
name: alpha
|
|
type: u32
|
|
-
|
|
name: beta
|
|
type: u32
|
|
-
|
|
name: ecn
|
|
type: u32
|
|
-
|
|
name: bytemode
|
|
type: u32
|
|
-
|
|
name: dq-rate-estimator
|
|
type: u32
|
|
-
|
|
name: tc-qfq-attrs
|
|
attributes:
|
|
-
|
|
name: weight
|
|
type: u32
|
|
-
|
|
name: lmax
|
|
type: u32
|
|
-
|
|
name: tc-red-attrs
|
|
attributes:
|
|
-
|
|
name: parms
|
|
type: binary
|
|
struct: tc-red-qopt
|
|
-
|
|
name: stab
|
|
type: binary
|
|
-
|
|
name: max-p
|
|
type: u32
|
|
-
|
|
name: flags
|
|
type: binary
|
|
-
|
|
name: early-drop-block
|
|
type: u32
|
|
-
|
|
name: mark-block
|
|
type: u32
|
|
-
|
|
name: tc-taprio-attrs
|
|
attributes:
|
|
-
|
|
name: priomap
|
|
type: binary
|
|
struct: tc-mqprio-qopt
|
|
-
|
|
name: sched-entry-list
|
|
type: nest
|
|
nested-attributes: tc-taprio-sched-entry-list
|
|
-
|
|
name: sched-base-time
|
|
type: s64
|
|
-
|
|
name: sched-single-entry
|
|
type: nest
|
|
nested-attributes: tc-taprio-sched-entry
|
|
-
|
|
name: sched-clockid
|
|
type: s32
|
|
-
|
|
name: pad
|
|
type: pad
|
|
-
|
|
name: admin-sched
|
|
type: binary
|
|
-
|
|
name: sched-cycle-time
|
|
type: s64
|
|
-
|
|
name: sched-cycle-time-extension
|
|
type: s64
|
|
-
|
|
name: flags
|
|
type: u32
|
|
-
|
|
name: txtime-delay
|
|
type: u32
|
|
-
|
|
name: tc-entry
|
|
type: nest
|
|
nested-attributes: tc-taprio-tc-entry-attrs
|
|
-
|
|
name: tc-taprio-sched-entry-list
|
|
attributes:
|
|
-
|
|
name: entry
|
|
type: nest
|
|
nested-attributes: tc-taprio-sched-entry
|
|
-
|
|
name: tc-taprio-sched-entry
|
|
attributes:
|
|
-
|
|
name: index
|
|
type: u32
|
|
-
|
|
name: cmd
|
|
type: u8
|
|
-
|
|
name: gate-mask
|
|
type: u32
|
|
-
|
|
name: interval
|
|
type: u32
|
|
-
|
|
name: tc-taprio-tc-entry-attrs
|
|
attributes:
|
|
-
|
|
name: index
|
|
type: u32
|
|
-
|
|
name: max-sdu
|
|
type: u32
|
|
-
|
|
name: fp
|
|
type: u32
|
|
-
|
|
name: tc-tbf-attrs
|
|
attributes:
|
|
-
|
|
name: parms
|
|
type: binary
|
|
struct: tc-tbf-qopt
|
|
-
|
|
name: rtab
|
|
type: binary
|
|
-
|
|
name: ptab
|
|
type: binary
|
|
-
|
|
name: rate64
|
|
type: u64
|
|
-
|
|
name: prate4
|
|
type: u64
|
|
-
|
|
name: burst
|
|
type: u32
|
|
-
|
|
name: pburst
|
|
type: u32
|
|
-
|
|
name: pad
|
|
type: pad
|
|
-
|
|
name: tca-gact-attrs
|
|
attributes:
|
|
-
|
|
name: tm
|
|
type: binary
|
|
-
|
|
name: parms
|
|
type: binary
|
|
-
|
|
name: prob
|
|
type: binary
|
|
-
|
|
name: pad
|
|
type: pad
|
|
-
|
|
name: tca-stab-attrs
|
|
attributes:
|
|
-
|
|
name: base
|
|
type: binary
|
|
struct: tc-sizespec
|
|
-
|
|
name: data
|
|
type: binary
|
|
-
|
|
name: tca-stats-attrs
|
|
attributes:
|
|
-
|
|
name: basic
|
|
type: binary
|
|
-
|
|
name: rate-est
|
|
type: binary
|
|
-
|
|
name: queue
|
|
type: binary
|
|
-
|
|
name: app
|
|
type: binary # TODO sub-message needs 2+ level deep lookup
|
|
sub-message: tca-stats-app-msg
|
|
selector: kind
|
|
-
|
|
name: rate-est64
|
|
type: binary
|
|
-
|
|
name: pad
|
|
type: pad
|
|
-
|
|
name: basic-hw
|
|
type: binary
|
|
-
|
|
name: pkt64
|
|
type: binary
|
|
|
|
sub-messages:
|
|
-
|
|
name: tc-options-msg
|
|
formats:
|
|
-
|
|
value: bfifo
|
|
fixed-header: tc-fifo-qopt
|
|
-
|
|
value: cake
|
|
attribute-set: tc-cake-attrs
|
|
-
|
|
value: cbs
|
|
attribute-set: tc-cbs-attrs
|
|
-
|
|
value: choke
|
|
attribute-set: tc-choke-attrs
|
|
-
|
|
value: clsact # no content
|
|
-
|
|
value: codel
|
|
attribute-set: tc-codel-attrs
|
|
-
|
|
value: drr
|
|
attribute-set: tc-drr-attrs
|
|
-
|
|
value: etf
|
|
attribute-set: tc-etf-attrs
|
|
-
|
|
value: ets
|
|
attribute-set: tc-ets-attrs
|
|
-
|
|
value: fq
|
|
attribute-set: tc-fq-attrs
|
|
-
|
|
value: fq_codel
|
|
attribute-set: tc-fq-codel-attrs
|
|
-
|
|
value: fq_pie
|
|
attribute-set: tc-fq-pie-attrs
|
|
-
|
|
value: flower
|
|
attribute-set: tc-flower-attrs
|
|
-
|
|
value: gred
|
|
attribute-set: tc-gred-attrs
|
|
-
|
|
value: hfsc
|
|
fixed-header: tc-hfsc-qopt
|
|
-
|
|
value: hhf
|
|
attribute-set: tc-hhf-attrs
|
|
-
|
|
value: htb
|
|
attribute-set: tc-htb-attrs
|
|
-
|
|
value: ingress # no content
|
|
-
|
|
value: mq # no content
|
|
-
|
|
value: mqprio
|
|
fixed-header: tc-mqprio-qopt
|
|
-
|
|
value: multiq
|
|
fixed-header: tc-multiq-qopt
|
|
-
|
|
value: netem
|
|
fixed-header: tc-netem-qopt
|
|
attribute-set: tc-netem-attrs
|
|
-
|
|
value: pfifo
|
|
fixed-header: tc-fifo-qopt
|
|
-
|
|
value: pfifo_fast
|
|
fixed-header: tc-prio-qopt
|
|
-
|
|
value: pfifo_head_drop
|
|
fixed-header: tc-fifo-qopt
|
|
-
|
|
value: pie
|
|
attribute-set: tc-pie-attrs
|
|
-
|
|
value: plug
|
|
fixed-header: tc-plug-qopt
|
|
-
|
|
value: prio
|
|
fixed-header: tc-prio-qopt
|
|
-
|
|
value: qfq
|
|
attribute-set: tc-qfq-attrs
|
|
-
|
|
value: red
|
|
attribute-set: tc-red-attrs
|
|
-
|
|
value: sfb
|
|
fixed-header: tc-sfb-qopt
|
|
-
|
|
value: sfq
|
|
fixed-header: tc-sfq-qopt-v1
|
|
-
|
|
value: taprio
|
|
attribute-set: tc-taprio-attrs
|
|
-
|
|
value: tbf
|
|
attribute-set: tc-tbf-attrs
|
|
-
|
|
name: tc-act-options-msg
|
|
formats:
|
|
-
|
|
value: gact
|
|
attribute-set: tca-gact-attrs
|
|
-
|
|
name: tca-stats-app-msg
|
|
formats:
|
|
-
|
|
value: bfifo
|
|
-
|
|
value: blackhole
|
|
-
|
|
value: cake
|
|
attribute-set: tc-cake-stats-attrs
|
|
-
|
|
value: cbs
|
|
-
|
|
value: choke
|
|
-
|
|
value: clsact
|
|
-
|
|
value: codel
|
|
-
|
|
value: drr
|
|
-
|
|
value: etf
|
|
-
|
|
value: ets
|
|
-
|
|
value: fq
|
|
-
|
|
value: fq_codel
|
|
-
|
|
value: fq_pie
|
|
-
|
|
value: flower
|
|
-
|
|
value: gred
|
|
-
|
|
value: hfsc
|
|
-
|
|
value: hhf
|
|
-
|
|
value: htb
|
|
-
|
|
value: ingress
|
|
-
|
|
value: mq
|
|
-
|
|
value: mqprio
|
|
-
|
|
value: multiq
|
|
-
|
|
value: netem
|
|
-
|
|
value: noqueue
|
|
-
|
|
value: pfifo
|
|
-
|
|
value: pfifo_fast
|
|
-
|
|
value: pfifo_head_drop
|
|
-
|
|
value: pie
|
|
-
|
|
value: plug
|
|
-
|
|
value: prio
|
|
-
|
|
value: qfq
|
|
-
|
|
value: red
|
|
-
|
|
value: sfb
|
|
-
|
|
value: sfq
|
|
-
|
|
value: taprio
|
|
-
|
|
value: tbf
|
|
|
|
operations:
|
|
enum-model: directional
|
|
list:
|
|
-
|
|
name: newqdisc
|
|
doc: Create new tc qdisc.
|
|
attribute-set: tc-attrs
|
|
fixed-header: tcmsg
|
|
do:
|
|
request:
|
|
value: 36
|
|
attributes: &create-params
|
|
- kind
|
|
- options
|
|
- rate
|
|
- chain
|
|
- ingress-block
|
|
- egress-block
|
|
-
|
|
name: delqdisc
|
|
doc: Delete existing tc qdisc.
|
|
attribute-set: tc-attrs
|
|
fixed-header: tcmsg
|
|
do:
|
|
request:
|
|
value: 37
|
|
-
|
|
name: getqdisc
|
|
doc: Get / dump tc qdisc information.
|
|
attribute-set: tc-attrs
|
|
fixed-header: tcmsg
|
|
do:
|
|
request:
|
|
value: 38
|
|
attributes:
|
|
- dump-invisible
|
|
reply:
|
|
value: 36
|
|
attributes: &tc-all
|
|
- kind
|
|
- options
|
|
- stats
|
|
- xstats
|
|
- rate
|
|
- fcnt
|
|
- stats2
|
|
- stab
|
|
- chain
|
|
- ingress-block
|
|
- egress-block
|
|
-
|
|
name: newtclass
|
|
doc: Get / dump tc traffic class information.
|
|
attribute-set: tc-attrs
|
|
fixed-header: tcmsg
|
|
do:
|
|
request:
|
|
value: 40
|
|
attributes: *create-params
|
|
-
|
|
name: deltclass
|
|
doc: Get / dump tc traffic class information.
|
|
attribute-set: tc-attrs
|
|
fixed-header: tcmsg
|
|
do:
|
|
request:
|
|
value: 41
|
|
-
|
|
name: gettclass
|
|
doc: Get / dump tc traffic class information.
|
|
attribute-set: tc-attrs
|
|
fixed-header: tcmsg
|
|
do:
|
|
request:
|
|
value: 42
|
|
reply:
|
|
value: 40
|
|
attributes: *tc-all
|
|
-
|
|
name: newtfilter
|
|
doc: Get / dump tc filter information.
|
|
attribute-set: tc-attrs
|
|
fixed-header: tcmsg
|
|
do:
|
|
request:
|
|
value: 44
|
|
attributes: *create-params
|
|
-
|
|
name: deltfilter
|
|
doc: Get / dump tc filter information.
|
|
attribute-set: tc-attrs
|
|
fixed-header: tcmsg
|
|
do:
|
|
request:
|
|
value: 45
|
|
attributes:
|
|
- chain
|
|
- kind
|
|
-
|
|
name: gettfilter
|
|
doc: Get / dump tc filter information.
|
|
attribute-set: tc-attrs
|
|
fixed-header: tcmsg
|
|
do:
|
|
request:
|
|
value: 46
|
|
attributes:
|
|
- chain
|
|
- kind
|
|
reply:
|
|
value: 44
|
|
attributes: *tc-all
|
|
dump:
|
|
request:
|
|
value: 46
|
|
attributes:
|
|
- chain
|
|
- dump-flags
|
|
reply:
|
|
value: 44
|
|
attributes: *tc-all
|
|
-
|
|
name: newchain
|
|
doc: Get / dump tc chain information.
|
|
attribute-set: tc-attrs
|
|
fixed-header: tcmsg
|
|
do:
|
|
request:
|
|
value: 100
|
|
attributes: *create-params
|
|
-
|
|
name: delchain
|
|
doc: Get / dump tc chain information.
|
|
attribute-set: tc-attrs
|
|
fixed-header: tcmsg
|
|
do:
|
|
request:
|
|
value: 101
|
|
attributes:
|
|
- chain
|
|
-
|
|
name: getchain
|
|
doc: Get / dump tc chain information.
|
|
attribute-set: tc-attrs
|
|
fixed-header: tcmsg
|
|
do:
|
|
request:
|
|
value: 102
|
|
attributes:
|
|
- chain
|
|
reply:
|
|
value: 100
|
|
attributes: *tc-all
|
|
|
|
mcast-groups:
|
|
list:
|
|
-
|
|
name: rtnlgrp-tc
|
|
value: 4
|