Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
tfrc_equation.c File Reference
#include <linux/module.h>
#include "../../dccp.h"
#include "tfrc.h"

Go to the source code of this file.

Macros

#define TFRC_CALC_X_ARRSIZE   500
 
#define TFRC_CALC_X_SPLIT   50000 /* 0.05 * 1000000, details below */
 
#define TFRC_SMALLEST_P   (TFRC_CALC_X_SPLIT/TFRC_CALC_X_ARRSIZE)
 

Functions

u32 tfrc_calc_x (u16 s, u32 R, u32 p)
 
u32 tfrc_calc_x_reverse_lookup (u32 fvalue)
 
u32 tfrc_invert_loss_event_rate (u32 loss_event_rate)
 

Macro Definition Documentation

#define TFRC_CALC_X_ARRSIZE   500

Definition at line 17 of file tfrc_equation.c.

#define TFRC_CALC_X_SPLIT   50000 /* 0.05 * 1000000, details below */

Definition at line 18 of file tfrc_equation.c.

#define TFRC_SMALLEST_P   (TFRC_CALC_X_SPLIT/TFRC_CALC_X_ARRSIZE)

Definition at line 19 of file tfrc_equation.c.

Function Documentation

u32 tfrc_calc_x ( u16  s,
u32  R,
u32  p 
)

tfrc_calc_x - Calculate the send rate as per section 3.1 of RFC3448 : packet size in bytes : RTT scaled by 1000000 (i.e., microseconds) : loss ratio estimate scaled by 1000000

Returns X_calc in bytes per second (not scaled).

Definition at line 617 of file tfrc_equation.c.

u32 tfrc_calc_x_reverse_lookup ( u32  fvalue)

tfrc_calc_x_reverse_lookup - try to find p given f(p) : function value to match, scaled by 1000000

Returns closest match for p, also scaled by 1000000

Definition at line 666 of file tfrc_equation.c.

u32 tfrc_invert_loss_event_rate ( u32  loss_event_rate)

tfrc_invert_loss_event_rate - Compute p so that 10^6 corresponds to 100% When is large, there is a chance that p is truncated to 0. To avoid re-entering slow-start in that case, we set p = TFRC_SMALLEST_P > 0.

Definition at line 698 of file tfrc_equation.c.