Lines Matching refs:ccv

71 static void	newreno_ack_received(struct cc_var *ccv, uint16_t type);
72 static void newreno_after_idle(struct cc_var *ccv);
73 static void newreno_cong_signal(struct cc_var *ccv, uint32_t type);
74 static void newreno_post_recovery(struct cc_var *ccv);
85 newreno_ack_received(struct cc_var *ccv, uint16_t type)
87 if (type == CC_ACK && !IN_RECOVERY(CCV(ccv, t_flags)) &&
88 (ccv->flags & CCF_CWND_LIMITED)) {
89 u_int cw = CCV(ccv, snd_cwnd);
90 u_int incr = CCV(ccv, t_maxseg);
119 if (cw > CCV(ccv, snd_ssthresh)) {
121 if (ccv->flags & CCF_ABC_SENTAWND)
122 ccv->flags &= ~CCF_ABC_SENTAWND;
138 if (CCV(ccv, snd_nxt) == CCV(ccv, snd_max))
139 incr = min(ccv->bytes_this_ack,
140 V_tcp_abc_l_var * CCV(ccv, t_maxseg));
142 incr = min(ccv->bytes_this_ack, CCV(ccv, t_maxseg));
146 CCV(ccv, snd_cwnd) = min(cw + incr,
147 TCP_MAXWIN << CCV(ccv, snd_scale));
152 newreno_after_idle(struct cc_var *ccv)
170 rw = min(4 * CCV(ccv, t_maxseg),
171 max(2 * CCV(ccv, t_maxseg), 4380));
173 rw = CCV(ccv, t_maxseg) * 2;
175 CCV(ccv, snd_cwnd) = min(rw, CCV(ccv, snd_cwnd));
182 newreno_cong_signal(struct cc_var *ccv, uint32_t type)
190 win = max(CCV(ccv, snd_cwnd) / 2 / CCV(ccv, t_maxseg), 2) *
191 CCV(ccv, t_maxseg);
195 if (!IN_FASTRECOVERY(CCV(ccv, t_flags))) {
196 if (!IN_CONGRECOVERY(CCV(ccv, t_flags)))
197 CCV(ccv, snd_ssthresh) = win;
198 ENTER_RECOVERY(CCV(ccv, t_flags));
202 if (!IN_CONGRECOVERY(CCV(ccv, t_flags))) {
203 CCV(ccv, snd_ssthresh) = win;
204 CCV(ccv, snd_cwnd) = win;
205 ENTER_CONGRECOVERY(CCV(ccv, t_flags));
215 newreno_post_recovery(struct cc_var *ccv)
217 if (IN_FASTRECOVERY(CCV(ccv, t_flags))) {
227 if (SEQ_GT(ccv->curack + CCV(ccv, snd_ssthresh),
228 CCV(ccv, snd_max)))
229 CCV(ccv, snd_cwnd) = CCV(ccv, snd_max) -
230 ccv->curack + CCV(ccv, t_maxseg);
232 CCV(ccv, snd_cwnd) = CCV(ccv, snd_ssthresh);