| rte_pie.h(3) | Library Functions Manual | rte_pie.h(3) |
rte_pie.h
#include <stdint.h>
#include <rte_random.h>
#include <rte_debug.h>
#include <rte_cycles.h>
struct rte_pie_params
struct rte_pie_config
struct rte_pie
#define RTE_DQ_THRESHOLD 16384
#define RTE_DQ_WEIGHT 0.25
#define RTE_ALPHA 0.125
#define RTE_BETA 1.25
#define RTE_RAND_MAX ~0LLU
int rte_pie_rt_data_init (struct rte_pie *pie)
Initialises run-time data. int rte_pie_config_init (struct
rte_pie_config *pie_cfg, const uint16_t qdelay_ref, const uint16_t
dp_update_interval, const uint16_t max_burst, const uint16_t tailq_th)
Configures a single PIE configuration parameter structure. static int
rte_pie_enqueue_empty (const struct rte_pie_config *pie_cfg,
struct rte_pie *pie, uint32_t pkt_len)
Decides packet enqueue when queue is empty. static void
_calc_drop_probability (const struct rte_pie_config *pie_cfg,
struct rte_pie *pie, uint64_t time)
make a decision to drop or enqueue a packet based on probability criteria
static int _rte_pie_drop (const struct rte_pie_config
*pie_cfg, struct rte_pie *pie)
make a decision to drop or enqueue a packet based on probability criteria
static int rte_pie_enqueue_nonempty (const struct
rte_pie_config *pie_cfg, struct rte_pie *pie, uint32_t
pkt_len, const uint64_t time)
Decides if new packet should be enqueued or dropped for non-empty queue.
static int rte_pie_enqueue (const struct rte_pie_config
*pie_cfg, struct rte_pie *pie, const unsigned int qlen, uint32_t
pkt_len, const uint64_t time)
Decides if new packet should be enqueued or dropped Updates run time data and
gives verdict whether to enqueue or drop the packet. static void
rte_pie_dequeue (struct rte_pie *pie, uint32_t pkt_len,
uint64_t time)
PIE rate estimation method Called on each packet departure.
Proportional Integral controller Enhanced (PIE)
Definition in file rte_pie.h.
Queue length threshold (2^14) to start measurement cycle (bytes)
Definition at line 25 of file rte_pie.h.
Weight (RTE_DQ_THRESHOLD/2^16) to compute dequeue rate
Definition at line 26 of file rte_pie.h.
Weights in drop probability calculations
Definition at line 27 of file rte_pie.h.
Weights in drop probability calculations
Definition at line 28 of file rte_pie.h.
Max value of the random number
Definition at line 29 of file rte_pie.h.
Initialises run-time data.
Parameters
Returns
Return values
Configures a single PIE configuration parameter structure.
Parameters
Returns
Return values
Decides packet enqueue when queue is empty. Note: packet is never dropped in this particular case.
Parameters
Returns
Return values
If the queue has been idle for a while, turn off PIE and Reset counters
Definition at line 116 of file rte_pie.h.
make a decision to drop or enqueue a packet based on probability criteria
Parameters
Definition at line 147 of file rte_pie.h.
make a decision to drop or enqueue a packet based on probability criteria
Parameters
Returns
Return values
Definition at line 210 of file rte_pie.h.
Decides if new packet should be enqueued or dropped for non-empty queue.
Parameters
Returns
Return values
Definition at line 258 of file rte_pie.h.
Decides if new packet should be enqueued or dropped Updates run time data and gives verdict whether to enqueue or drop the packet.
Parameters
Returns
Return values
Definition at line 325 of file rte_pie.h.
PIE rate estimation method Called on each packet departure.
Parameters
Definition at line 349 of file rte_pie.h.
Generated automatically by Doxygen for DPDK from the source code.
| Version 24.11.3 | DPDK |