rte_meter.h(3)

NAME
rte_meter.h

SYNOPSIS

#include <stdint.h>

  Data Structures

struct rte_meter_srtcm_params
struct rte_meter_trtcm_params
struct rte_meter_trtcm_rfc4115_params
struct rte_meter_trtcm
struct rte_meter_trtcm_rfc4115

  Enumerations

enum rte_color { RTE_COLOR_GREEN = 0, RTE_COLOR_YELLOW, RTE_COLOR_RED, RTE_COLORS }

  Functions

int rte_meter_srtcm_profile_config (struct rte_meter_srtcm_profile *p, struct rte_meter_srtcm_params *params)
int rte_meter_trtcm_profile_config (struct rte_meter_trtcm_profile *p, struct rte_meter_trtcm_params *params)
int rte_meter_trtcm_rfc4115_profile_config (struct rte_meter_trtcm_rfc4115_profile *p, struct rte_meter_trtcm_rfc4115_params *params)
int rte_meter_srtcm_config (struct rte_meter_srtcm *m, struct rte_meter_srtcm_profile *p)
int rte_meter_trtcm_config (struct rte_meter_trtcm *m, struct rte_meter_trtcm_profile *p)
int rte_meter_trtcm_rfc4115_config (struct rte_meter_trtcm_rfc4115 *m, struct rte_meter_trtcm_rfc4115_profile *p)
static enum rte_color rte_meter_srtcm_color_blind_check (struct rte_meter_srtcm *m, struct rte_meter_srtcm_profile *p, uint64_t time, uint32_t pkt_len)
static enum rte_color rte_meter_srtcm_color_aware_check (struct rte_meter_srtcm *m, struct rte_meter_srtcm_profile *p, uint64_t time, uint32_t pkt_len, enum rte_color pkt_color)
static enum rte_color rte_meter_trtcm_color_blind_check (struct rte_meter_trtcm *m, struct rte_meter_trtcm_profile *p, uint64_t time, uint32_t pkt_len)
static enum rte_color rte_meter_trtcm_color_aware_check (struct rte_meter_trtcm *m, struct rte_meter_trtcm_profile *p, uint64_t time, uint32_t pkt_len, enum rte_color pkt_color)
static enum rte_color rte_meter_trtcm_rfc4115_color_blind_check (struct rte_meter_trtcm_rfc4115 *m, struct rte_meter_trtcm_rfc4115_profile *p, uint64_t time, uint32_t pkt_len)
static enum rte_color rte_meter_trtcm_rfc4115_color_aware_check (struct rte_meter_trtcm_rfc4115 *m, struct rte_meter_trtcm_rfc4115_profile *p, uint64_t time, uint32_t pkt_len, enum rte_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

3.  Two Rate Three Color Marker (trTCM): defined by IETF RFC 4115

Definition in file rte_meter.h.

Enumeration Type Documentation

  enum rte_color
Color

Enumerator

RTE_COLOR_GREEN
    Green

RTE_COLOR_YELLOW
    Yellow

RTE_COLOR_RED
    Red

RTE_COLORS
    Number of colors

Definition at line 31 of file rte_meter.h.

Function Documentation

  int rte_meter_srtcm_profile_config (struct rte_meter_srtcm_profile * p, struct rte_meter_srtcm_params * params)
srTCM profile configuration

Parameters
    p Pointer to pre-allocated srTCM profile data structure
    params srTCM profile parameters

Returns
    0 upon success, error code otherwise

  int rte_meter_trtcm_profile_config (struct rte_meter_trtcm_profile * p, struct rte_meter_trtcm_params * params)
trTCM profile configuration

Parameters
    p Pointer to pre-allocated trTCM profile data structure
    params trTCM profile parameters

Returns
    0 upon success, error code otherwise

  int rte_meter_trtcm_rfc4115_profile_config (struct rte_meter_trtcm_rfc4115_profile * p, struct rte_meter_trtcm_rfc4115_params * params)
trTCM RFC 4115 profile configuration

Parameters
    p Pointer to pre-allocated trTCM profile data structure
    params trTCM profile parameters

Returns
    0 upon success, error code otherwise

  int rte_meter_srtcm_config (struct rte_meter_srtcm * m, struct rte_meter_srtcm_profile * p)
srTCM configuration per metered traffic flow

Parameters
    m Pointer to pre-allocated srTCM data structure
    p srTCM profile. Needs to be valid.

Returns
    0 upon success, error code otherwise

  int rte_meter_trtcm_config (struct rte_meter_trtcm * m, struct rte_meter_trtcm_profile * p)
trTCM configuration per metered traffic flow

Parameters
    m Pointer to pre-allocated trTCM data structure
    p trTCM profile. Needs to be valid.

Returns
    0 upon success, error code otherwise

  int rte_meter_trtcm_rfc4115_config (struct rte_meter_trtcm_rfc4115 * m, struct rte_meter_trtcm_rfc4115_profile * p)
trTCM RFC 4115 configuration per metered traffic flow

Parameters
    m Pointer to pre-allocated trTCM data structure
    p trTCM profile. Needs to be valid.

Returns
    0 upon success, error code otherwise

  enum rte_color rte_meter_srtcm_color_blind_check (struct rte_meter_srtcm * m, struct rte_meter_srtcm_profile * p, uint64_t time, uint32_t pkt_len) [inline], [static]
srTCM color blind traffic metering

Parameters
    m Handle to srTCM instance
    p srTCM profile specified at srTCM object creation time
    time Current CPU time stamp (measured in CPU cycles)
    pkt_len Length of the current IP packet (measured in bytes)

Returns
    Color assigned to the current IP packet

Definition at line 396 of file rte_meter.h.

  enum rte_color rte_meter_srtcm_color_aware_check (struct rte_meter_srtcm * m, struct rte_meter_srtcm_profile * p, uint64_t time, uint32_t pkt_len, enum rte_color pkt_color) [inline], [static]
srTCM color aware traffic metering

Parameters
    m Handle to srTCM instance
    p srTCM profile specified at srTCM object creation time
    time Current CPU time stamp (measured in CPU cycles)
    pkt_len Length of the current IP packet (measured in bytes)
    pkt_color Input color of the current IP packet

Returns
    Color assigned to the current IP packet

Definition at line 437 of file rte_meter.h.

  enum rte_color rte_meter_trtcm_color_blind_check (struct rte_meter_trtcm * m, struct rte_meter_trtcm_profile * p, uint64_t time, uint32_t pkt_len) [inline], [static]
trTCM color blind traffic metering

Parameters
    m Handle to trTCM instance
    p trTCM profile specified at trTCM object creation time
    time Current CPU time stamp (measured in CPU cycles)
    pkt_len Length of the current IP packet (measured in bytes)

Returns
    Color assigned to the current IP packet

Definition at line 479 of file rte_meter.h.

  enum rte_color rte_meter_trtcm_color_aware_check (struct rte_meter_trtcm * m, struct rte_meter_trtcm_profile * p, uint64_t time, uint32_t pkt_len, enum rte_color pkt_color) [inline], [static]
trTCM color aware traffic metering

Parameters
    m Handle to trTCM instance
    p trTCM profile specified at trTCM object creation time
    time Current CPU time stamp (measured in CPU cycles)
    pkt_len Length of the current IP packet (measured in bytes)
    pkt_color Input color of the current IP packet

Returns
    Color assigned to the current IP packet

Definition at line 521 of file rte_meter.h.

  enum rte_color rte_meter_trtcm_rfc4115_color_blind_check (struct rte_meter_trtcm_rfc4115 * m, struct rte_meter_trtcm_rfc4115_profile * p, uint64_t time, uint32_t pkt_len) [inline], [static]
trTCM RFC4115 color blind traffic metering

Parameters
    m Handle to trTCM instance
    p trTCM profile specified at trTCM object creation time
    time Current CPU time stamp (measured in CPU cycles)
    pkt_len Length of the current IP packet (measured in bytes)

Returns
    Color assigned to the current IP packet

Definition at line 564 of file rte_meter.h.

  enum rte_color rte_meter_trtcm_rfc4115_color_aware_check (struct rte_meter_trtcm_rfc4115 * m, struct rte_meter_trtcm_rfc4115_profile * p, uint64_t time, uint32_t pkt_len, enum rte_color pkt_color) [inline], [static]
trTCM RFC4115 color aware traffic metering

Parameters
    m Handle to trTCM instance
    p trTCM profile specified at trTCM object creation time
    time Current CPU time stamp (measured in CPU cycles)
    pkt_len Length of the current IP packet (measured in bytes)
    pkt_color Input color of the current IP packet

Returns
    Color assigned to the current IP packet

Definition at line 607 of file rte_meter.h.

Author

Generated automatically by Doxygen for DPDK from the source code.