FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
Go to the source code of this file.
Data Structures | |
struct | cubic_cfg_ |
struct | cubic_data_ |
Macros | |
#define | beta_cubic 0.7 |
#define | cubic_c 0.4 |
#define | west_const (3 * (1 - beta_cubic) / (1 + beta_cubic)) |
Typedefs | |
typedef struct cubic_cfg_ | cubic_cfg_t |
typedef struct cubic_data_ | cubic_data_t |
Functions | |
STATIC_ASSERT (sizeof(cubic_data_t)<=TCP_CC_DATA_SZ, "cubic data len") | |
static f64 | cubic_time (u32 thread_index) |
static u64 | W_cubic (cubic_data_t *cd, f64 t) |
RFC 8312 Eq. More... | |
static f64 | K_cubic (cubic_data_t *cd, u32 wnd) |
RFC 8312 Eq. More... | |
static u32 | W_est (cubic_data_t *cd, f64 t, f64 rtt) |
RFC 8312 Eq. More... | |
static void | cubic_congestion (tcp_connection_t *tc) |
static void | cubic_loss (tcp_connection_t *tc) |
static void | cubic_recovered (tcp_connection_t *tc) |
static void | cubic_cwnd_accumulate (tcp_connection_t *tc, u32 thresh, u32 bytes_acked) |
static void | cubic_rcv_ack (tcp_connection_t *tc, tcp_rate_sample_t *rs) |
static void | cubic_conn_init (tcp_connection_t *tc) |
static uword | cubic_unformat_config (unformat_input_t *input) |
clib_error_t * | cubic_init (vlib_main_t *vm) |
Variables | |
static cubic_cfg_t | cubic_cfg |
const static tcp_cc_algorithm_t | tcp_cubic |
#define beta_cubic 0.7 |
Definition at line 20 of file tcp_cubic.c.
#define cubic_c 0.4 |
Definition at line 21 of file tcp_cubic.c.
#define west_const (3 * (1 - beta_cubic) / (1 + beta_cubic)) |
Definition at line 22 of file tcp_cubic.c.
typedef struct cubic_cfg_ cubic_cfg_t |
typedef struct cubic_data_ cubic_data_t |
|
static |
|
static |
|
static |
Definition at line 133 of file tcp_cubic.c.
clib_error_t* cubic_init | ( | vlib_main_t * | vm | ) |
|
static |
|
static |
|
static |
Definition at line 52 of file tcp_cubic.c.
|
static |
|
inlinestatic |
RFC 8312 Eq.
2
Definition at line 75 of file tcp_cubic.c.
STATIC_ASSERT | ( | sizeof(cubic_data_t)<= | TCP_CC_DATA_SZ, |
"cubic data len" | |||
) |
|
inlinestatic |
RFC 8312 Eq.
1
CUBIC window increase function. Time and K need to be provided in seconds.
Definition at line 63 of file tcp_cubic.c.
|
inlinestatic |
RFC 8312 Eq.
4
Estimates the window size of AIMD(alpha_aimd, beta_aimd) for alpha_aimd=3*(1-beta_cubic)/(1+beta_cubic) and beta_aimd=beta_cubic. Time (t) and rtt should be provided in seconds
Definition at line 91 of file tcp_cubic.c.
|
static |
Definition at line 30 of file tcp_cubic.c.
|
static |
Definition at line 235 of file tcp_cubic.c.