DPDK  18.02.2
Data Structures | Enumerations | Functions
rte_meter.h File Reference
#include <stdint.h>

Go to the source code of this file.

Data Structures

struct  rte_meter_srtcm_params
struct  rte_meter_trtcm_params

Enumerations

enum  rte_meter_color { e_RTE_METER_GREEN = 0, e_RTE_METER_YELLOW, e_RTE_METER_RED, e_RTE_METER_COLORS }

Functions

int rte_meter_srtcm_config (struct rte_meter_srtcm *m, struct rte_meter_srtcm_params *params)
int rte_meter_trtcm_config (struct rte_meter_trtcm *m, struct rte_meter_trtcm_params *params)
static enum rte_meter_color rte_meter_srtcm_color_blind_check (struct rte_meter_srtcm *m, uint64_t time, uint32_t pkt_len)
static enum rte_meter_color rte_meter_srtcm_color_aware_check (struct rte_meter_srtcm *m, uint64_t time, uint32_t pkt_len, enum rte_meter_color pkt_color)
static enum rte_meter_color rte_meter_trtcm_color_blind_check (struct rte_meter_trtcm *m, uint64_t time, uint32_t pkt_len)
static enum rte_meter_color rte_meter_trtcm_color_aware_check (struct rte_meter_trtcm *m, uint64_t time, uint32_t pkt_len, enum rte_meter_color pkt_color)

Detailed Description

RTE Traffic Metering

Traffic metering algorithms:

  1. Single Rate Three Color Marker (srTCM): defined by IETF RFC 2697
  2. Two Rate Three Color Marker (trTCM): defined by IETF RFC 2698

Definition in file rte_meter.h.

Enumeration Type Documentation

Packet Color Set

Enumerator:
e_RTE_METER_GREEN 

Green

e_RTE_METER_YELLOW 

Yellow

e_RTE_METER_RED 

Red

e_RTE_METER_COLORS 

Number of available colors

Examples:
examples/ip_pipeline/pipeline/pipeline_flow_actions_be.c, and examples/ip_pipeline/pipeline/pipeline_routing_be.c.

Definition at line 30 of file rte_meter.h.

Function Documentation

int rte_meter_srtcm_config ( struct rte_meter_srtcm *  m,
struct rte_meter_srtcm_params params 
)

srTCM configuration per metered traffic flow

Parameters
mPointer to pre-allocated srTCM data structure
paramsUser parameters per srTCM metered traffic flow
Returns
0 upon success, error code otherwise
int rte_meter_trtcm_config ( struct rte_meter_trtcm *  m,
struct rte_meter_trtcm_params params 
)

trTCM configuration per metered traffic flow

Parameters
mPointer to pre-allocated trTCM data structure
paramsUser parameters per trTCM metered traffic flow
Returns
0 upon success, error code otherwise
Examples:
examples/ip_pipeline/pipeline/pipeline_flow_actions_be.c.
static enum rte_meter_color rte_meter_srtcm_color_blind_check ( struct rte_meter_srtcm *  m,
uint64_t  time,
uint32_t  pkt_len 
)
inlinestatic

srTCM color blind traffic metering

Parameters
mHandle to srTCM instance
timeCurrent CPU time stamp (measured in CPU cycles)
pkt_lenLength of the current IP packet (measured in bytes)
Returns
Color assigned to the current IP packet

Definition at line 195 of file rte_meter.h.

static enum rte_meter_color rte_meter_srtcm_color_aware_check ( struct rte_meter_srtcm *  m,
uint64_t  time,
uint32_t  pkt_len,
enum rte_meter_color  pkt_color 
)
inlinestatic

srTCM color aware traffic metering

Parameters
mHandle to srTCM instance
timeCurrent CPU time stamp (measured in CPU cycles)
pkt_lenLength of the current IP packet (measured in bytes)
pkt_colorInput color of the current IP packet
Returns
Color assigned to the current IP packet

Definition at line 235 of file rte_meter.h.

static enum rte_meter_color rte_meter_trtcm_color_blind_check ( struct rte_meter_trtcm *  m,
uint64_t  time,
uint32_t  pkt_len 
)
inlinestatic

trTCM color blind traffic metering

Parameters
mHandle to trTCM instance
timeCurrent CPU time stamp (measured in CPU cycles)
pkt_lenLength of the current IP packet (measured in bytes)
Returns
Color assigned to the current IP packet

Definition at line 276 of file rte_meter.h.

static enum rte_meter_color rte_meter_trtcm_color_aware_check ( struct rte_meter_trtcm *  m,
uint64_t  time,
uint32_t  pkt_len,
enum rte_meter_color  pkt_color 
)
inlinestatic

trTCM color aware traffic metering

Parameters
mHandle to trTCM instance
timeCurrent CPU time stamp (measured in CPU cycles)
pkt_lenLength of the current IP packet (measured in bytes)
pkt_colorInput color of the current IP packet
Returns
Color assigned to the current IP packet
Examples:
examples/ip_pipeline/pipeline/pipeline_flow_actions_be.c.

Definition at line 317 of file rte_meter.h.