DPDK 25.11.3
Loading...
Searching...
No Matches
rte_tm_level_capabilities::[struct].__unnamed0__.nonleaf Struct Reference

Data Fields

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

Detailed Description

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

Definition at line 501 of file rte_tm.h.

Field Documentation

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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_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_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.

◆ 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_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.

◆ 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.

◆ 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.

◆ 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.

◆ 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).

◆ 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.

◆ 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.

◆ 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.

◆ 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

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