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

FreeBSD Manual Pages

  
 
  

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
       output (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
       assimilated 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
       algorithm based on their	priority, with zero (0)	as the highest
       priority. Children 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
       Ethernet	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
       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.

Version	25.11.0			Thu Jun	11 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