TAS
TCP Acceleration as an OS Service
|
Congestion Control. More...
![]() |
Functions | |
int | cc_init (void) |
unsigned | cc_poll (uint32_t cur_ts) |
uint32_t | cc_next_ts (uint32_t cur_ts) |
void | cc_conn_init (struct connection *conn) |
void | cc_conn_remove (struct connection *conn) |
Congestion Control.
void cc_conn_init | ( | struct connection * | conn | ) |
Initialize congestion state for flow
conn | Connection to initialize. |
Definition at line 175 of file cc.c.
References configuration::cc_algorithm, connection::cc_last_ts, connection::cc_next, connection::cc_rexmits, connection::cc_rtt, and configuration::tcp_rtt_init.
Referenced by tcp_timeout().
void cc_conn_remove | ( | struct connection * | conn | ) |
Remove congestion state for flow
conn | Connection to remove. |
Definition at line 209 of file cc.c.
References connection_cc_dctcp_rate::act_rate, connection_cc_timely::act_rate, nicif_connection_stats::c_ackb, nicif_connection_stats::c_acks, nicif_connection_stats::c_drops, nicif_connection_stats::c_ecnb, connection::cc, configuration::cc_const_rate, configuration::cc_dctcp_init, configuration::cc_dctcp_mimd, configuration::cc_dctcp_min, configuration::cc_dctcp_minpkts, configuration::cc_dctcp_step, configuration::cc_dctcp_weight, connection::cc_last_ts, connection::cc_next, connection::cc_rate, configuration::cc_rexmit_ints, connection::cc_rexmits, connection::cc_rtt, configuration::cc_timely_alpha, configuration::cc_timely_beta, configuration::cc_timely_init, configuration::cc_timely_min_rate, configuration::cc_timely_min_rtt, configuration::cc_timely_step, configuration::cc_timely_thigh, configuration::cc_timely_tlow, connection::cnt_tx_pending, connection::dctcp_rate, connection::dctcp_win, connection_cc_dctcp_win::ecn_rate, connection_cc_dctcp_rate::ecn_rate, connection::flow_group, connection::flow_id, connection_cc_timely::hai_cnt, kernel_statistics::kernel_rexmit, connection_cc_timely::last_ts, nicif_connection_retransmit(), nicif_connection_stats::rtt, connection_cc_timely::rtt_diff, connection_cc_timely::rtt_prev, connection_cc_dctcp_win::slowstart, connection_cc_dctcp_rate::slowstart, connection_cc_timely::slowstart, configuration::tcp_link_bw, configuration::tcp_rtt_init, connection::timely, connection::ts_tx_pending, connection::tx_len, nicif_connection_stats::txp, connection_cc_dctcp_rate::unproc_ackb, connection_cc_dctcp_rate::unproc_acks, connection_cc_dctcp_rate::unproc_drops, connection_cc_dctcp_rate::unproc_ecnb, and connection_cc_dctcp_win::window.
Referenced by tcp_close().
unsigned cc_poll | ( | uint32_t | cur_ts | ) |
Poll congestion control
cur_ts | Current timestamp in micro seconds. |
Definition at line 86 of file cc.c.
References kernel_statistics::acks, nicif_connection_stats::c_ackb, nicif_connection_stats::c_acks, nicif_connection_stats::c_drops, nicif_connection_stats::c_ecnb, configuration::cc_algorithm, configuration::cc_control_granularity, configuration::cc_control_interval, CONN_OPEN, kernel_statistics::drops, kernel_statistics::ecn_marked, nicif_connection_setrate(), and nicif_connection_stats().