cc_var
newreno_cc_post_recovery(struct cc_var *ccv)
newreno_cc_after_idle(struct cc_var *ccv)
newreno_cc_cwnd_on_multiplicative_decrease(struct cc_var *ccv, uint32_t mss)
newreno_cc_cong_signal(struct cc_var *ccv, ccsignal_t type)
newreno_cc_cwnd_in_cong_avoid(struct cc_var *ccv)
newreno_cc_cwnd_in_slow_start(struct cc_var *ccv)
newreno_cc_ack_received(struct cc_var *ccv, ccsignal_t type)
int (*cb_init)(struct cc_var *ccv, void *ptr);
void (*cb_destroy)(struct cc_var *ccv);
void (*conn_init)(struct cc_var *ccv);
void (*ack_received)(struct cc_var *ccv, ccsignal_t type);
void (*cong_signal)(struct cc_var *ccv, ccsignal_t type);
void (*post_recovery)(struct cc_var *ccv);
void (*after_idle)(struct cc_var *ccv);
void (*ecnpkt_handler)(struct cc_var *ccv);
void (*newround)(struct cc_var *ccv, uint32_t round_cnt);
void (*rttsample)(struct cc_var *ccv, uint32_t usec_rtt, uint32_t rxtcnt, uint32_t fas);
int (*ctl_output)(struct cc_var *, struct sockopt *, void *);
void newreno_cc_post_recovery(struct cc_var *);
void newreno_cc_after_idle(struct cc_var *);
void newreno_cc_cong_signal(struct cc_var *, ccsignal_t);
void newreno_cc_ack_received(struct cc_var *, ccsignal_t);
u_int newreno_cc_cwnd_on_multiplicative_decrease(struct cc_var *ccv, uint32_t mss);
u_int newreno_cc_cwnd_in_cong_avoid(struct cc_var *ccv);
u_int newreno_cc_cwnd_in_slow_start(struct cc_var *ccv);
static void cdg_conn_init(struct cc_var *ccv);
static int cdg_cb_init(struct cc_var *ccv, void *ptr);
static void cdg_cb_destroy(struct cc_var *ccv);
static void cdg_cong_signal(struct cc_var *ccv, ccsignal_t signal_type);
static void cdg_ack_received(struct cc_var *ccv, ccsignal_t ack_type);
cdg_cb_init(struct cc_var *ccv, void *ptr)
cdg_conn_init(struct cc_var *ccv)
cdg_cb_destroy(struct cc_var *ccv)
cdg_window_decrease(struct cc_var *ccv, unsigned long owin, unsigned int beta)
cdg_window_increase(struct cc_var *ccv, int new_measurement)
cdg_cong_signal(struct cc_var *ccv, ccsignal_t signal_type)
cdg_ack_received(struct cc_var *ccv, ccsignal_t ack_type)
chd_window_decrease(struct cc_var *ccv)
chd_window_increase(struct cc_var *ccv, int new_measurement)
chd_ack_received(struct cc_var *ccv, ccsignal_t ack_type)
chd_cb_destroy(struct cc_var *ccv)
chd_cb_init(struct cc_var *ccv, void *ptr)
chd_cong_signal(struct cc_var *ccv, ccsignal_t signal_type)
chd_conn_init(struct cc_var *ccv)
static void chd_ack_received(struct cc_var *ccv, ccsignal_t ack_type);
static void chd_cb_destroy(struct cc_var *ccv);
static int chd_cb_init(struct cc_var *ccv, void *ptr);
static void chd_cong_signal(struct cc_var *ccv, ccsignal_t signal_type);
static void chd_conn_init(struct cc_var *ccv);
cubic_log_hystart_event(struct cc_var *ccv, struct cubic *cubicd, uint8_t mod, uint32_t flex1)
cubic_does_slow_start(struct cc_var *ccv, struct cubic *cubicd)
cubic_ack_received(struct cc_var *ccv, ccsignal_t type)
cubic_after_idle(struct cc_var *ccv)
cubic_cb_destroy(struct cc_var *ccv)
cubic_cb_init(struct cc_var *ccv, void *ptr)
cubic_cong_signal(struct cc_var *ccv, ccsignal_t type)
cubic_conn_init(struct cc_var *ccv)
cubic_post_recovery(struct cc_var *ccv)
cubic_record_rtt(struct cc_var *ccv)
cubic_get_ssthresh(struct cc_var *ccv, uint32_t maxseg)
cubic_rttsample(struct cc_var *ccv, uint32_t usec_rtt, uint32_t rxtcnt, uint32_t fas)
cubic_newround(struct cc_var *ccv, uint32_t round_cnt)
static void cubic_ack_received(struct cc_var *ccv, ccsignal_t type);
static void cubic_cb_destroy(struct cc_var *ccv);
static int cubic_cb_init(struct cc_var *ccv, void *ptr);
static void cubic_cong_signal(struct cc_var *ccv, ccsignal_t type);
static void cubic_conn_init(struct cc_var *ccv);
static void cubic_post_recovery(struct cc_var *ccv);
static void cubic_record_rtt(struct cc_var *ccv);
static uint32_t cubic_get_ssthresh(struct cc_var *ccv, uint32_t maxseg);
static void cubic_after_idle(struct cc_var *ccv);
static void cubic_newround(struct cc_var *ccv, uint32_t round_cnt);
static void cubic_rttsample(struct cc_var *ccv, uint32_t usec_rtt,
tf_cwnd(struct cc_var *ccv)
dctcp_ack_received(struct cc_var *ccv, ccsignal_t type)
dctcp_after_idle(struct cc_var *ccv)
dctcp_cb_destroy(struct cc_var *ccv)
dctcp_cb_init(struct cc_var *ccv, void *ptr)
dctcp_cong_signal(struct cc_var *ccv, ccsignal_t type)
dctcp_conn_init(struct cc_var *ccv)
dctcp_post_recovery(struct cc_var *ccv)
dctcp_ecnpkt_handler(struct cc_var *ccv)
dctcp_update_alpha(struct cc_var *ccv)
static void dctcp_ack_received(struct cc_var *ccv, ccsignal_t type);
static void dctcp_after_idle(struct cc_var *ccv);
static void dctcp_cb_destroy(struct cc_var *ccv);
static int dctcp_cb_init(struct cc_var *ccv, void *ptr);
static void dctcp_cong_signal(struct cc_var *ccv, ccsignal_t type);
static void dctcp_conn_init(struct cc_var *ccv);
static void dctcp_post_recovery(struct cc_var *ccv);
static void dctcp_ecnpkt_handler(struct cc_var *ccv);
static void dctcp_update_alpha(struct cc_var *ccv);
hd_ack_received(struct cc_var *ccv, ccsignal_t ack_type)
static void hd_ack_received(struct cc_var *ccv, ccsignal_t ack_type);
static void htcp_ack_received(struct cc_var *ccv, ccsignal_t type);
static void htcp_cb_destroy(struct cc_var *ccv);
static int htcp_cb_init(struct cc_var *ccv, void *ptr);
static void htcp_cong_signal(struct cc_var *ccv, ccsignal_t type);
static void htcp_post_recovery(struct cc_var *ccv);
static void htcp_recalc_alpha(struct cc_var *ccv);
static void htcp_recalc_beta(struct cc_var *ccv);
static void htcp_record_rtt(struct cc_var *ccv);
static void htcp_ssthresh_update(struct cc_var *ccv);
htcp_ack_received(struct cc_var *ccv, ccsignal_t type)
htcp_cb_destroy(struct cc_var *ccv)
htcp_cb_init(struct cc_var *ccv, void *ptr)
htcp_cong_signal(struct cc_var *ccv, ccsignal_t type)
htcp_post_recovery(struct cc_var *ccv)
htcp_recalc_alpha(struct cc_var *ccv)
htcp_recalc_beta(struct cc_var *ccv)
htcp_record_rtt(struct cc_var *ccv)
htcp_ssthresh_update(struct cc_var *ccv)
newreno_log_hystart_event(struct cc_var *ccv, struct newreno *nreno, uint8_t mod, uint32_t flex1)
newreno_cb_init(struct cc_var *ccv, void *ptr)
newreno_cb_destroy(struct cc_var *ccv)
newreno_ack_received(struct cc_var *ccv, ccsignal_t type)
newreno_after_idle(struct cc_var *ccv)
newreno_cong_signal(struct cc_var *ccv, ccsignal_t type)
newreno_ctl_output(struct cc_var *ccv, struct sockopt *sopt, void *buf)
newreno_newround(struct cc_var *ccv, uint32_t round_cnt)
newreno_rttsample(struct cc_var *ccv, uint32_t usec_rtt, uint32_t rxtcnt, uint32_t fas)
static void newreno_cb_destroy(struct cc_var *ccv);
static void newreno_ack_received(struct cc_var *ccv, ccsignal_t type);
static void newreno_after_idle(struct cc_var *ccv);
static void newreno_cong_signal(struct cc_var *ccv, ccsignal_t type);
static int newreno_ctl_output(struct cc_var *ccv, struct sockopt *sopt, void *buf);
static void newreno_newround(struct cc_var *ccv, uint32_t round_cnt);
static void newreno_rttsample(struct cc_var *ccv, uint32_t usec_rtt, uint32_t rxtcnt, uint32_t fas);
static int newreno_cb_init(struct cc_var *ccv, void *);
vegas_ack_received(struct cc_var *ccv, ccsignal_t ack_type)
vegas_cb_destroy(struct cc_var *ccv)
vegas_cb_init(struct cc_var *ccv, void *ptr)
vegas_cong_signal(struct cc_var *ccv, ccsignal_t signal_type)
vegas_conn_init(struct cc_var *ccv)
static void vegas_ack_received(struct cc_var *ccv, ccsignal_t ack_type);
static void vegas_cb_destroy(struct cc_var *ccv);
static int vegas_cb_init(struct cc_var *ccv, void *ptr);
static void vegas_cong_signal(struct cc_var *ccv, ccsignal_t signal_type);
static void vegas_conn_init(struct cc_var *ccv);
struct cc_var cc_mem;
memcpy(&tp->t_ccv, &cc_mem, sizeof(struct cc_var));
struct cc_var t_ccv; /* congestion control specific vars */