DPDK  23.07.0
Data Fields
rte_tm_level_capabilities Struct Reference

#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 475 of file rte_tm.h.

Field Documentation

◆ n_nodes_max

uint32_t n_nodes_max

Maximum number of nodes for the current hierarchy level.

Definition at line 477 of file rte_tm.h.

◆ n_nodes_nonleaf_max

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 483 of file rte_tm.h.

◆ n_nodes_leaf_max

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 489 of file rte_tm.h.

◆ non_leaf_nodes_identical

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 495 of file rte_tm.h.

◆ leaf_nodes_identical

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 501 of file rte_tm.h.

◆ shaper_private_supported

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 512 of file rte_tm.h.

◆ shaper_private_dual_rate_supported

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 522 of file rte_tm.h.

◆ shaper_private_rate_min

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 529 of file rte_tm.h.

◆ shaper_private_rate_max

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 536 of file rte_tm.h.

◆ shaper_private_packet_mode_supported

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 545 of file rte_tm.h.

◆ shaper_private_byte_mode_supported

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 554 of file rte_tm.h.

◆ shaper_shared_n_max

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 564 of file rte_tm.h.

◆ shaper_shared_packet_mode_supported

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 571 of file rte_tm.h.

◆ shaper_shared_byte_mode_supported

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 578 of file rte_tm.h.

◆ sched_n_children_max

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 586 of file rte_tm.h.

◆ sched_sp_n_priorities_max

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 599 of file rte_tm.h.

◆ sched_wfq_n_children_per_group_max

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 611 of file rte_tm.h.

◆ sched_wfq_n_groups_max

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 630 of file rte_tm.h.

◆ sched_wfq_weight_max

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 637 of file rte_tm.h.

◆ sched_wfq_packet_mode_supported

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 647 of file rte_tm.h.

◆ sched_wfq_byte_mode_supported

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 656 of file rte_tm.h.

◆ stats_mask

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 665 of file rte_tm.h.

◆ nonleaf

struct { ... } nonleaf

Items valid only for the non-leaf nodes on this level.

◆ cman_wred_packet_mode_supported

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 749 of file rte_tm.h.

◆ cman_wred_byte_mode_supported

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 758 of file rte_tm.h.

◆ cman_head_drop_supported

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 766 of file rte_tm.h.

◆ cman_wred_context_private_supported

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 773 of file rte_tm.h.

◆ cman_wred_context_shared_n_max

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 784 of file rte_tm.h.

◆ leaf

struct { ... } leaf

Items valid only for the leaf nodes on this level.


The documentation for this struct was generated from the following file: