intrte_pie_rt_data_init(structrte_pie*pie)
Initialises run-time data.
Parameterspie [in,out] data pointer to PIE runtime data
Returns
Operation status
Returnvalues0 success
!0 error
intrte_pie_config_init(structrte_pie_config*pie_cfg,constuint16_tqdelay_ref,constuint16_tdp_update_interval,constuint16_tmax_burst,constuint16_ttailq_th)
Configures a single PIE configuration parameter structure.
Parameterspie_cfg [in,out] config pointer to a PIE configuration parameter structure
qdelay_ref [in] latency target(milliseconds)
dp_update_interval [in] update interval for drop probability (milliseconds)
max_burst [in] maximum burst allowance (milliseconds)
tailq_th [in] tail drop threshold for the queue (number of packets)
Returns
Operation status
Returnvalues0 success
!0 error
staticintrte_pie_enqueue_empty(conststructrte_pie_config*pie_cfg,structrte_pie*pie,uint32_tpkt_len)[static]
Decides packet enqueue when queue is empty. Note: packet is never dropped in this particular case.
Parameterspie_cfg [in] config pointer to a PIE configuration parameter structure
pie [in, out] data pointer to PIE runtime data
pkt_len [in] packet length in bytes
Returns
Operation status
Returnvalues0 enqueue the packet
!0 drop the packet
If the queue has been idle for a while, turn off PIE and Reset counters
Definition at line 116 of file rte_pie.h.
staticvoid_calc_drop_probability(conststructrte_pie_config*pie_cfg,structrte_pie*pie,uint64_ttime)[static]
make a decision to drop or enqueue a packet based on probability criteria
Parameterspie_cfg [in] config pointer to a PIE configuration parameter structure
pie [in, out] data pointer to PIE runtime data
time [in] current time (measured in cpu cycles)
Definition at line 147 of file rte_pie.h.
staticint_rte_pie_drop(conststructrte_pie_config*pie_cfg,structrte_pie*pie)[inline],[static]
make a decision to drop or enqueue a packet based on probability criteria
Parameterspie_cfg [in] config pointer to a PIE configuration parameter structure
pie [in, out] data pointer to PIE runtime data
Returns
operation status
Returnvalues0 enqueue the packet
1 drop the packet
Definition at line 210 of file rte_pie.h.
staticintrte_pie_enqueue_nonempty(conststructrte_pie_config*pie_cfg,structrte_pie*pie,uint32_tpkt_len,constuint64_ttime)[inline],[static]
Decides if new packet should be enqueued or dropped for non-empty queue.
Parameterspie_cfg [in] config pointer to a PIE configuration parameter structure
pie [in,out] data pointer to PIE runtime data
pkt_len [in] packet length in bytes
time [in] current time (measured in cpu cycles)
Returns
Operation status
Returnvalues0 enqueue the packet
1 drop the packet based on max threshold criterion
2 drop the packet based on mark probability criterion
Definition at line 258 of file rte_pie.h.
staticintrte_pie_enqueue(conststructrte_pie_config*pie_cfg,structrte_pie*pie,constunsignedintqlen,uint32_tpkt_len,constuint64_ttime)[inline],[static]
Decides if new packet should be enqueued or dropped Updates run time data and gives verdict whether to
enqueue or drop the packet.
Parameterspie_cfg [in] config pointer to a PIE configuration parameter structure
pie [in,out] data pointer to PIE runtime data
qlen [in] queue length
pkt_len [in] packet length in bytes
time [in] current time stamp (measured in cpu cycles)
Returns
Operation status
Returnvalues0 enqueue the packet
1 drop the packet based on drop probability criteria
Definition at line 325 of file rte_pie.h.
staticvoidrte_pie_dequeue(structrte_pie*pie,uint32_tpkt_len,uint64_ttime)[inline],[static]
PIE rate estimation method Called on each packet departure.
Parameterspie [in] data pointer to PIE runtime data
pkt_len [in] packet length in bytes
time [in] current time stamp in cpu cycles
Definition at line 349 of file rte_pie.h.