.. SPDX-License-Identifier: GPL-2.0 .. NOTE: This document was auto-generated. =================================== Family ``tc`` netlink specification =================================== .. contents:: :depth: 3 ------- Summary ------- Netlink raw family for tc qdisc, chain, class and filter configuration over rtnetlink. ---------- Operations ---------- .. _tc-operation-newqdisc: newqdisc ======== Create new tc qdisc. :attribute-set: :ref:`tc-attribute-set-tc-attrs` :fixed-header: :ref:`tc-definition-tcmsg` :do: **request** :attributes: [``kind``, ``options``, ``rate``, ``chain``, ``ingress-block``, ``egress-block``] .. _tc-operation-delqdisc: delqdisc ======== Delete existing tc qdisc. :attribute-set: :ref:`tc-attribute-set-tc-attrs` :fixed-header: :ref:`tc-definition-tcmsg` :do: **request** .. _tc-operation-getqdisc: getqdisc ======== Get / dump tc qdisc information. :attribute-set: :ref:`tc-attribute-set-tc-attrs` :fixed-header: :ref:`tc-definition-tcmsg` :do: **request** :attributes: [``dump-invisible``] **reply** :attributes: [``kind``, ``options``, ``stats``, ``xstats``, ``rate``, ``fcnt``, ``stats2``, ``stab``, ``chain``, ``ingress-block``, ``egress-block``] .. _tc-operation-newtclass: newtclass ========= Get / dump tc traffic class information. :attribute-set: :ref:`tc-attribute-set-tc-attrs` :fixed-header: :ref:`tc-definition-tcmsg` :do: **request** :attributes: [``kind``, ``options``, ``rate``, ``chain``, ``ingress-block``, ``egress-block``] .. _tc-operation-deltclass: deltclass ========= Get / dump tc traffic class information. :attribute-set: :ref:`tc-attribute-set-tc-attrs` :fixed-header: :ref:`tc-definition-tcmsg` :do: **request** .. _tc-operation-gettclass: gettclass ========= Get / dump tc traffic class information. :attribute-set: :ref:`tc-attribute-set-tc-attrs` :fixed-header: :ref:`tc-definition-tcmsg` :do: **request** **reply** :attributes: [``kind``, ``options``, ``stats``, ``xstats``, ``rate``, ``fcnt``, ``stats2``, ``stab``, ``chain``, ``ingress-block``, ``egress-block``] .. _tc-operation-newtfilter: newtfilter ========== Get / dump tc filter information. :attribute-set: :ref:`tc-attribute-set-tc-attrs` :fixed-header: :ref:`tc-definition-tcmsg` :do: **request** :attributes: [``kind``, ``options``, ``rate``, ``chain``, ``ingress-block``, ``egress-block``] .. _tc-operation-deltfilter: deltfilter ========== Get / dump tc filter information. :attribute-set: :ref:`tc-attribute-set-tc-attrs` :fixed-header: :ref:`tc-definition-tcmsg` :do: **request** :attributes: [``chain``, ``kind``] .. _tc-operation-gettfilter: gettfilter ========== Get / dump tc filter information. :attribute-set: :ref:`tc-attribute-set-tc-attrs` :fixed-header: :ref:`tc-definition-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``] .. _tc-operation-newchain: newchain ======== Get / dump tc chain information. :attribute-set: :ref:`tc-attribute-set-tc-attrs` :fixed-header: :ref:`tc-definition-tcmsg` :do: **request** :attributes: [``kind``, ``options``, ``rate``, ``chain``, ``ingress-block``, ``egress-block``] .. _tc-operation-delchain: delchain ======== Get / dump tc chain information. :attribute-set: :ref:`tc-attribute-set-tc-attrs` :fixed-header: :ref:`tc-definition-tcmsg` :do: **request** :attributes: [``chain``] .. _tc-operation-getchain: getchain ======== Get / dump tc chain information. :attribute-set: :ref:`tc-attribute-set-tc-attrs` :fixed-header: :ref:`tc-definition-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 ----------- .. _tc-definition-tcmsg: tcmsg ===== :type: struct :members: :family (``u8``): :ifindex (``s32``): :handle (``u32``): :parent (``u32``): :info (``u32``): .. _tc-definition-tc-cls-flags: tc-cls-flags ============ :type: flags :entries: - ``skip-hw`` - ``skip-sw`` - ``in-hw`` - ``not-in-nw`` - ``verbose`` .. _tc-definition-tc-stats: 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``): .. _tc-definition-tc-cbs-qopt: tc-cbs-qopt =========== :type: struct :members: :offload (``u8``): :hicredit (``s32``): :locredit (``s32``): :idleslope (``s32``): :sendslope (``s32``): .. _tc-definition-tc-etf-qopt: tc-etf-qopt =========== :type: struct :members: :delta (``s32``): :clockid (``s32``): :flags (``s32``): .. _tc-definition-tc-fifo-qopt: tc-fifo-qopt ============ :type: struct :members: :limit (``u32``): Queue length; bytes for bfifo, packets for pfifo .. _tc-definition-tc-htb-opt: tc-htb-opt ========== :type: struct :members: :rate (``binary``): :ceil (``binary``): :buffer (``u32``): :cbuffer (``u32``): :quantum (``u32``): :level (``u32``): :prio (``u32``): .. _tc-definition-tc-htb-glob: 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 .. _tc-definition-tc-gred-qopt: 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``): .. _tc-definition-tc-gred-sopt: tc-gred-sopt ============ :type: struct :members: :DPs (``u32``): :def_DP (``u32``): :grio (``u8``): :flags (``u8``): .. _tc-definition-tc-hfsc-qopt: tc-hfsc-qopt ============ :type: struct :members: :defcls (``u16``): .. _tc-definition-tc-mqprio-qopt: tc-mqprio-qopt ============== :type: struct :members: :num-tc (``u8``): :prio-tc-map (``binary``): :hw (``u8``): :count (``binary``): :offset (``binary``): .. _tc-definition-tc-multiq-qopt: tc-multiq-qopt ============== :type: struct :members: :bands (``u16``): Number of bands :max-bands (``u16``): Maximum number of queues .. _tc-definition-tc-netem-qopt: 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 .. _tc-definition-tc-netem-gimodel: tc-netem-gimodel ================ :doc: State transition probabilities for 4 state model :type: struct :members: :p13 (``u32``): :p31 (``u32``): :p32 (``u32``): :p14 (``u32``): :p23 (``u32``): .. _tc-definition-tc-netem-gemodel: tc-netem-gemodel ================ :doc: Gilbert-Elliot models :type: struct :members: :p (``u32``): :r (``u32``): :h (``u32``): :k1 (``u32``): .. _tc-definition-tc-netem-corr: tc-netem-corr ============= :type: struct :members: :delay-corr (``u32``): Delay correlation :loss-corr (``u32``): Packet loss correlation :dup-corr (``u32``): Duplicate correlation .. _tc-definition-tc-netem-reorder: tc-netem-reorder ================ :type: struct :members: :probability (``u32``): :correlation (``u32``): .. _tc-definition-tc-netem-corrupt: tc-netem-corrupt ================ :type: struct :members: :probability (``u32``): :correlation (``u32``): .. _tc-definition-tc-netem-rate: tc-netem-rate ============= :type: struct :members: :rate (``u32``): :packet-overhead (``s32``): :cell-size (``u32``): :cell-overhead (``s32``): .. _tc-definition-tc-netem-slot: tc-netem-slot ============= :type: struct :members: :min-delay (``s64``): :max-delay (``s64``): :max-packets (``s32``): :max-bytes (``s32``): :dist-delay (``s64``): :dist-jitter (``s64``): .. _tc-definition-tc-plug-qopt: tc-plug-qopt ============ :type: struct :members: :action (``s32``): :limit (``u32``): .. _tc-definition-tc-prio-qopt: tc-prio-qopt ============ :type: struct :members: :bands (``u32``): Number of bands :priomap (``binary``): Map of logical priority -> PRIO band .. _tc-definition-tc-red-qopt: 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``): .. _tc-definition-tc-sfb-qopt: 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``): .. _tc-definition-tc-sfq-qopt: 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 .. _tc-definition-tc-sfqred-stats: 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 .. _tc-definition-tc-sfq-qopt-v1: 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``): .. _tc-definition-tc-ratespec: tc-ratespec =========== :type: struct :members: :cell-log (``u8``): :linklayer (``u8``): :overhead (``u8``): :cell-align (``u8``): :mpu (``u8``): :rate (``u32``): .. _tc-definition-tc-tbf-qopt: tc-tbf-qopt =========== :type: struct :members: :rate (``binary``): :peakrate (``binary``): :limit (``u32``): :buffer (``u32``): :mtu (``u32``): .. _tc-definition-tc-sizespec: tc-sizespec =========== :type: struct :members: :cell-log (``u8``): :size-log (``u8``): :cell-align (``s16``): :overhead (``s32``): :linklayer (``u32``): :mpu (``u32``): :mtu (``u32``): :tsize (``u32``): .. _tc-definition-gnet-estimator: gnet-estimator ============== :type: struct :members: :interval (``s8``): Sampling period :ewma-log (``u8``): The log() of measurement window weight .. _tc-definition-tc-choke-xstats: 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 .. _tc-definition-tc-codel-xstats: 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 .. _tc-definition-tc-fq-codel-xstats: 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``): .. _tc-definition-tc-fq-pie-xstats: 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 .. _tc-definition-tc-fq-qd-stats: 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``): .. _tc-definition-tc-hhf-xstats: 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 .. _tc-definition-tc-pie-xstats: 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 .. _tc-definition-tc-red-xstats: 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 .. _tc-definition-tc-sfb-xstats: 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``): .. _tc-definition-tc-sfq-xstats: tc-sfq-xstats ============= :type: struct :members: :allot (``s32``): .. _tc-definition-gnet-stats-basic: gnet-stats-basic ================ :type: struct :members: :bytes (``u64``): :packets (``u32``): .. _tc-definition-gnet-stats-rate-est: gnet-stats-rate-est =================== :type: struct :members: :bps (``u32``): :pps (``u32``): .. _tc-definition-gnet-stats-rate-est64: gnet-stats-rate-est64 ===================== :type: struct :members: :bps (``u64``): :pps (``u64``): .. _tc-definition-gnet-stats-queue: gnet-stats-queue ================ :type: struct :members: :qlen (``u32``): :backlog (``u32``): :drops (``u32``): :requeues (``u32``): :overlimits (``u32``): .. _tc-definition-tc-u32-key: tc-u32-key ========== :type: struct :members: :mask (``u32``): :val (``u32``): :off (``s32``): :offmask (``s32``): .. _tc-definition-tc-u32-mark: tc-u32-mark =========== :type: struct :members: :val (``u32``): :mask (``u32``): :success (``u32``): .. _tc-definition-tc-u32-sel: tc-u32-sel ========== :type: struct :members: :flags (``u8``): :offshift (``u8``): :nkeys (``u8``): :offmask (``u16``): :off (``u16``): :offoff (``s16``): :hoff (``s16``): :hmask (``u32``): :keys (``binary``): .. _tc-definition-tc-u32-pcnt: tc-u32-pcnt =========== :type: struct :members: :rcnt (``u64``): :rhit (``u64``): :kcnts (``u64``): .. _tc-definition-tcf-t: tcf-t ===== :type: struct :members: :install (``u64``): :lastuse (``u64``): :expires (``u64``): :firstuse (``u64``): .. _tc-definition-tc-gen: tc-gen ====== :type: struct :members: :index (``u32``): :capab (``u32``): :action (``s32``): :refcnt (``s32``): :bindcnt (``s32``): .. _tc-definition-tc-gact-p: tc-gact-p ========= :type: struct :members: :ptype (``u16``): :pval (``u16``): :paction (``s32``): .. _tc-definition-tcf-ematch-tree-hdr: tcf-ematch-tree-hdr =================== :type: struct :members: :nmatches (``u16``): :progid (``u16``): .. _tc-definition-tc-basic-pcnt: tc-basic-pcnt ============= :type: struct :members: :rcnt (``u64``): :rhit (``u64``): .. _tc-definition-tc-matchall-pcnt: tc-matchall-pcnt ================ :type: struct :members: :rhit (``u64``): .. _tc-definition-tc-mpls: tc-mpls ======= :type: struct :members: :index (``u32``): :capab (``u32``): :action (``s32``): :refcnt (``s32``): :bindcnt (``s32``): :m-action (``s32``): .. _tc-definition-tc-police: 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``): .. _tc-definition-tc-pedit-sel: tc-pedit-sel ============ :type: struct :members: :index (``u32``): :capab (``u32``): :action (``s32``): :refcnt (``s32``): :bindcnt (``s32``): :nkeys (``u8``): :flags (``u8``): :keys (``binary``): .. _tc-definition-tc-pedit-key: tc-pedit-key ============ :type: struct :members: :mask (``u32``): :val (``u32``): :off (``u32``): :at (``u32``): :offmask (``u32``): :shift (``u32``): .. _tc-definition-tc-vlan: tc-vlan ======= :type: struct :members: :index (``u32``): :capab (``u32``): :action (``s32``): :refcnt (``s32``): :bindcnt (``s32``): :v-action (``s32``): -------------- Attribute sets -------------- .. _tc-attribute-set-tc-attrs: tc-attrs ======== kind (``string``) ~~~~~~~~~~~~~~~~~ options (``sub-message``) ~~~~~~~~~~~~~~~~~~~~~~~~~ :sub-message: :ref:`tc-sub-message-tc-options-msg` :selector: kind stats (``binary``) ~~~~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tc-stats` xstats (``sub-message``) ~~~~~~~~~~~~~~~~~~~~~~~~ :sub-message: :ref:`tc-sub-message-tca-stats-app-msg` :selector: kind rate (``binary``) ~~~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-gnet-estimator` fcnt (``u32``) ~~~~~~~~~~~~~~ stats2 (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`tc-attribute-set-tca-stats-attrs` stab (``nest``) ~~~~~~~~~~~~~~~ :nested-attributes: :ref:`tc-attribute-set-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-attribute-set-tc-act-attrs: tc-act-attrs ============ kind (``string``) ~~~~~~~~~~~~~~~~~ options (``sub-message``) ~~~~~~~~~~~~~~~~~~~~~~~~~ :sub-message: :ref:`tc-sub-message-tc-act-options-msg` :selector: kind index (``u32``) ~~~~~~~~~~~~~~~ stats (``nest``) ~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`tc-attribute-set-tc-act-stats-attrs` pad (``pad``) ~~~~~~~~~~~~~ cookie (``binary``) ~~~~~~~~~~~~~~~~~~~ flags (``bitfield32``) ~~~~~~~~~~~~~~~~~~~~~~ hw-stats (``bitfield32``) ~~~~~~~~~~~~~~~~~~~~~~~~~ used-hw-stats (``bitfield32``) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ in-hw-count (``u32``) ~~~~~~~~~~~~~~~~~~~~~ .. _tc-attribute-set-tc-act-stats-attrs: tc-act-stats-attrs ================== basic (``binary``) ~~~~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-gnet-stats-basic` rate-est (``binary``) ~~~~~~~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-gnet-stats-rate-est` queue (``binary``) ~~~~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-gnet-stats-queue` app (``binary``) ~~~~~~~~~~~~~~~~ rate-est64 (``binary``) ~~~~~~~~~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-gnet-stats-rate-est64` pad (``pad``) ~~~~~~~~~~~~~ basic-hw (``binary``) ~~~~~~~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-gnet-stats-basic` pkt64 (``u64``) ~~~~~~~~~~~~~~~ .. _tc-attribute-set-tc-act-bpf-attrs: tc-act-bpf-attrs ================ tm (``binary``) ~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tcf-t` parms (``binary``) ~~~~~~~~~~~~~~~~~~ ops-len (``u16``) ~~~~~~~~~~~~~~~~~ ops (``binary``) ~~~~~~~~~~~~~~~~ fd (``u32``) ~~~~~~~~~~~~ name (``string``) ~~~~~~~~~~~~~~~~~ pad (``pad``) ~~~~~~~~~~~~~ tag (``binary``) ~~~~~~~~~~~~~~~~ id (``binary``) ~~~~~~~~~~~~~~~ .. _tc-attribute-set-tc-act-connmark-attrs: tc-act-connmark-attrs ===================== parms (``binary``) ~~~~~~~~~~~~~~~~~~ tm (``binary``) ~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tcf-t` pad (``pad``) ~~~~~~~~~~~~~ .. _tc-attribute-set-tc-act-csum-attrs: tc-act-csum-attrs ================= parms (``binary``) ~~~~~~~~~~~~~~~~~~ tm (``binary``) ~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tcf-t` pad (``pad``) ~~~~~~~~~~~~~ .. _tc-attribute-set-tc-act-ct-attrs: tc-act-ct-attrs =============== parms (``binary``) ~~~~~~~~~~~~~~~~~~ tm (``binary``) ~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tcf-t` 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-attribute-set-tc-act-ctinfo-attrs: tc-act-ctinfo-attrs =================== pad (``pad``) ~~~~~~~~~~~~~ tm (``binary``) ~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tcf-t` 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-attribute-set-tc-act-gate-attrs: tc-act-gate-attrs ================= tm (``binary``) ~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tcf-t` parms (``binary``) ~~~~~~~~~~~~~~~~~~ pad (``pad``) ~~~~~~~~~~~~~ priority (``s32``) ~~~~~~~~~~~~~~~~~~ entry-list (``binary``) ~~~~~~~~~~~~~~~~~~~~~~~ base-time (``u64``) ~~~~~~~~~~~~~~~~~~~ cycle-time (``u64``) ~~~~~~~~~~~~~~~~~~~~ cycle-time-ext (``u64``) ~~~~~~~~~~~~~~~~~~~~~~~~ flags (``u32``) ~~~~~~~~~~~~~~~ clockid (``s32``) ~~~~~~~~~~~~~~~~~ .. _tc-attribute-set-tc-act-ife-attrs: tc-act-ife-attrs ================ parms (``binary``) ~~~~~~~~~~~~~~~~~~ tm (``binary``) ~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tcf-t` dmac (``binary``) ~~~~~~~~~~~~~~~~~ smac (``binary``) ~~~~~~~~~~~~~~~~~ type (``u16``) ~~~~~~~~~~~~~~ metalst (``binary``) ~~~~~~~~~~~~~~~~~~~~ pad (``pad``) ~~~~~~~~~~~~~ .. _tc-attribute-set-tc-act-mirred-attrs: tc-act-mirred-attrs =================== tm (``binary``) ~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tcf-t` parms (``binary``) ~~~~~~~~~~~~~~~~~~ pad (``pad``) ~~~~~~~~~~~~~ blockid (``binary``) ~~~~~~~~~~~~~~~~~~~~ .. _tc-attribute-set-tc-act-mpls-attrs: tc-act-mpls-attrs ================= tm (``binary``) ~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tcf-t` parms (``binary``) ~~~~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tc-mpls` pad (``pad``) ~~~~~~~~~~~~~ proto (``u16``) ~~~~~~~~~~~~~~~ :byte-order: big-endian label (``u32``) ~~~~~~~~~~~~~~~ tc (``u8``) ~~~~~~~~~~~ ttl (``u8``) ~~~~~~~~~~~~ bos (``u8``) ~~~~~~~~~~~~ .. _tc-attribute-set-tc-act-nat-attrs: tc-act-nat-attrs ================ parms (``binary``) ~~~~~~~~~~~~~~~~~~ tm (``binary``) ~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tcf-t` pad (``pad``) ~~~~~~~~~~~~~ .. _tc-attribute-set-tc-act-pedit-attrs: tc-act-pedit-attrs ================== tm (``binary``) ~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tcf-t` parms (``binary``) ~~~~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tc-pedit-sel` pad (``pad``) ~~~~~~~~~~~~~ parms-ex (``binary``) ~~~~~~~~~~~~~~~~~~~~~ keys-ex (``binary``) ~~~~~~~~~~~~~~~~~~~~ key-ex (``binary``) ~~~~~~~~~~~~~~~~~~~ .. _tc-attribute-set-tc-act-police-attrs: tc-act-police-attrs =================== tbf (``binary``) ~~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tc-police` rate (``binary``) ~~~~~~~~~~~~~~~~~ peakrate (``binary``) ~~~~~~~~~~~~~~~~~~~~~ avrate (``u32``) ~~~~~~~~~~~~~~~~ result (``u32``) ~~~~~~~~~~~~~~~~ tm (``binary``) ~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tcf-t` pad (``pad``) ~~~~~~~~~~~~~ rate64 (``u64``) ~~~~~~~~~~~~~~~~ peakrate64 (``u64``) ~~~~~~~~~~~~~~~~~~~~ pktrate64 (``u64``) ~~~~~~~~~~~~~~~~~~~ pktburst64 (``u64``) ~~~~~~~~~~~~~~~~~~~~ .. _tc-attribute-set-tc-act-simple-attrs: tc-act-simple-attrs =================== tm (``binary``) ~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tcf-t` parms (``binary``) ~~~~~~~~~~~~~~~~~~ data (``binary``) ~~~~~~~~~~~~~~~~~ pad (``pad``) ~~~~~~~~~~~~~ .. _tc-attribute-set-tc-act-skbedit-attrs: tc-act-skbedit-attrs ==================== tm (``binary``) ~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tcf-t` parms (``binary``) ~~~~~~~~~~~~~~~~~~ priority (``u32``) ~~~~~~~~~~~~~~~~~~ queue-mapping (``u16``) ~~~~~~~~~~~~~~~~~~~~~~~ mark (``u32``) ~~~~~~~~~~~~~~ pad (``pad``) ~~~~~~~~~~~~~ ptype (``u16``) ~~~~~~~~~~~~~~~ mask (``u32``) ~~~~~~~~~~~~~~ flags (``u64``) ~~~~~~~~~~~~~~~ queue-mapping-max (``u16``) ~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. _tc-attribute-set-tc-act-skbmod-attrs: tc-act-skbmod-attrs =================== tm (``binary``) ~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tcf-t` parms (``binary``) ~~~~~~~~~~~~~~~~~~ dmac (``binary``) ~~~~~~~~~~~~~~~~~ smac (``binary``) ~~~~~~~~~~~~~~~~~ etype (``binary``) ~~~~~~~~~~~~~~~~~~ pad (``pad``) ~~~~~~~~~~~~~ .. _tc-attribute-set-tc-act-tunnel-key-attrs: tc-act-tunnel-key-attrs ======================= tm (``binary``) ~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tcf-t` 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-attribute-set-tc-act-vlan-attrs: tc-act-vlan-attrs ================= tm (``binary``) ~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tcf-t` parms (``binary``) ~~~~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tc-vlan` push-vlan-id (``u16``) ~~~~~~~~~~~~~~~~~~~~~~ push-vlan-protocol (``u16``) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ pad (``pad``) ~~~~~~~~~~~~~ push-vlan-priority (``u8``) ~~~~~~~~~~~~~~~~~~~~~~~~~~~ push-eth-dst (``binary``) ~~~~~~~~~~~~~~~~~~~~~~~~~ push-eth-src (``binary``) ~~~~~~~~~~~~~~~~~~~~~~~~~ .. _tc-attribute-set-tc-basic-attrs: tc-basic-attrs ============== classid (``u32``) ~~~~~~~~~~~~~~~~~ ematches (``nest``) ~~~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`tc-attribute-set-tc-ematch-attrs` act (``indexed-array``) ~~~~~~~~~~~~~~~~~~~~~~~ :sub-type: nest :nested-attributes: :ref:`tc-attribute-set-tc-act-attrs` police (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`tc-attribute-set-tc-police-attrs` pcnt (``binary``) ~~~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tc-basic-pcnt` pad (``pad``) ~~~~~~~~~~~~~ .. _tc-attribute-set-tc-bpf-attrs: tc-bpf-attrs ============ act (``nest``) ~~~~~~~~~~~~~~ :nested-attributes: :ref:`tc-attribute-set-tc-act-attrs` police (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`tc-attribute-set-tc-police-attrs` classid (``u32``) ~~~~~~~~~~~~~~~~~ ops-len (``u16``) ~~~~~~~~~~~~~~~~~ ops (``binary``) ~~~~~~~~~~~~~~~~ fd (``u32``) ~~~~~~~~~~~~ name (``string``) ~~~~~~~~~~~~~~~~~ flags (``u32``) ~~~~~~~~~~~~~~~ flags-gen (``u32``) ~~~~~~~~~~~~~~~~~~~ tag (``binary``) ~~~~~~~~~~~~~~~~ id (``u32``) ~~~~~~~~~~~~ .. _tc-attribute-set-tc-cake-attrs: 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-attribute-set-tc-cake-stats-attrs: 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: :ref:`tc-attribute-set-tc-cake-tin-stats-attrs` deficit (``s32``) ~~~~~~~~~~~~~~~~~ cobalt-count (``u32``) ~~~~~~~~~~~~~~~~~~~~~~ dropping (``u32``) ~~~~~~~~~~~~~~~~~~ drop-next-us (``s32``) ~~~~~~~~~~~~~~~~~~~~~~ p-drop (``u32``) ~~~~~~~~~~~~~~~~ blue-timer-us (``s32``) ~~~~~~~~~~~~~~~~~~~~~~~ .. _tc-attribute-set-tc-cake-tin-stats-attrs: 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-attribute-set-tc-cbs-attrs: tc-cbs-attrs ============ parms (``binary``) ~~~~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tc-cbs-qopt` .. _tc-attribute-set-tc-cgroup-attrs: tc-cgroup-attrs =============== act (``nest``) ~~~~~~~~~~~~~~ :nested-attributes: :ref:`tc-attribute-set-tc-act-attrs` police (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`tc-attribute-set-tc-police-attrs` ematches (``binary``) ~~~~~~~~~~~~~~~~~~~~~ .. _tc-attribute-set-tc-choke-attrs: tc-choke-attrs ============== parms (``binary``) ~~~~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tc-red-qopt` stab (``binary``) ~~~~~~~~~~~~~~~~~ max-p (``u32``) ~~~~~~~~~~~~~~~ .. _tc-attribute-set-tc-codel-attrs: tc-codel-attrs ============== target (``u32``) ~~~~~~~~~~~~~~~~ limit (``u32``) ~~~~~~~~~~~~~~~ interval (``u32``) ~~~~~~~~~~~~~~~~~~ ecn (``u32``) ~~~~~~~~~~~~~ ce-threshold (``u32``) ~~~~~~~~~~~~~~~~~~~~~~ .. _tc-attribute-set-tc-drr-attrs: tc-drr-attrs ============ quantum (``u32``) ~~~~~~~~~~~~~~~~~ .. _tc-attribute-set-tc-ematch-attrs: tc-ematch-attrs =============== tree-hdr (``binary``) ~~~~~~~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tcf-ematch-tree-hdr` tree-list (``binary``) ~~~~~~~~~~~~~~~~~~~~~~ .. _tc-attribute-set-tc-flow-attrs: 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: :ref:`tc-attribute-set-tc-police-attrs` ematches (``binary``) ~~~~~~~~~~~~~~~~~~~~~ perturb (``u32``) ~~~~~~~~~~~~~~~~~ .. _tc-attribute-set-tc-flower-attrs: tc-flower-attrs =============== classid (``u32``) ~~~~~~~~~~~~~~~~~ indev (``string``) ~~~~~~~~~~~~~~~~~~ act (``indexed-array``) ~~~~~~~~~~~~~~~~~~~~~~~ :sub-type: nest :nested-attributes: :ref:`tc-attribute-set-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: :ref:`tc-definition-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``) ~~~~~~~~~~~~~~~~~~~~~~~~ :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: :ref:`tc-attribute-set-tc-flower-key-enc-opts-attrs` key-enc-opts-mask (``nest``) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`tc-attribute-set-tc-flower-key-enc-opts-attrs` 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: :ref:`tc-attribute-set-tc-flower-key-mpls-opt-attrs` 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: :ref:`tc-attribute-set-tc-flower-key-cfm-attrs` key-spi (``u32``) ~~~~~~~~~~~~~~~~~ :byte-order: big-endian key-spi-mask (``u32``) ~~~~~~~~~~~~~~~~~~~~~~ :byte-order: big-endian .. _tc-attribute-set-tc-flower-key-enc-opts-attrs: tc-flower-key-enc-opts-attrs ============================ geneve (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`tc-attribute-set-tc-flower-key-enc-opt-geneve-attrs` vxlan (``nest``) ~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`tc-attribute-set-tc-flower-key-enc-opt-vxlan-attrs` erspan (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`tc-attribute-set-tc-flower-key-enc-opt-erspan-attrs` gtp (``nest``) ~~~~~~~~~~~~~~ :nested-attributes: :ref:`tc-attribute-set-tc-flower-key-enc-opt-gtp-attrs` .. _tc-attribute-set-tc-flower-key-enc-opt-geneve-attrs: tc-flower-key-enc-opt-geneve-attrs ================================== class (``u16``) ~~~~~~~~~~~~~~~ type (``u8``) ~~~~~~~~~~~~~ data (``binary``) ~~~~~~~~~~~~~~~~~ .. _tc-attribute-set-tc-flower-key-enc-opt-vxlan-attrs: tc-flower-key-enc-opt-vxlan-attrs ================================= gbp (``u32``) ~~~~~~~~~~~~~ .. _tc-attribute-set-tc-flower-key-enc-opt-erspan-attrs: tc-flower-key-enc-opt-erspan-attrs ================================== ver (``u8``) ~~~~~~~~~~~~ index (``u32``) ~~~~~~~~~~~~~~~ dir (``u8``) ~~~~~~~~~~~~ hwid (``u8``) ~~~~~~~~~~~~~ .. _tc-attribute-set-tc-flower-key-enc-opt-gtp-attrs: tc-flower-key-enc-opt-gtp-attrs =============================== pdu-type (``u8``) ~~~~~~~~~~~~~~~~~ qfi (``u8``) ~~~~~~~~~~~~ .. _tc-attribute-set-tc-flower-key-mpls-opt-attrs: tc-flower-key-mpls-opt-attrs ============================ lse-depth (``u8``) ~~~~~~~~~~~~~~~~~~ lse-ttl (``u8``) ~~~~~~~~~~~~~~~~ lse-bos (``u8``) ~~~~~~~~~~~~~~~~ lse-tc (``u8``) ~~~~~~~~~~~~~~~ lse-label (``u32``) ~~~~~~~~~~~~~~~~~~~ .. _tc-attribute-set-tc-flower-key-cfm-attrs: tc-flower-key-cfm-attrs ======================= md-level (``u8``) ~~~~~~~~~~~~~~~~~ opcode (``u8``) ~~~~~~~~~~~~~~~ .. _tc-attribute-set-tc-fw-attrs: tc-fw-attrs =========== classid (``u32``) ~~~~~~~~~~~~~~~~~ police (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`tc-attribute-set-tc-police-attrs` indev (``string``) ~~~~~~~~~~~~~~~~~~ act (``indexed-array``) ~~~~~~~~~~~~~~~~~~~~~~~ :sub-type: nest :nested-attributes: :ref:`tc-attribute-set-tc-act-attrs` mask (``u32``) ~~~~~~~~~~~~~~ .. _tc-attribute-set-tc-gred-attrs: tc-gred-attrs ============= parms (``binary``) ~~~~~~~~~~~~~~~~~~ stab (``binary``) ~~~~~~~~~~~~~~~~~ :sub-type: u8 dps (``binary``) ~~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tc-gred-sopt` max-p (``binary``) ~~~~~~~~~~~~~~~~~~ :sub-type: u32 limit (``u32``) ~~~~~~~~~~~~~~~ vq-list (``nest``) ~~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`tc-attribute-set-tca-gred-vq-list-attrs` .. _tc-attribute-set-tca-gred-vq-list-attrs: tca-gred-vq-list-attrs ====================== entry (``nest``) ~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`tc-attribute-set-tca-gred-vq-entry-attrs` :multi-attr: True .. _tc-attribute-set-tca-gred-vq-entry-attrs: 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-attribute-set-tc-hfsc-attrs: tc-hfsc-attrs ============= rsc (``binary``) ~~~~~~~~~~~~~~~~ fsc (``binary``) ~~~~~~~~~~~~~~~~ usc (``binary``) ~~~~~~~~~~~~~~~~ .. _tc-attribute-set-tc-hhf-attrs: 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-attribute-set-tc-htb-attrs: tc-htb-attrs ============ parms (``binary``) ~~~~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tc-htb-opt` init (``binary``) ~~~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tc-htb-glob` ctab (``binary``) ~~~~~~~~~~~~~~~~~ rtab (``binary``) ~~~~~~~~~~~~~~~~~ direct-qlen (``u32``) ~~~~~~~~~~~~~~~~~~~~~ rate64 (``u64``) ~~~~~~~~~~~~~~~~ ceil64 (``u64``) ~~~~~~~~~~~~~~~~ pad (``pad``) ~~~~~~~~~~~~~ offload (``flag``) ~~~~~~~~~~~~~~~~~~ .. _tc-attribute-set-tc-matchall-attrs: tc-matchall-attrs ================= classid (``u32``) ~~~~~~~~~~~~~~~~~ act (``indexed-array``) ~~~~~~~~~~~~~~~~~~~~~~~ :sub-type: nest :nested-attributes: :ref:`tc-attribute-set-tc-act-attrs` flags (``u32``) ~~~~~~~~~~~~~~~ pcnt (``binary``) ~~~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tc-matchall-pcnt` pad (``pad``) ~~~~~~~~~~~~~ .. _tc-attribute-set-tc-etf-attrs: tc-etf-attrs ============ parms (``binary``) ~~~~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tc-etf-qopt` .. _tc-attribute-set-tc-ets-attrs: tc-ets-attrs ============ nbands (``u8``) ~~~~~~~~~~~~~~~ nstrict (``u8``) ~~~~~~~~~~~~~~~~ quanta (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`tc-attribute-set-tc-ets-attrs` quanta-band (``u32``) ~~~~~~~~~~~~~~~~~~~~~ :multi-attr: True priomap (``nest``) ~~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`tc-attribute-set-tc-ets-attrs` priomap-band (``u8``) ~~~~~~~~~~~~~~~~~~~~~ :multi-attr: True .. _tc-attribute-set-tc-fq-attrs: 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: :ref:`tc-definition-tc-prio-qopt` weights (``binary``) ~~~~~~~~~~~~~~~~~~~~ :sub-type: s32 :doc: Weights for each band .. _tc-attribute-set-tc-fq-codel-attrs: 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-attribute-set-tc-fq-pie-attrs: 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-attribute-set-tc-netem-attrs: tc-netem-attrs ============== corr (``binary``) ~~~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tc-netem-corr` delay-dist (``binary``) ~~~~~~~~~~~~~~~~~~~~~~~ :sub-type: s16 reorder (``binary``) ~~~~~~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tc-netem-reorder` corrupt (``binary``) ~~~~~~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tc-netem-corrupt` loss (``nest``) ~~~~~~~~~~~~~~~ :nested-attributes: :ref:`tc-attribute-set-tc-netem-loss-attrs` rate (``binary``) ~~~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tc-netem-rate` ecn (``u32``) ~~~~~~~~~~~~~ rate64 (``u64``) ~~~~~~~~~~~~~~~~ pad (``u32``) ~~~~~~~~~~~~~ latency64 (``s64``) ~~~~~~~~~~~~~~~~~~~ jitter64 (``s64``) ~~~~~~~~~~~~~~~~~~ slot (``binary``) ~~~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tc-netem-slot` slot-dist (``binary``) ~~~~~~~~~~~~~~~~~~~~~~ :sub-type: s16 prng-seed (``u64``) ~~~~~~~~~~~~~~~~~~~ .. _tc-attribute-set-tc-netem-loss-attrs: tc-netem-loss-attrs =================== gi (``binary``) ~~~~~~~~~~~~~~~ :doc: General Intuitive - 4 state model :struct: :ref:`tc-definition-tc-netem-gimodel` ge (``binary``) ~~~~~~~~~~~~~~~ :doc: Gilbert Elliot models :struct: :ref:`tc-definition-tc-netem-gemodel` .. _tc-attribute-set-tc-pie-attrs: tc-pie-attrs ============ target (``u32``) ~~~~~~~~~~~~~~~~ limit (``u32``) ~~~~~~~~~~~~~~~ tupdate (``u32``) ~~~~~~~~~~~~~~~~~ alpha (``u32``) ~~~~~~~~~~~~~~~ beta (``u32``) ~~~~~~~~~~~~~~ ecn (``u32``) ~~~~~~~~~~~~~ bytemode (``u32``) ~~~~~~~~~~~~~~~~~~ dq-rate-estimator (``u32``) ~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. _tc-attribute-set-tc-police-attrs: tc-police-attrs =============== tbf (``binary``) ~~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tc-police` rate (``binary``) ~~~~~~~~~~~~~~~~~ peakrate (``binary``) ~~~~~~~~~~~~~~~~~~~~~ avrate (``u32``) ~~~~~~~~~~~~~~~~ result (``u32``) ~~~~~~~~~~~~~~~~ tm (``binary``) ~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tcf-t` pad (``pad``) ~~~~~~~~~~~~~ rate64 (``u64``) ~~~~~~~~~~~~~~~~ peakrate64 (``u64``) ~~~~~~~~~~~~~~~~~~~~ pktrate64 (``u64``) ~~~~~~~~~~~~~~~~~~~ pktburst64 (``u64``) ~~~~~~~~~~~~~~~~~~~~ .. _tc-attribute-set-tc-qfq-attrs: tc-qfq-attrs ============ weight (``u32``) ~~~~~~~~~~~~~~~~ lmax (``u32``) ~~~~~~~~~~~~~~ .. _tc-attribute-set-tc-red-attrs: tc-red-attrs ============ parms (``binary``) ~~~~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tc-red-qopt` stab (``binary``) ~~~~~~~~~~~~~~~~~ max-p (``u32``) ~~~~~~~~~~~~~~~ flags (``bitfield32``) ~~~~~~~~~~~~~~~~~~~~~~ early-drop-block (``u32``) ~~~~~~~~~~~~~~~~~~~~~~~~~~ mark-block (``u32``) ~~~~~~~~~~~~~~~~~~~~ .. _tc-attribute-set-tc-route-attrs: tc-route-attrs ============== classid (``u32``) ~~~~~~~~~~~~~~~~~ to (``u32``) ~~~~~~~~~~~~ from (``u32``) ~~~~~~~~~~~~~~ iif (``u32``) ~~~~~~~~~~~~~ police (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`tc-attribute-set-tc-police-attrs` act (``indexed-array``) ~~~~~~~~~~~~~~~~~~~~~~~ :sub-type: nest :nested-attributes: :ref:`tc-attribute-set-tc-act-attrs` .. _tc-attribute-set-tc-taprio-attrs: tc-taprio-attrs =============== priomap (``binary``) ~~~~~~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tc-mqprio-qopt` sched-entry-list (``nest``) ~~~~~~~~~~~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`tc-attribute-set-tc-taprio-sched-entry-list` sched-base-time (``s64``) ~~~~~~~~~~~~~~~~~~~~~~~~~ sched-single-entry (``nest``) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`tc-attribute-set-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: :ref:`tc-attribute-set-tc-taprio-tc-entry-attrs` .. _tc-attribute-set-tc-taprio-sched-entry-list: tc-taprio-sched-entry-list ========================== entry (``nest``) ~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`tc-attribute-set-tc-taprio-sched-entry` :multi-attr: True .. _tc-attribute-set-tc-taprio-sched-entry: tc-taprio-sched-entry ===================== index (``u32``) ~~~~~~~~~~~~~~~ cmd (``u8``) ~~~~~~~~~~~~ gate-mask (``u32``) ~~~~~~~~~~~~~~~~~~~ interval (``u32``) ~~~~~~~~~~~~~~~~~~ .. _tc-attribute-set-tc-taprio-tc-entry-attrs: tc-taprio-tc-entry-attrs ======================== index (``u32``) ~~~~~~~~~~~~~~~ max-sdu (``u32``) ~~~~~~~~~~~~~~~~~ fp (``u32``) ~~~~~~~~~~~~ .. _tc-attribute-set-tc-tbf-attrs: tc-tbf-attrs ============ parms (``binary``) ~~~~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tc-tbf-qopt` rtab (``binary``) ~~~~~~~~~~~~~~~~~ ptab (``binary``) ~~~~~~~~~~~~~~~~~ rate64 (``u64``) ~~~~~~~~~~~~~~~~ prate4 (``u64``) ~~~~~~~~~~~~~~~~ burst (``u32``) ~~~~~~~~~~~~~~~ pburst (``u32``) ~~~~~~~~~~~~~~~~ pad (``pad``) ~~~~~~~~~~~~~ .. _tc-attribute-set-tc-act-sample-attrs: tc-act-sample-attrs =================== tm (``binary``) ~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tcf-t` parms (``binary``) ~~~~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tc-gen` rate (``u32``) ~~~~~~~~~~~~~~ trunc-size (``u32``) ~~~~~~~~~~~~~~~~~~~~ psample-group (``u32``) ~~~~~~~~~~~~~~~~~~~~~~~ pad (``pad``) ~~~~~~~~~~~~~ .. _tc-attribute-set-tc-act-gact-attrs: tc-act-gact-attrs ================= tm (``binary``) ~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tcf-t` parms (``binary``) ~~~~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tc-gen` prob (``binary``) ~~~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tc-gact-p` pad (``pad``) ~~~~~~~~~~~~~ .. _tc-attribute-set-tca-stab-attrs: tca-stab-attrs ============== base (``binary``) ~~~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tc-sizespec` data (``binary``) ~~~~~~~~~~~~~~~~~ .. _tc-attribute-set-tca-stats-attrs: tca-stats-attrs =============== basic (``binary``) ~~~~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-gnet-stats-basic` rate-est (``binary``) ~~~~~~~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-gnet-stats-rate-est` queue (``binary``) ~~~~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-gnet-stats-queue` app (``sub-message``) ~~~~~~~~~~~~~~~~~~~~~ :sub-message: :ref:`tc-sub-message-tca-stats-app-msg` :selector: kind rate-est64 (``binary``) ~~~~~~~~~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-gnet-stats-rate-est64` pad (``pad``) ~~~~~~~~~~~~~ basic-hw (``binary``) ~~~~~~~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-gnet-stats-basic` pkt64 (``u64``) ~~~~~~~~~~~~~~~ .. _tc-attribute-set-tc-u32-attrs: tc-u32-attrs ============ classid (``u32``) ~~~~~~~~~~~~~~~~~ hash (``u32``) ~~~~~~~~~~~~~~ link (``u32``) ~~~~~~~~~~~~~~ divisor (``u32``) ~~~~~~~~~~~~~~~~~ sel (``binary``) ~~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tc-u32-sel` police (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`tc-attribute-set-tc-police-attrs` act (``indexed-array``) ~~~~~~~~~~~~~~~~~~~~~~~ :sub-type: nest :nested-attributes: :ref:`tc-attribute-set-tc-act-attrs` indev (``string``) ~~~~~~~~~~~~~~~~~~ pcnt (``binary``) ~~~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tc-u32-pcnt` mark (``binary``) ~~~~~~~~~~~~~~~~~ :struct: :ref:`tc-definition-tc-u32-mark` flags (``u32``) ~~~~~~~~~~~~~~~ pad (``pad``) ~~~~~~~~~~~~~ ------------ Sub-messages ------------ .. _tc-sub-message-tc-options-msg: tc-options-msg ============== - **basic** :attribute-set: :ref:`tc-attribute-set-tc-basic-attrs` - **bpf** :attribute-set: :ref:`tc-attribute-set-tc-bpf-attrs` - **bfifo** :fixed-header: :ref:`tc-definition-tc-fifo-qopt` - **cake** :attribute-set: :ref:`tc-attribute-set-tc-cake-attrs` - **cbs** :attribute-set: :ref:`tc-attribute-set-tc-cbs-attrs` - **cgroup** :attribute-set: :ref:`tc-attribute-set-tc-cgroup-attrs` - **choke** :attribute-set: :ref:`tc-attribute-set-tc-choke-attrs` - **clsact** - **codel** :attribute-set: :ref:`tc-attribute-set-tc-codel-attrs` - **drr** :attribute-set: :ref:`tc-attribute-set-tc-drr-attrs` - **etf** :attribute-set: :ref:`tc-attribute-set-tc-etf-attrs` - **ets** :attribute-set: :ref:`tc-attribute-set-tc-ets-attrs` - **flow** :attribute-set: :ref:`tc-attribute-set-tc-flow-attrs` - **flower** :attribute-set: :ref:`tc-attribute-set-tc-flower-attrs` - **fq** :attribute-set: :ref:`tc-attribute-set-tc-fq-attrs` - **fq_codel** :attribute-set: :ref:`tc-attribute-set-tc-fq-codel-attrs` - **fq_pie** :attribute-set: :ref:`tc-attribute-set-tc-fq-pie-attrs` - **fw** :attribute-set: :ref:`tc-attribute-set-tc-fw-attrs` - **gred** :attribute-set: :ref:`tc-attribute-set-tc-gred-attrs` - **hfsc** :fixed-header: :ref:`tc-definition-tc-hfsc-qopt` - **hhf** :attribute-set: :ref:`tc-attribute-set-tc-hhf-attrs` - **htb** :attribute-set: :ref:`tc-attribute-set-tc-htb-attrs` - **ingress** - **matchall** :attribute-set: :ref:`tc-attribute-set-tc-matchall-attrs` - **mq** - **mqprio** :fixed-header: :ref:`tc-definition-tc-mqprio-qopt` - **multiq** :fixed-header: :ref:`tc-definition-tc-multiq-qopt` - **netem** :fixed-header: :ref:`tc-definition-tc-netem-qopt` :attribute-set: :ref:`tc-attribute-set-tc-netem-attrs` - **pfifo** :fixed-header: :ref:`tc-definition-tc-fifo-qopt` - **pfifo_fast** :fixed-header: :ref:`tc-definition-tc-prio-qopt` - **pfifo_head_drop** :fixed-header: :ref:`tc-definition-tc-fifo-qopt` - **pie** :attribute-set: :ref:`tc-attribute-set-tc-pie-attrs` - **plug** :fixed-header: :ref:`tc-definition-tc-plug-qopt` - **prio** :fixed-header: :ref:`tc-definition-tc-prio-qopt` - **qfq** :attribute-set: :ref:`tc-attribute-set-tc-qfq-attrs` - **red** :attribute-set: :ref:`tc-attribute-set-tc-red-attrs` - **route** :attribute-set: :ref:`tc-attribute-set-tc-route-attrs` - **sfb** :fixed-header: :ref:`tc-definition-tc-sfb-qopt` - **sfq** :fixed-header: :ref:`tc-definition-tc-sfq-qopt-v1` - **taprio** :attribute-set: :ref:`tc-attribute-set-tc-taprio-attrs` - **tbf** :attribute-set: :ref:`tc-attribute-set-tc-tbf-attrs` - **u32** :attribute-set: :ref:`tc-attribute-set-tc-u32-attrs` .. _tc-sub-message-tc-act-options-msg: tc-act-options-msg ================== - **bpf** :attribute-set: :ref:`tc-attribute-set-tc-act-bpf-attrs` - **connmark** :attribute-set: :ref:`tc-attribute-set-tc-act-connmark-attrs` - **csum** :attribute-set: :ref:`tc-attribute-set-tc-act-csum-attrs` - **ct** :attribute-set: :ref:`tc-attribute-set-tc-act-ct-attrs` - **ctinfo** :attribute-set: :ref:`tc-attribute-set-tc-act-ctinfo-attrs` - **gact** :attribute-set: :ref:`tc-attribute-set-tc-act-gact-attrs` - **gate** :attribute-set: :ref:`tc-attribute-set-tc-act-gate-attrs` - **ife** :attribute-set: :ref:`tc-attribute-set-tc-act-ife-attrs` - **mirred** :attribute-set: :ref:`tc-attribute-set-tc-act-mirred-attrs` - **mpls** :attribute-set: :ref:`tc-attribute-set-tc-act-mpls-attrs` - **nat** :attribute-set: :ref:`tc-attribute-set-tc-act-nat-attrs` - **pedit** :attribute-set: :ref:`tc-attribute-set-tc-act-pedit-attrs` - **police** :attribute-set: :ref:`tc-attribute-set-tc-act-police-attrs` - **sample** :attribute-set: :ref:`tc-attribute-set-tc-act-sample-attrs` - **simple** :attribute-set: :ref:`tc-attribute-set-tc-act-simple-attrs` - **skbedit** :attribute-set: :ref:`tc-attribute-set-tc-act-skbedit-attrs` - **skbmod** :attribute-set: :ref:`tc-attribute-set-tc-act-skbmod-attrs` - **tunnel_key** :attribute-set: :ref:`tc-attribute-set-tc-act-tunnel-key-attrs` - **vlan** :attribute-set: :ref:`tc-attribute-set-tc-act-vlan-attrs` .. _tc-sub-message-tca-stats-app-msg: tca-stats-app-msg ================= - **cake** :attribute-set: :ref:`tc-attribute-set-tc-cake-stats-attrs` - **choke** :fixed-header: :ref:`tc-definition-tc-choke-xstats` - **codel** :fixed-header: :ref:`tc-definition-tc-codel-xstats` - **fq** :fixed-header: :ref:`tc-definition-tc-fq-qd-stats` - **fq_codel** :fixed-header: :ref:`tc-definition-tc-fq-codel-xstats` - **fq_pie** :fixed-header: :ref:`tc-definition-tc-fq-pie-xstats` - **hhf** :fixed-header: :ref:`tc-definition-tc-hhf-xstats` - **pie** :fixed-header: :ref:`tc-definition-tc-pie-xstats` - **red** :fixed-header: :ref:`tc-definition-tc-red-xstats` - **sfb** :fixed-header: :ref:`tc-definition-tc-sfb-xstats` - **sfq** :fixed-header: :ref:`tc-definition-tc-sfq-xstats`