rte_tm_shaper_params(3)
β¨ NAME β¨
rte_tm_shaper_params β bestie, this is the shaper (rate limiter) profile struct from the DPDK library manual, page rte_tm_shaper_params(3) π
π SYNOPSIS π
#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 β that's the whole vibe, okay? Let's break it down π«Ά
Multiple shaper instances can share the same shaper profile, no cap. Every 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). The difference is literally just who's invited to the party π A private shaper does traffic shaping for a single node, while a shared shaper does traffic shaping for a group of nodes.
So the two flavours of shaper:
- Single rate shapers use a single token bucket. You set one up by setting the rate of the committed bucket to zero, which effectively disables this bucket. The peak bucket is the one that limits the rate and the burst size for the current shaper.
- Dual rate shapers use both the committed and the peak token buckets. And listen: the rate of the peak bucket has to be bigger than zero, and also greater than or equal to the rate of the committed bucket. That's not a suggestion, bestie, that's the rule π
π See also
struct rte_tm_capabilities::shaper_private_packet_mode_supportedstruct rte_tm_capabilities::shaper_private_byte_mode_supportedstruct rte_tm_capabilities::shaper_shared_packet_mode_supportedstruct rte_tm_capabilities::shaper_shared_byte_mode_supported
Definition at line 1039 of file rte_tm.h.
π¦ FIELD DOCUMENTATION π¦
struct rte_tm_token_bucket committed
Committed token bucket π
Definition at line 1041 of file rte_tm.h.
struct rte_tm_token_bucket peak
Peak token bucket β¨
Definition at line 1044 of file rte_tm.h.
int32_t pkt_length_adjust
A signed value that gets added to the length of each packet, and it's added for the purpose of shaping. It's there so you can correct the packet length with the framing overhead bytes that also get consumed on the wire (e.g. RTE_TM_ETH_FRAMING_OVERHEAD_FCS).
Heads up bestie: this field is ignored when the profile enables packet mode. Like, fully ignored. Don't even try it π
Definition at line 1052 of file rte_tm.h.
int packet_mode
Two modes, one field, iconic π
- 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.
π AUTHOR π
Generated automatically by Doxygen for DPDK from the source code. Not a human, not a bestie, just vibes and tooling fr fr π€π
okay that's the whole page, you ate that ππ
This was rte_tm_shaper_params(3) from the DPDK library's Library Functions Manual, DPDK Version 25.11.3, and yeah that's the version and date sitch, mwah πβ¨π«Ά
π¦ where this page comes from
- ubuntu resolute: dpdk-doc 25.11.3-0ubuntu0.26.04.1 Β· BSD-3-Clause
- ubuntu stonking: dpdk-doc 25.11.3-1 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms