DPDK 25.03.0-rc0
Data Fields
rte_tm_shaper_params Struct Reference

#include <rte_tm.h>

Data Fields

struct rte_tm_token_bucket committed
 
struct rte_tm_token_bucket peak
 
int32_t pkt_length_adjust
 
int packet_mode
 

Detailed Description

Shaper (rate limiter) profile

Multiple shaper instances can share the same shaper profile. Each node has zero or one private shaper (only one node using it) and/or zero, one or several shared shapers (multiple nodes use the same shaper instance). A private shaper is used to perform traffic shaping for a single node, while a shared shaper is used to perform traffic shaping for a group of nodes.

Single rate shapers use a single token bucket. A single rate shaper can be configured by setting the rate of the committed bucket to zero, which effectively disables this bucket. The peak bucket is used to limit the rate and the burst size for the current shaper.

Dual rate shapers use both the committed and the peak token buckets. The rate of the peak bucket has to be bigger than zero, as well as greater than or equal to the rate of the committed bucket.

See also
struct rte_tm_capabilities::shaper_private_packet_mode_supported
struct rte_tm_capabilities::shaper_private_byte_mode_supported
struct rte_tm_capabilities::shaper_shared_packet_mode_supported
struct rte_tm_capabilities::shaper_shared_byte_mode_supported

Definition at line 1039 of file rte_tm.h.

Field Documentation

◆ committed

struct rte_tm_token_bucket committed

Committed token bucket

Definition at line 1041 of file rte_tm.h.

◆ peak

struct rte_tm_token_bucket peak

Peak token bucket

Definition at line 1044 of file rte_tm.h.

◆ pkt_length_adjust

int32_t pkt_length_adjust

Signed value to be added to the length of each packet for the purpose of shaping. Can be used to correct the packet length with the framing overhead bytes that are also consumed on the wire (e.g. RTE_TM_ETH_FRAMING_OVERHEAD_FCS). This field is ignored when the profile enables packet mode.

Definition at line 1052 of file rte_tm.h.

◆ packet_mode

int packet_mode

When zero, the byte mode is enabled for the current profile, so the rate and size fields in both the committed and peak token buckets are specified in bytes per second and bytes, respectively. When non-zero, the packet mode is enabled for the current profile, so the rate and size fields in both the committed and peak token buckets are specified in packets per second and packets, respectively.

Definition at line 1062 of file rte_tm.h.


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