|
FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
Go to the documentation of this file.
32 tc->cwnd = tc->ssthresh;
44 tc->cwnd = tc->ssthresh;
52 tc->cwnd +=
clib_min (tc->snd_mss, tc->bytes_acked);
68 tc->cwnd += tc->snd_mss;
84 tc->cwnd = (tc->cwnd > tc->bytes_acked + tc->snd_mss) ?
85 tc->cwnd - tc->bytes_acked : tc->snd_mss;
86 if (tc->bytes_acked > tc->snd_mss)
87 tc->cwnd += tc->snd_mss;
102 u32 ssthresh = 0x7FFFFFFFU;
111 if (
unformat (input,
"ssthresh %u", &ssthresh))
static uword newreno_unformat_config(unformat_input_t *input)
const static tcp_cc_algorithm_t tcp_newreno
static u32 tcp_initial_cwnd(const tcp_connection_t *tc)
Initial cwnd as per RFC5681.
clib_error_t * newreno_init(vlib_main_t *vm)
struct _tcp_connection tcp_connection_t
vlib_main_t * vm
X-connect all packets from the HOST to the PHY.
static u32 tcp_loss_wnd(const tcp_connection_t *tc)
static newreno_cfg_t newreno_cfg
static void newreno_conn_init(tcp_connection_t *tc)
if(node->flags &VLIB_NODE_FLAG_TRACE) vnet_interface_output_trace(vm
void newreno_rcv_cong_ack(tcp_connection_t *tc, tcp_cc_ack_t ack_type, tcp_rate_sample_t *rs)
#define tcp_opts_sack_permitted(_to)
static void newreno_congestion(tcp_connection_t *tc)
void tcp_cc_algo_register(tcp_cc_algorithm_type_e type, const tcp_cc_algorithm_t *vft)
Register exiting cc algo type.
#define tcp_in_slowstart(tc)
#define VLIB_INIT_FUNCTION(x)
static void tcp_cwnd_accumulate(tcp_connection_t *tc, u32 thresh, u32 bytes)
struct nwreno_cfg_ newreno_cfg_t
static void newreno_recovered(tcp_connection_t *tc)
static void newreno_rcv_ack(tcp_connection_t *tc, tcp_rate_sample_t *rs)
struct _tcp_cc_algorithm tcp_cc_algorithm_t
static u32 tcp_flight_size(const tcp_connection_t *tc)
Our estimate of the number of bytes in flight (pipe size)
clib_error_t *() vlib_init_function_t(struct vlib_main_t *vm)
static void newreno_loss(tcp_connection_t *tc)
enum _tcp_cc_ack_t tcp_cc_ack_t