rte_tm_node_params(3)
π rte_tm_node_params π
okay bestie, gather round, because this is the manual page for rte_tm_node_params β a struct from DPDK's rte_tm.h, sitting pretty in section 3 of the library functions manual. it's giving "traffic manager node params" and honestly? kind of iconic. let's get into it π
β¨ SYNOPSIS β¨
#include <rte_tm.h>
π¦ Data Fields
uint32_t shaper_profile_iduint32_t * shared_shaper_iduint32_t n_shared_shapersuint64_t stats_mask
πΈ Detailed Description πΈ
so this whole thing? Node parameters. that's the vibe. π
Every non-leaf node has multiple inputs (those are its children nodes, aw) and a single output β and that output is the input to its parent node. very "one output, many inputs, main character energy." It arbitrates its inputs using Strict Priority (SP) and Weighted Fair Queuing (WFQ) algorithms to schedule input packets to its output, all while observing its shaping (rate limiting) constraints. busy queen. π
Algorithms like Weighted Round Robin (WRR), Byte-level WRR, Deficit WRR (DWRR), etc. are considered approximations of the WFQ ideal, and they get assimilated to WFQ β no cap. but an associated implementation-dependent trade-off on accuracy, performance and resource usage might exist. so like. know that. π
Children nodes with different priorities are scheduled using the SP algorithm based on their priority, with zero (0) as the highest priority. Yes, zero is the top of the food chain here, it's giving reverse-hierarchy slay. β Children with the same priority get scheduled using the WFQ algorithm according to their weights. The WFQ weight of a given child node is relative to the sum of the weights of all its sibling nodes that have the same priority, with one (1) as the lowest weight. For each SP priority, the WFQ weight mode can be set as either byte-based or packet-based.
Each leaf node sits on top of a Tx queue of the current Ethernet port. Hence, the leaf nodes are predefined, with their node IDs set to 0 .. (N-1), where N is the number of Tx queues configured for the current Ethernet port. The non-leaf nodes have their IDs generated by the application. so leaf = predetermined diva, non-leaf = you build them yourself π οΈ
Definition at line 1092 of file rte_tm.h.
π¦ Field Documentation π¦
uint32_t shaper_profile_id {#shaper-profile-id}
Shaper profile for the private shaper. The absence of the private shaper for the current node is indicated by setting this parameter to RTE_TM_SHAPER_PROFILE_ID_NONE.
Definition at line 1097 of file rte_tm.h.
uint32_t* shared_shaper_id
User allocated array of valid shared shaper IDs.
Definition at line 1100 of file rte_tm.h.
uint32_t n_shared_shapers
Number of shared shaper IDs in the shared_shaper_id array.
Definition at line 1103 of file rte_tm.h.
int* wfq_weight_mode
WFQ weight mode for each SP priority. When NULL, it indicates that WFQ is to be used for all priorities. When non-NULL, it points to a pre-allocated array of n_sp_priorities values, with non-zero value for byte-mode and zero for packet-mode.
See also
struct rte_tm_node_capabilities::sched_wfq_packet_mode_supportedstruct rte_tm_node_capabilities::sched_wfq_byte_mode_supported
Definition at line 1116 of file rte_tm.h.
uint32_t n_sp_priorities
Number of SP priorities.
Definition at line 1119 of file rte_tm.h.
struct { ... } nonleaf
Parameters only valid for non-leaf nodes.
enum rte_tm_cman_mode cman
Congestion management mode
Definition at line 1125 of file rte_tm.h.
uint32_t wred_profile_id
WRED profile for private WRED context. The absence of a private WRED context for the current leaf node is indicated by value RTE_TM_WRED_PROFILE_ID_NONE.
Definition at line 1136 of file rte_tm.h.
uint32_t* shared_wred_context_id
User allocated array of shared WRED context IDs. When set to NULL, it indicates that the current leaf node should not currently be part of any shared WRED contexts.
Definition at line 1143 of file rte_tm.h.
uint32_t n_shared_wred_contexts
Number of elements in the shared_wred_context_id array. Only valid when shared_wred_context_id is non-NULL, in which case it should be non-zero.
Definition at line 1150 of file rte_tm.h.
struct { ... } wred
WRED parameters (only valid when cman is set to WRED).
struct { ... } leaf
Parameters only valid for leaf nodes.
uint64_t stats_mask
Mask of statistics counter types to be enabled for this node. This needs to be a subset of the statistics counter types available for the current node. Any statistics counter type not included in this set is to be disabled for the current node.
See also
enum rte_tm_stats_type
Definition at line 1161 of file rte_tm.h.
π Author π
Generated automatically by Doxygen for DPDK from the source code.
and that's the whole thing, bestie, you ate it up π«Ά this was DPDK, Version 25.11.3, and we're out β rte_tm_node_params(3), periodt. ππβ¨
π¦ where this page comes from
- ubuntu resolute: dpdk-doc 25.11.3-0ubuntu0.26.04.1 Β· BSD-3-Clause
- ubuntu stonking: dpdk-doc 25.11.3-1 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms