CCV
CCV(ccv, tcp_cwnd) <= CCV(ccv, tcp_cwnd_ssthresh) ||
if (CCV(ccv, tcp_cwnd) <= CCV(ccv, tcp_cwnd_ssthresh) ||
CCV(ccv, tcp_mss));
CCV(ccv, tcp_mss), cubic_data->K);
if (CCV(ccv, tcp_cwnd) < w_tf)
CCV(ccv, tcp_cwnd) = w_tf;
} else if (CCV(ccv, tcp_cwnd) < w_cubic_next) {
CCV(ccv, tcp_cwnd) = MIN(w_cubic_next,
CCV(ccv, tcp_cwnd) += MAX(1,
CCV(ccv, tcp_cwnd)) *
CCV(ccv, tcp_mss)) /
CCV(ccv, tcp_cwnd));
cubic_data->max_cwnd < CCV(ccv, tcp_cwnd)) {
cubic_data->max_cwnd = CCV(ccv, tcp_cwnd);
CCV(ccv, tcp_mss));
cubic_data->max_cwnd = max(cubic_data->max_cwnd, CCV(ccv, tcp_cwnd));
cubic_data->K = cubic_k(cubic_data->max_cwnd / CCV(ccv, tcp_mss));
cwin = CCV(ccv, tcp_cwnd);
mss = CCV(ccv, tcp_mss);
CCV(ccv, tcp_cwnd) =
CCV(ccv, tcp_cwnd_ssthresh);
CCV(ccv, tcp_cwnd) = CCV(ccv, tcp_cwnd_ssthresh);
CCV(ccv, tcp_cwnd) = mss;
cubic_data->max_cwnd = CCV(ccv, tcp_cwnd);
mss = CCV(ccv, tcp_mss);
pipe = CCV(ccv, tcp_snxt) - CCV(ccv, tcp_suna);
if (pipe < CCV(ccv, tcp_cwnd_ssthresh)) {
CCV(ccv, tcp_cwnd) = MAX(pipe, mss) + mss;
CCV(ccv, tcp_cwnd) = max(mss, ((CUBIC_BETA *
CCV(ccv, tcp_cwnd) = max(mss, CCV(ccv, tcp_cwnd));
if (CCV(ccv, tcp_rtt_update) >= CUBIC_MIN_RTT_SAMPLES) {
t_srtt_nsecs = CCV(ccv, tcp_rtt_sa) >> 3;
CCV(ccv, tcp_cwnd_ssthresh) = CCV(ccv, tcp_cwnd) >> 1;
CCV(ccv, tcp_cwnd_ssthresh) =
(CCV(ccv, tcp_cwnd) * CUBIC_BETA) >> CUBIC_SHIFT;
uint_t cw = CCV(ccv, tcp_cwnd);
uint_t incr = CCV(ccv, tcp_mss);
if (cw > CCV(ccv, tcp_cwnd_ssthresh)) {
CCV(ccv, tcp_mss));
CC_ABC_L_VAR(ccv) * CCV(ccv, tcp_mss));
CCV(ccv, tcp_cwnd) = min(cw + incr,
TCP_MAXWIN << CCV(ccv, tcp_snd_ws));
if (CCV(ccv, tcp_init_cwnd) != 0) {
rw = CCV(ccv, tcp_init_cwnd) * CCV(ccv, tcp_mss);
* CCV(ccv, tcp_mss);
rw = min(4 * CCV(ccv, tcp_mss),
max(2 * CCV(ccv, tcp_mss), 4380));
CCV(ccv, tcp_cwnd) = min(rw, CCV(ccv, tcp_cwnd));
cwin = CCV(ccv, tcp_cwnd);
mss = CCV(ccv, tcp_mss);
max((CCV(ccv, tcp_snxt) - CCV(ccv, tcp_suna)) / 2 / mss, 2)
CCV(ccv, tcp_cwnd_ssthresh) = ssthresh_on_loss;
CCV(ccv, tcp_cwnd) = cwin;
CCV(ccv, tcp_cwnd_ssthresh) = ssthresh_on_loss;
CCV(ccv, tcp_cwnd) = cwin;
CCV(ccv, tcp_cwnd_ssthresh) = ssthresh_on_loss;
CCV(ccv, tcp_cwnd) = mss;
pipe = CCV(ccv, tcp_snxt) - CCV(ccv, tcp_suna);
if (pipe < CCV(ccv, tcp_cwnd_ssthresh)) {
CCV(ccv, tcp_cwnd) = MAX(pipe, CCV(ccv, tcp_mss)) +
CCV(ccv, tcp_mss);
} else if (CCV(ccv, tcp_cwnd) > CCV(ccv, tcp_cwnd_ssthresh)) {
CCV(ccv, tcp_cwnd) = CCV(ccv, tcp_cwnd_ssthresh);
if (CCV(ccv, tcp_cwnd_cnt) <= 0) {
CCV(ccv, tcp_cwnd_cnt) = cwnd + add;
CCV(ccv, tcp_cwnd_cnt) -= add;
CCV(ccv, tcp_cwnd) = MIN(cwnd + add, CCV(ccv, tcp_cwnd_max));
if (CCV(ccv, tcp_snd_sack_ok) && CCV(ccv, tcp_num_sack_blk) > 0) {
num_sack_blk = MIN(CCV(ccv, tcp_max_sack_blk),
CCV(ccv, tcp_num_sack_blk));
mss = CCV(ccv, tcp_mss) - opt_len;
mss = CCV(ccv, tcp_mss);
mss = CCV(ccv, tcp_mss);
npkt = ((CCV(ccv, tcp_snxt) - CCV(ccv, tcp_suna)) >> 1) / mss;
CCV(ccv, tcp_cwnd_ssthresh) = MAX(npkt, 2) *
CCV(ccv, tcp_cwnd) = (npkt +
CCV(ccv, tcp_dupack_cnt)) * mss;
if (!IN_CONGRECOVERY(ccv->flags) && !CCV(ccv, tcp_cwr)) {
CCV(ccv, tcp_cwnd_ssthresh) = MAX(npkt, 2) * mss;
CCV(ccv, tcp_cwnd) = npkt * mss;
if (CCV(ccv, tcp_cwnd) == 0) {
CCV(ccv, tcp_cwnd_cnt) = 0;
if (!CCV(ccv, tcp_cwr) || CCV(ccv, tcp_rexmit)) {
if (CCV(ccv, tcp_timer_backoff) != 0)
npkt = CCV(ccv, tcp_cwnd_ssthresh) / 2 / mss;
CCV(ccv, tcp_cwnd_ssthresh) = MAX(npkt, 2) * mss;
CCV(ccv, tcp_cwnd) = mss;
CCV(ccv, tcp_cwnd_cnt) = 0;
if (CCV(ccv, tcp_cwnd) > CCV(ccv, tcp_cwnd_ssthresh)) {
CCV(ccv, tcp_cwnd) = CCV(ccv, tcp_cwnd_ssthresh);
CCV(ccv, tcp_cwnd_cnt) = 0;
mss = CCV(ccv, tcp_mss);
cwnd = CCV(ccv, tcp_cwnd);
if (cwnd >= CCV(ccv, tcp_cwnd_ssthresh)) {