Lines Matching defs:ccv

92 static void	chd_ack_received(struct cc_var *ccv, ccsignal_t ack_type);
93 static void chd_cb_destroy(struct cc_var *ccv);
94 static int chd_cb_init(struct cc_var *ccv, void *ptr);
95 static void chd_cong_signal(struct cc_var *ccv, ccsignal_t signal_type);
96 static void chd_conn_init(struct cc_var *ccv);
147 chd_window_decrease(struct cc_var *ccv)
150 uint32_t mss = tcp_fixed_maxseg(ccv->tp);
152 win = min(CCV(ccv, snd_wnd), CCV(ccv, snd_cwnd)) / mss;
154 CCV(ccv, snd_ssthresh) = max(win, 2) * mss;
190 chd_window_increase(struct cc_var *ccv, int new_measurement)
194 uint32_t mss = tcp_fixed_maxseg(ccv->tp);
196 chd_data = ccv->cc_data;
199 if (CCV(ccv, snd_cwnd) <= CCV(ccv, snd_ssthresh)) {
203 if (CCV(ccv, snd_nxt) == CCV(ccv, snd_max)) {
205 incr = min(ccv->bytes_this_ack,
209 incr = min(ccv->bytes_this_ack, mss);
216 if (ccv->flags & CCF_ABC_SENTAWND) {
217 ccv->flags &= ~CCF_ABC_SENTAWND;
227 TCP_MAXWIN << CCV(ccv, snd_scale));
230 CCV(ccv,snd_cwnd) = min(CCV(ccv, snd_cwnd) + incr,
231 TCP_MAXWIN << CCV(ccv, snd_scale));
240 chd_ack_received(struct cc_var *ccv, ccsignal_t ack_type)
246 e_t = khelp_get_osd(&CCV(ccv, t_osd), ertt_id);
247 chd_data = ccv->cc_data;
261 if (rtt && e_t->minrtt && !IN_RECOVERY(CCV(ccv, t_flags))) {
288 chd_data->shadow_w = max(CCV(ccv, snd_cwnd),
303 chd_cong_signal(ccv, CC_CHD_DELAY);
306 chd_window_increase(ccv, new_measurement);
310 chd_cb_destroy(struct cc_var *ccv)
312 free(ccv->cc_data, M_CC_MEM);
322 chd_cb_init(struct cc_var *ccv, void *ptr)
326 INP_WLOCK_ASSERT(tptoinpcb(ccv->tp));
335 ccv->cc_data = chd_data;
341 chd_cong_signal(struct cc_var *ccv, ccsignal_t signal_type)
347 e_t = khelp_get_osd(&CCV(ccv, t_osd), ertt_id);
348 chd_data = ccv->cc_data;
353 chd_window_decrease(ccv); /* Set new ssthresh. */
354 CCV(ccv, snd_cwnd) = CCV(ccv, snd_ssthresh);
355 CCV(ccv, snd_recover) = CCV(ccv, snd_max);
356 ENTER_CONGRECOVERY(CCV(ccv, t_flags));
368 if (!IN_RECOVERY(CCV(ccv, t_flags)) && qdly > V_chd_qthresh) {
370 CCV(ccv, snd_cwnd) = max(CCV(ccv, snd_cwnd),
373 chd_window_decrease(ccv);
379 CCV(ccv, snd_ssthresh) = CCV(ccv, snd_cwnd);
380 CCV(ccv, snd_recover) = CCV(ccv, snd_max);
384 uint32_t mss = tcp_fixed_maxseg(ccv->tp);
388 ENTER_FASTRECOVERY(CCV(ccv, t_flags));
392 newreno_cc_cong_signal(ccv, signal_type);
398 chd_conn_init(struct cc_var *ccv)
402 chd_data = ccv->cc_data;
410 chd_data->shadow_w = CCV(ccv, snd_cwnd);