Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
rte_tm_node_params(3)		      DPDK		   rte_tm_node_params(3)

NAME
     rte_tm_node_params

SYNOPSIS
     #include <rte_tm.h>

   Data Fields
     uint32_t shaper_profile_id
     uint32_t * shared_shaper_id
     uint32_t n_shared_shapers
     uint64_t stats_mask
     int * wfq_weight_mode
     uint32_t n_sp_priorities
     struct {
	int * wfq_weight_mode
	uint32_t n_sp_priorities
     } nonleaf
     enum rte_tm_cman_mode cman
     uint32_t wred_profile_id
     uint32_t * shared_wred_context_id
     uint32_t n_shared_wred_contexts
     struct {
	uint32_t wred_profile_id
	uint32_t * shared_wred_context_id
	uint32_t n_shared_wred_contexts
     } wred
     struct {
	enum rte_tm_cman_mode cman
	struct {
	   uint32_t wred_profile_id
	   uint32_t * shared_wred_context_id
	   uint32_t n_shared_wred_contexts
	} wred
     } leaf

Detailed Description
     Node parameters

     Each non-leaf node has multiple inputs (its children nodes) and single out-
     put  (which  is  input  to its parent node). It arbitrates its inputs using
     Strict Priority (SP) and Weighted Fair Queuing (WFQ) algorithms to schedule
     input packets to its output while observing  its  shaping	(rate  limiting)
     constraints.

     Algorithms  such as Weighted Round Robin (WRR), Byte-level WRR, Deficit WRR
     (DWRR), etc. are considered approximations of the WFQ ideal and are assimi-
     lated to WFQ, although an associated implementation-dependent trade-off  on
     accuracy, performance and resource usage might exist.

     Children  nodes  with different priorities are scheduled using the SP algo-
     rithm based on their priority, with zero (0) as the highest priority. Chil-
     dren with the same priority are 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 Ether-
     net port. The non-leaf nodes have their IDs generated by the application.

     Definition at line 1092 of file rte_tm.h.

Field Documentation
   uint32_t 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_supported

	 struct 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 con-
     text for the current leaf	node  is  indicated  by  value	RTE_TM_WRED_PRO-
     FILE_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 indi-
     cates 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.

Version 25.11.0 		 Thu Aug 27 2026	   rte_tm_node_params(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=n_shared_wred_contexts&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help