rte_mtr_params(3)

rte_mtr_params πŸ’–

okay bestie, welcome to the rte_mtr_params(3) page, straight out of the Library Functions Manual πŸŽ€ this is the struct you hand over when you're spinning up a traffic metering & policing object, and yes, every single field matters, no skipping ✨


NAME ✨

rte_mtr_params β€” the parameters struct for your MTR (metering & policing) object, and she is detailed 🫢


SYNOPSIS 🌸

#include <rte_mtr.h>

Data Fields πŸ‘‘

uint32_t meter_profile_id
int use_prev_mtr_color
enum rte_color * dscp_table
enum rte_color * vlan_table
int meter_enable
uint64_t stats_mask
uint32_t meter_policy_id
enum rte_color default_input_color

Detailed Description πŸ’…

Parameters for each traffic metering & policing object. That's the whole vibe β€” this struct is the little bundle of settings that describes one MTR object. πŸ’–

See also

  • enum rte_mtr_stats_type

Definition at line 264 of file rte_mtr.h.


Field Documentation πŸ¦‹

uint32_t meter_profile_id ⭐

Meter profile ID. That's it, that's the field, she's simple and she knows it.

See also

  • rte_mtr_meter_profile_add()

Definition at line 266 of file rte_mtr.h.


int use_prev_mtr_color πŸ”₯

Meter input color in case of MTR object chaining. This one's the plot twist of the whole struct, so listen up πŸ™ˆ

  • When non-zero: if a previous MTR object is enabled in the same flow, then the color determined by the latest MTR object in the same flow is used as the input color by the current MTR object. Otherwise the current MTR object uses the dscp_table to determine the input color.
  • When zero: the color determined by any previous MTR object in same flow is ignored by the current MTR object, which uses the dscp_table to determine the input color.

Definition at line 277 of file rte_mtr.h.


enum rte_color* dscp_table 🌈

Meter input color based on IP DSCP protocol field.

Valid when input_color_proto_mask set to any of the following RTE_MTR_COLOR_IN_PROTO_OUTER_IP, RTE_MTR_COLOR_IN_PROTO_INNER_IP

  • When non-NULL: it points to a pre-allocated and pre-populated table with exactly 64 elements providing the input color for each value of the IPv4/IPv6 Differentiated Services Code Point (DSCP) input packet field.
  • When NULL: it is equivalent to setting this parameter to an all-green populated table (i.e. table with all the 64 elements set to green color). The color blind mode is configured by setting use_prev_mtr_color to 0 and dscp_table to either NULL or to an all-green populated table.
  • When use_prev_mtr_color is non-zero value or when dscp_table contains at least one yellow or red color element, then the color aware mode is configured.

See also

  • enum rte_mtr_color_in_protocol::RTE_MTR_COLOR_IN_PROTO_OUTER_IP
  • enum rte_mtr_color_in_protocol::RTE_MTR_COLOR_IN_PROTO_INNER_IP
  • struct rte_mtr_params::input_color_proto_mask

Definition at line 304 of file rte_mtr.h.


enum rte_color* vlan_table πŸŽ€

Meter input color based on VLAN DEI(1bit), PCP(3 bits) protocol fields.

Valid when input_color_proto_mask set to any of the following RTE_MTR_COLOR_IN_PROTO_OUTER_VLAN, RTE_MTR_COLOR_IN_PROTO_INNER_VLAN

  • When non-NULL: it points to a pre-allocated and pre-populated table with exactly 16 elements providing the input color for each value of the DEI(1bit), PCP(3 bits) input packet field.
  • When NULL: it is equivalent to setting this parameter to an all-green populated table (i.e. table with all the 16 elements set to green color). The color blind mode is configured by setting use_prev_mtr_color to 0 and vlan_table to either NULL or to an all-green populated table.
  • When use_prev_mtr_color is non-zero value or when vlan_table contains at least one yellow or red color element, then the color aware mode is configured.

See also

  • enum rte_mtr_color_in_protocol::RTE_MTR_COLOR_IN_PROTO_OUTER_VLAN
  • enum rte_mtr_color_in_protocol::RTE_MTR_COLOR_IN_PROTO_INNER_VLAN
  • struct rte_mtr_params::input_color_proto_mask

Definition at line 330 of file rte_mtr.h.


int meter_enable πŸ’œ

Non-zero to enable the meter, zero to disable the meter at the time of MTR object creation. Ignored when the meter profile indicated by meter_profile_id is set to NONE. πŸ‘€

See also

  • rte_mtr_meter_disable()

Definition at line 336 of file rte_mtr.h.


uint64_t stats_mask πŸ“Š

Set of stats counters to be enabled. Pick your faves πŸ’…

See also

  • enum rte_mtr_stats_type

Definition at line 341 of file rte_mtr.h.


uint32_t meter_policy_id πŸ‘‘

Meter policy ID. Name says it all, periodt.

See also

  • rte_mtr_meter_policy_add()

Definition at line 344 of file rte_mtr.h.


enum rte_color default_input_color 🌸

Input color to be set for the input packet when none of the enabled input color methods is applicable to the input packet. Ignored when this when input_color_proto_mask set to zero. (yes, that's the original phrasing, "when this when", we keep it, no cap 😭)

Definition at line 350 of file rte_mtr.h.


Author 🫢

Generated automatically by Doxygen for DPDK from the source code. Not a human, just a robot doing its lil thing πŸ€–πŸ’–


and that's the whole page bestie, you ate it up ⭐ this was the rte_mtr_params(3) man page for DPDK Version 25.11.3 ✨ go forth and meter those packets responsibly, ily, bye πŸ’…πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from