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

FreeBSD Manual Pages

  
 
  

home | help
rte_tm_level_capabilities(3)	     DPDK	  rte_tm_level_capabilities(3)

NAME
       rte_tm_level_capabilities

SYNOPSIS
       #include	<rte_tm.h>

   Data	Fields
       uint32_t	n_nodes_max
       uint32_t	n_nodes_nonleaf_max
       uint32_t	n_nodes_leaf_max
       int non_leaf_nodes_identical
       int leaf_nodes_identical
       int shaper_private_supported
       int shaper_private_dual_rate_supported
       uint64_t	shaper_private_rate_min
       uint64_t	shaper_private_rate_max
       int shaper_private_packet_mode_supported
       int shaper_private_byte_mode_supported
       uint32_t	shaper_shared_n_max
       int shaper_shared_packet_mode_supported
       int shaper_shared_byte_mode_supported
       uint32_t	sched_n_children_max
       uint32_t	sched_sp_n_priorities_max
       uint32_t	sched_wfq_n_children_per_group_max
       uint32_t	sched_wfq_n_groups_max
       uint32_t	sched_wfq_weight_max
       int sched_wfq_packet_mode_supported
       int sched_wfq_byte_mode_supported
       uint64_t	stats_mask
       struct {
	  int shaper_private_supported
	  int shaper_private_dual_rate_supported
	  uint64_t shaper_private_rate_min
	  uint64_t shaper_private_rate_max
	  int shaper_private_packet_mode_supported
	  int shaper_private_byte_mode_supported
	  uint32_t shaper_shared_n_max
	  int shaper_shared_packet_mode_supported
	  int shaper_shared_byte_mode_supported
	  uint32_t sched_n_children_max
	  uint32_t sched_sp_n_priorities_max
	  uint32_t sched_wfq_n_children_per_group_max
	  uint32_t sched_wfq_n_groups_max
	  uint32_t sched_wfq_weight_max
	  int sched_wfq_packet_mode_supported
	  int sched_wfq_byte_mode_supported
	  uint64_t stats_mask
       } nonleaf
       int cman_wred_packet_mode_supported
       int cman_wred_byte_mode_supported
       int cman_head_drop_supported
       int cman_wred_context_private_supported
       uint32_t	cman_wred_context_shared_n_max
       struct {
	  int shaper_private_supported
	  int shaper_private_dual_rate_supported
	  uint64_t shaper_private_rate_min
	  uint64_t shaper_private_rate_max
	  int shaper_private_packet_mode_supported
	  int shaper_private_byte_mode_supported
	  uint32_t shaper_shared_n_max
	  int shaper_shared_packet_mode_supported
	  int shaper_shared_byte_mode_supported
	  int cman_wred_packet_mode_supported
	  int cman_wred_byte_mode_supported
	  int cman_head_drop_supported
	  int cman_wred_context_private_supported
	  uint32_t cman_wred_context_shared_n_max
	  uint64_t stats_mask
       } leaf

Detailed Description
       Traffic manager level capabilities

       Definition at line 471 of file rte_tm.h.

Field Documentation
   uint32_t n_nodes_max
       Maximum number of nodes for the current hierarchy level.

       Definition at line 473 of file rte_tm.h.

   uint32_t n_nodes_nonleaf_max
       Maximum number of non-leaf nodes	for the	current	hierarchy level. The
       value of	0 indicates that current level only supports leaf nodes. The
       maximum value is	n_nodes_max.

       Definition at line 479 of file rte_tm.h.

   uint32_t n_nodes_leaf_max
       Maximum number of leaf nodes for	the current hierarchy level. The value
       of 0 indicates that current level only supports non-leaf	nodes. The
       maximum value is	n_nodes_max.

       Definition at line 485 of file rte_tm.h.

   int non_leaf_nodes_identical
       When non-zero, this flag	indicates that all the non-leaf	nodes on this
       level have identical capability set. Valid only when
       n_nodes_nonleaf_max is non-zero.

       Definition at line 491 of file rte_tm.h.

   int leaf_nodes_identical
       When non-zero, this flag	indicates that all the leaf nodes on this
       level have identical capability set. Valid only when n_nodes_leaf_max
       is non-zero.

       Definition at line 497 of file rte_tm.h.

   int shaper_private_supported
       Private shaper support. When non-zero, it indicates there is at least
       one non-leaf node on this level with private shaper support, which may
       not be the case for all the non-leaf nodes on this level.

       Private shaper support. When non-zero, it indicates there is at least
       one leaf	node on	this level with	private	shaper support,	which may not
       be the case for all the leaf nodes on this level.

       Definition at line 507 of file rte_tm.h.

   int shaper_private_dual_rate_supported
       Dual rate support for private shaper. Valid only	when private shaper is
       supported for the non-leaf nodes	on the current level. When non-zero,
       it indicates there is at	least one non-leaf node	on this	level with
       dual rate private shaper	support, which may not be the case for all the
       non-leaf	nodes on this level.

       Dual rate support for private shaper. Valid only	when private shaper is
       supported for the leaf nodes on this level. When	non-zero, it indicates
       there is	at least one leaf node on this level with dual rate private
       shaper support, which may not be	the case for all the leaf nodes	on
       this level.

       Definition at line 517 of file rte_tm.h.

   uint64_t shaper_private_rate_min
       Minimum committed/peak rate (bytes per second) for private shapers of
       the non-leaf nodes of this level. Valid only when private shaper	is
       supported on this level.

       Minimum committed/peak rate (bytes per second) for private shapers of
       the leaf	nodes of this level. Valid only	when private shaper is
       supported for the leaf nodes on this level.

       Definition at line 524 of file rte_tm.h.

   uint64_t shaper_private_rate_max
       Maximum committed/peak rate (bytes per second) for private shapers of
       the non-leaf nodes on this level. Valid only when private shaper	is
       supported on this level.

       Maximum committed/peak rate (bytes per second) for private shapers of
       the leaf	nodes on this level. Valid only	when private shaper is
       supported for the leaf nodes on this level.

       Definition at line 531 of file rte_tm.h.

   int shaper_private_packet_mode_supported
       Shaper private packet mode supported. When non-zero, this parameter
       indicates there is at least one non-leaf	node at	this level that	can be
       configured with packet mode in its private shaper. When private shaper
       is configured in	packet mode, committed/peak rate provided is
       interpreted in packets per second.

       Shaper private packet mode supported. When non-zero, this parameter
       indicates there is at least one leaf node at this level that can	be
       configured with packet mode in its private shaper. When private shaper
       is configured in	packet mode, committed/peak rate provided is
       interpreted in packets per second.

       Definition at line 540 of file rte_tm.h.

   int shaper_private_byte_mode_supported
       Shaper private byte mode	supported. When	non-zero, this parameter
       indicates there is at least one non-leaf	node at	this level that	can be
       configured with byte mode in its	private	shaper.	When private shaper is
       configured in byte mode,	committed/peak rate provided is	interpreted in
       bytes per second.

       Shaper private byte mode	supported. When	non-zero, this parameter
       indicates there is at least one leaf node at this level that can	be
       configured with byte mode in its	private	shaper.	When private shaper is
       configured in byte mode,	committed/peak rate provided is	interpreted in
       bytes per second.

       Definition at line 549 of file rte_tm.h.

   uint32_t shaper_shared_n_max
       Maximum number of shared	shapers	that any non-leaf node on this level
       can be part of. The value of zero indicates that	shared shapers are not
       supported by the	non-leaf nodes on this level. When non-zero, it
       indicates there is at least one non-leaf	node on	this level that	meets
       this condition, which may not be	the case for all the non-leaf nodes on
       this level.

       Maximum number of shared	shapers	that any leaf node on this level can
       be part of. The value of	zero indicates that shared shapers are not
       supported by the	leaf nodes on this level. When non-zero, it indicates
       there is	at least one leaf node on this level that meets	this
       condition, which	may not	be the case for	all the	leaf nodes on this
       level.

       Definition at line 559 of file rte_tm.h.

   int shaper_shared_packet_mode_supported
       Shaper shared packet mode supported. When non-zero, this	parameter
       indicates that there is at least	one non-leaf node on this level	that
       can be part of shared shapers which work	in packet mode.

       Shaper shared packet mode supported. When non-zero, this	parameter
       indicates that there is at least	one leaf node on this level that can
       be part of shared shapers which work in packet mode.

       Definition at line 566 of file rte_tm.h.

   int shaper_shared_byte_mode_supported
       Shaper shared byte mode supported. When non-zero, this parameter
       indicates that there is at least	one non-leaf node on this level	that
       can be part of shared shapers which work	in byte	mode.

       Shaper shared byte mode supported. When non-zero, this parameter
       indicates that there is at least	one leaf node on this level that can
       be part of shared shapers which work in byte mode.

       Definition at line 573 of file rte_tm.h.

   uint32_t sched_n_children_max
       Maximum number of children nodes. This parameter	indicates that there
       is at least one non-leaf	node on	this level that	can be configured with
       this many children nodes, which might not be true for all the non-leaf
       nodes on	this level.

       Definition at line 581 of file rte_tm.h.

   uint32_t sched_sp_n_priorities_max
       Maximum number of supported priority levels. This parameter indicates
       that there is at	least one non-leaf node	on this	level that can be
       configured with this many priority levels for managing its children
       nodes, which might not be true for all the non-leaf nodes on this
       level. The value	of zero	is invalid. The	value of 1 indicates that only
       priority	0 is supported,	which essentially means	that Strict Priority
       (SP) algorithm is not supported on this level.

       Definition at line 594 of file rte_tm.h.

   uint32_t sched_wfq_n_children_per_group_max
       Maximum number of sibling nodes that can	have the same priority at any
       given time, i.e.	maximum	size of	the WFQ	sibling	node group. This
       parameter indicates there is at least one non-leaf node on this level
       that meets this condition, which	may not	be true	for all	the non-leaf
       nodes on	this level. The	value of zero is invalid. The value of 1
       indicates that WFQ algorithm is not supported on	this level. The
       maximum value is	sched_n_children_max.

       Definition at line 606 of file rte_tm.h.

   uint32_t sched_wfq_n_groups_max
       Maximum number of priority levels that can have more than one child
       node at any given time, i.e. maximum number of WFQ sibling node groups
       that have two or	more members. This parameter indicates there is	at
       least one non-leaf node on this level that meets	this condition,	which
       might not be true for all the non-leaf nodes. The value of zero states
       that WFQ	algorithm is not supported on this level. The value of 1
       indicates that (sched_sp_n_priorities_max - 1) priority levels on this
       level have at most one child node, so there can be only one priority
       level with two or more sibling nodes making up a	WFQ group on this
       level. The maximum value	is: min(floor(sched_n_children_max / 2),
       sched_sp_n_priorities_max).

       Definition at line 625 of file rte_tm.h.

   uint32_t sched_wfq_weight_max
       Maximum WFQ weight. The value of	1 indicates that all sibling nodes on
       this level with same priority have the same WFQ weight, so on this
       level WFQ is reduced to FQ.

       Definition at line 632 of file rte_tm.h.

   int sched_wfq_packet_mode_supported
       WFQ packet mode supported. When non-zero, this parameter	indicates that
       there is	at least one non-leaf node at this level that supports packet
       mode for	WFQ among its children.	WFQ weights will be applied against
       packet count for	scheduling children when a non-leaf node is configured
       appropriately.

       Definition at line 642 of file rte_tm.h.

   int sched_wfq_byte_mode_supported
       WFQ byte	mode supported.	When non-zero, this parameter indicates	that
       there is	at least one non-leaf node at this level that supports byte
       mode for	WFQ among its children.	WFQ weights will be applied against
       bytes for scheduling children when a non-leaf node is configured
       appropriately.

       Definition at line 651 of file rte_tm.h.

   uint64_t stats_mask
       Mask of statistics counter types	supported by the non-leaf nodes	on
       this level. Every supported statistics counter type is supported	by at
       least one non-leaf node on this level, which may	not be true for	all
       the non-leaf nodes on this level.

       See also
	   enum	rte_tm_stats_type

       Mask of statistics counter types	supported by the leaf nodes on this
       level. Every supported statistics counter type is supported by at least
       one leaf	node on	this level, which may not be true for all the leaf
       nodes on	this level.

       See also
	   enum	rte_tm_stats_type

       Definition at line 660 of file rte_tm.h.

   struct  { ... }  nonleaf
       Items valid only	for the	non-leaf nodes on this level.

   int cman_wred_packet_mode_supported
       WRED packet mode	support. When non-zero,	this parameter indicates that
       there is	at least one leaf node on this level that supports the WRED
       packet mode, which might	not be true for	all the	leaf nodes. In packet
       mode, the WRED thresholds specify the queue length in packets, as
       opposed to bytes.

       Definition at line 744 of file rte_tm.h.

   int cman_wred_byte_mode_supported
       WRED byte mode support. When non-zero, this parameter indicates that
       there is	at least one leaf node on this level that supports the WRED
       byte mode, which	might not be true for all the leaf nodes. In byte
       mode, the WRED thresholds specify the queue length in bytes, as opposed
       to packets.

       Definition at line 753 of file rte_tm.h.

   int cman_head_drop_supported
       Head drop algorithm support. When non-zero, this	parameter indicates
       that there is at	least one leaf node on this level that supports	the
       head drop algorithm, which might	not be true for	all the	leaf nodes on
       this level.

       Definition at line 761 of file rte_tm.h.

   int cman_wred_context_private_supported
       Private WRED context support. When non-zero, it indicates there is at
       least one node on this level with private WRED context support, which
       may not be true for all the leaf	nodes on this level.

       Definition at line 768 of file rte_tm.h.

   uint32_t cman_wred_context_shared_n_max
       Maximum number of shared	WRED contexts that any leaf node on this level
       can be part of. The value of zero indicates that	shared WRED contexts
       are not supported by the	leaf nodes on this level. When non-zero, it
       indicates there is at least one leaf node on this level that meets this
       condition, which	may not	be the case for	all the	leaf nodes on this
       level.

       Definition at line 779 of file rte_tm.h.

   struct  { ... }  leaf
       Items valid only	for the	leaf nodes on this level.

Author
       Generated automatically by Doxygen for DPDK from	the source code.

Version	25.11.0			Thu Jun	11 2026	  rte_tm_level_capabilities(3)

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

home | help