Lines Matching refs:rtcc

261 	if (net->rtt > net->cc_mod.rtcc.lbw_rtt + rtt_offset) {  in cc_bw_same()
270 ((net->cc_mod.rtcc.lbw << 32) | nbw), in cc_bw_same()
271 ((net->cc_mod.rtcc.lbw_rtt << 32) | net->rtt), in cc_bw_same()
274 if ((net->cc_mod.rtcc.steady_step) && (inst_ind != SCTP_INST_LOOSING)) { in cc_bw_same()
275 if (net->cc_mod.rtcc.last_step_state == 5) in cc_bw_same()
276 net->cc_mod.rtcc.step_cnt++; in cc_bw_same()
278 net->cc_mod.rtcc.step_cnt = 1; in cc_bw_same()
279 net->cc_mod.rtcc.last_step_state = 5; in cc_bw_same()
280 if ((net->cc_mod.rtcc.step_cnt == net->cc_mod.rtcc.steady_step) || in cc_bw_same()
281 ((net->cc_mod.rtcc.step_cnt > net->cc_mod.rtcc.steady_step) && in cc_bw_same()
282 ((net->cc_mod.rtcc.step_cnt % net->cc_mod.rtcc.steady_step) == 0))) { in cc_bw_same()
284 oth = net->cc_mod.rtcc.vol_reduce; in cc_bw_same()
286 oth |= net->cc_mod.rtcc.step_cnt; in cc_bw_same()
288 oth |= net->cc_mod.rtcc.last_step_state; in cc_bw_same()
291 ((net->cc_mod.rtcc.lbw << 32) | nbw), in cc_bw_same()
292 ((net->cc_mod.rtcc.lbw_rtt << 32) | net->rtt), in cc_bw_same()
297 net->cc_mod.rtcc.vol_reduce++; in cc_bw_same()
299 net->cc_mod.rtcc.step_cnt = 0; in cc_bw_same()
305 if (net->rtt < net->cc_mod.rtcc.lbw_rtt - rtt_offset) { in cc_bw_same()
315 ((net->cc_mod.rtcc.lbw << 32) | nbw), in cc_bw_same()
316 ((net->cc_mod.rtcc.lbw_rtt << 32) | net->rtt), in cc_bw_same()
319 if (net->cc_mod.rtcc.steady_step) { in cc_bw_same()
320 oth = net->cc_mod.rtcc.vol_reduce; in cc_bw_same()
322 oth |= net->cc_mod.rtcc.step_cnt; in cc_bw_same()
324 oth |= net->cc_mod.rtcc.last_step_state; in cc_bw_same()
327 ((net->cc_mod.rtcc.lbw << 32) | nbw), in cc_bw_same()
328 ((net->cc_mod.rtcc.lbw_rtt << 32) | net->rtt), in cc_bw_same()
331 if ((net->cc_mod.rtcc.last_step_state == 5) && in cc_bw_same()
332 (net->cc_mod.rtcc.step_cnt > net->cc_mod.rtcc.steady_step)) { in cc_bw_same()
334 net->cc_mod.rtcc.step_cnt = 0; in cc_bw_same()
337 net->cc_mod.rtcc.last_step_state = 6; in cc_bw_same()
338 net->cc_mod.rtcc.step_cnt = 0; in cc_bw_same()
341 net->cc_mod.rtcc.lbw = nbw; in cc_bw_same()
342 net->cc_mod.rtcc.lbw_rtt = net->rtt; in cc_bw_same()
343 net->cc_mod.rtcc.cwnd_at_bw_set = net->cwnd; in cc_bw_same()
355 probepoint |= ((7 << 16) | net->cc_mod.rtcc.ret_from_eq); in cc_bw_same()
358 ((net->cc_mod.rtcc.lbw << 32) | nbw), in cc_bw_same()
359 ((net->cc_mod.rtcc.lbw_rtt << 32) | net->rtt), in cc_bw_same()
362 if ((net->cc_mod.rtcc.steady_step) && (inst_ind != SCTP_INST_LOOSING)) { in cc_bw_same()
363 if (net->cc_mod.rtcc.last_step_state == 5) in cc_bw_same()
364 net->cc_mod.rtcc.step_cnt++; in cc_bw_same()
366 net->cc_mod.rtcc.step_cnt = 1; in cc_bw_same()
367 net->cc_mod.rtcc.last_step_state = 5; in cc_bw_same()
368 if ((net->cc_mod.rtcc.step_cnt == net->cc_mod.rtcc.steady_step) || in cc_bw_same()
369 ((net->cc_mod.rtcc.step_cnt > net->cc_mod.rtcc.steady_step) && in cc_bw_same()
370 ((net->cc_mod.rtcc.step_cnt % net->cc_mod.rtcc.steady_step) == 0))) { in cc_bw_same()
374 net->cc_mod.rtcc.vol_reduce++; in cc_bw_same()
377 net->cc_mod.rtcc.step_cnt = 0; in cc_bw_same()
386 return ((int)net->cc_mod.rtcc.ret_from_eq); in cc_bw_same()
397 if (net->rtt > net->cc_mod.rtcc.lbw_rtt + rtt_offset) { in cc_bw_decrease()
400 if ((net->cwnd > net->cc_mod.rtcc.cwnd_at_bw_set) && in cc_bw_decrease()
407 ((net->cc_mod.rtcc.lbw << 32) | nbw), in cc_bw_decrease()
408 ((net->cc_mod.rtcc.lbw_rtt << 32) | net->rtt), in cc_bw_decrease()
411 if (net->cc_mod.rtcc.ret_from_eq) { in cc_bw_decrease()
425 ((net->cc_mod.rtcc.lbw << 32) | nbw), in cc_bw_decrease()
426 ((net->cc_mod.rtcc.lbw_rtt << 32) | net->rtt), in cc_bw_decrease()
430 if (net->cc_mod.rtcc.steady_step) { in cc_bw_decrease()
431 oth = net->cc_mod.rtcc.vol_reduce; in cc_bw_decrease()
433 oth |= net->cc_mod.rtcc.step_cnt; in cc_bw_decrease()
435 oth |= net->cc_mod.rtcc.last_step_state; in cc_bw_decrease()
438 ((net->cc_mod.rtcc.lbw << 32) | nbw), in cc_bw_decrease()
439 ((net->cc_mod.rtcc.lbw_rtt << 32) | net->rtt), in cc_bw_decrease()
446 if ((net->cc_mod.rtcc.vol_reduce) && in cc_bw_decrease()
450 net->cc_mod.rtcc.vol_reduce--; in cc_bw_decrease()
452 net->cc_mod.rtcc.last_step_state = 2; in cc_bw_decrease()
453 net->cc_mod.rtcc.step_cnt = 0; in cc_bw_decrease()
456 } else if (net->rtt < net->cc_mod.rtcc.lbw_rtt - rtt_offset) { in cc_bw_decrease()
462 ((net->cc_mod.rtcc.lbw << 32) | nbw), in cc_bw_decrease()
463 ((net->cc_mod.rtcc.lbw_rtt << 32) | net->rtt), in cc_bw_decrease()
466 if (net->cc_mod.rtcc.steady_step) { in cc_bw_decrease()
467 oth = net->cc_mod.rtcc.vol_reduce; in cc_bw_decrease()
469 oth |= net->cc_mod.rtcc.step_cnt; in cc_bw_decrease()
471 oth |= net->cc_mod.rtcc.last_step_state; in cc_bw_decrease()
474 ((net->cc_mod.rtcc.lbw << 32) | nbw), in cc_bw_decrease()
475 ((net->cc_mod.rtcc.lbw_rtt << 32) | net->rtt), in cc_bw_decrease()
478 if ((net->cc_mod.rtcc.vol_reduce) && in cc_bw_decrease()
482 net->cc_mod.rtcc.vol_reduce--; in cc_bw_decrease()
484 net->cc_mod.rtcc.last_step_state = 3; in cc_bw_decrease()
485 net->cc_mod.rtcc.step_cnt = 0; in cc_bw_decrease()
494 ((net->cc_mod.rtcc.lbw << 32) | nbw), in cc_bw_decrease()
495 ((net->cc_mod.rtcc.lbw_rtt << 32) | net->rtt), in cc_bw_decrease()
498 if (net->cc_mod.rtcc.steady_step) { in cc_bw_decrease()
499 oth = net->cc_mod.rtcc.vol_reduce; in cc_bw_decrease()
501 oth |= net->cc_mod.rtcc.step_cnt; in cc_bw_decrease()
503 oth |= net->cc_mod.rtcc.last_step_state; in cc_bw_decrease()
506 ((net->cc_mod.rtcc.lbw << 32) | nbw), in cc_bw_decrease()
507 ((net->cc_mod.rtcc.lbw_rtt << 32) | net->rtt), in cc_bw_decrease()
510 if ((net->cc_mod.rtcc.vol_reduce) && in cc_bw_decrease()
514 net->cc_mod.rtcc.vol_reduce--; in cc_bw_decrease()
516 net->cc_mod.rtcc.last_step_state = 4; in cc_bw_decrease()
517 net->cc_mod.rtcc.step_cnt = 0; in cc_bw_decrease()
520 net->cc_mod.rtcc.lbw = nbw; in cc_bw_decrease()
521 net->cc_mod.rtcc.lbw_rtt = net->rtt; in cc_bw_decrease()
522 net->cc_mod.rtcc.cwnd_at_bw_set = net->cwnd; in cc_bw_decrease()
544 ((net->cc_mod.rtcc.lbw << 32) | nbw), in cc_bw_increase()
545 ((net->cc_mod.rtcc.lbw_rtt << 32) | net->rtt), in cc_bw_increase()
548 if (net->cc_mod.rtcc.steady_step) { in cc_bw_increase()
549 oth = net->cc_mod.rtcc.vol_reduce; in cc_bw_increase()
551 oth |= net->cc_mod.rtcc.step_cnt; in cc_bw_increase()
553 oth |= net->cc_mod.rtcc.last_step_state; in cc_bw_increase()
556 ((net->cc_mod.rtcc.lbw << 32) | nbw), in cc_bw_increase()
557 ((net->cc_mod.rtcc.lbw_rtt << 32) | net->rtt), in cc_bw_increase()
560 net->cc_mod.rtcc.last_step_state = 0; in cc_bw_increase()
561 net->cc_mod.rtcc.step_cnt = 0; in cc_bw_increase()
562 net->cc_mod.rtcc.vol_reduce = 0; in cc_bw_increase()
564 net->cc_mod.rtcc.lbw = nbw; in cc_bw_increase()
565 net->cc_mod.rtcc.lbw_rtt = net->rtt; in cc_bw_increase()
566 net->cc_mod.rtcc.cwnd_at_bw_set = net->cwnd; in cc_bw_increase()
626 if (net->cc_mod.rtcc.rtt_set_this_sack) { in cc_bw_limit()
627 net->cc_mod.rtcc.rtt_set_this_sack = 0; in cc_bw_limit()
628 bytes_for_this_rtt = net->cc_mod.rtcc.bw_bytes - net->cc_mod.rtcc.bw_bytes_at_last_rttc; in cc_bw_limit()
629 net->cc_mod.rtcc.bw_bytes_at_last_rttc = net->cc_mod.rtcc.bw_bytes; in cc_bw_limit()
643 inst_ind = net->cc_mod.rtcc.last_inst_ind; in cc_bw_limit()
649 inst_ind = net->cc_mod.rtcc.last_inst_ind; in cc_bw_limit()
657 ((net->cc_mod.rtcc.lbw_rtt << 32) | rtt), in cc_bw_limit()
662 inst_ind = net->cc_mod.rtcc.last_inst_ind; in cc_bw_limit()
664 bw_offset = net->cc_mod.rtcc.lbw >> bw_shift; in cc_bw_limit()
665 if (nbw > net->cc_mod.rtcc.lbw + bw_offset) { in cc_bw_limit()
669 rtt_offset = net->cc_mod.rtcc.lbw_rtt >> SCTP_BASE_SYSCTL(sctp_rttvar_rtt); in cc_bw_limit()
670 if (nbw < net->cc_mod.rtcc.lbw - bw_offset) { in cc_bw_limit()
680 net->cc_mod.rtcc.last_inst_ind = inst_ind; in cc_bw_limit()
782 if (use_rtcc && (net->cc_mod.rtcc.tls_needs_set > 0)) { in sctp_cwnd_update_after_sack_common()
792 if ((net->cc_mod.rtcc.new_tot_time / 1000) > 0) { in sctp_cwnd_update_after_sack_common()
793 nbw = net->cc_mod.rtcc.bw_bytes / (net->cc_mod.rtcc.new_tot_time / 1000); in sctp_cwnd_update_after_sack_common()
795 nbw = net->cc_mod.rtcc.bw_bytes; in sctp_cwnd_update_after_sack_common()
797 if (net->cc_mod.rtcc.lbw) { in sctp_cwnd_update_after_sack_common()
814 ((net->cc_mod.rtcc.lbw_rtt << 32) | net->rtt), in sctp_cwnd_update_after_sack_common()
817 net->cc_mod.rtcc.lbw = nbw; in sctp_cwnd_update_after_sack_common()
818 net->cc_mod.rtcc.lbw_rtt = net->rtt; in sctp_cwnd_update_after_sack_common()
819 if (net->cc_mod.rtcc.rtt_set_this_sack) { in sctp_cwnd_update_after_sack_common()
820 net->cc_mod.rtcc.rtt_set_this_sack = 0; in sctp_cwnd_update_after_sack_common()
821 net->cc_mod.rtcc.bw_bytes_at_last_rttc = net->cc_mod.rtcc.bw_bytes; in sctp_cwnd_update_after_sack_common()
1091 if ((use_rtcc) && (net->lan_type == SCTP_LAN_LOCAL) && (net->cc_mod.rtcc.use_dccc_ecn)) { in sctp_cwnd_update_after_ecn_echo_common()
1321 net->cc_mod.rtcc.bw_bytes += tp1->send_size; in sctp_cwnd_update_rtcc_tsn_acknowledged()
1328 if (net->cc_mod.rtcc.tls_needs_set > 0) { in sctp_cwnd_prepare_rtcc_net_for_sack()
1333 timevalsub(&ltls, &net->cc_mod.rtcc.tls); in sctp_cwnd_prepare_rtcc_net_for_sack()
1334 net->cc_mod.rtcc.new_tot_time = (ltls.tv_sec * 1000000) + ltls.tv_usec; in sctp_cwnd_prepare_rtcc_net_for_sack()
1344 if (net->cc_mod.rtcc.lbw) { in sctp_cwnd_new_rtcc_transmission_begins()
1353 ((net->cc_mod.rtcc.lbw << 32) | 0), in sctp_cwnd_new_rtcc_transmission_begins()
1354 ((net->cc_mod.rtcc.lbw_rtt << 32) | net->rtt), in sctp_cwnd_new_rtcc_transmission_begins()
1357 net->cc_mod.rtcc.lbw_rtt = 0; in sctp_cwnd_new_rtcc_transmission_begins()
1358 net->cc_mod.rtcc.cwnd_at_bw_set = 0; in sctp_cwnd_new_rtcc_transmission_begins()
1359 net->cc_mod.rtcc.lbw = 0; in sctp_cwnd_new_rtcc_transmission_begins()
1360 net->cc_mod.rtcc.bw_bytes_at_last_rttc = 0; in sctp_cwnd_new_rtcc_transmission_begins()
1361 net->cc_mod.rtcc.vol_reduce = 0; in sctp_cwnd_new_rtcc_transmission_begins()
1362 net->cc_mod.rtcc.bw_tot_time = 0; in sctp_cwnd_new_rtcc_transmission_begins()
1363 net->cc_mod.rtcc.bw_bytes = 0; in sctp_cwnd_new_rtcc_transmission_begins()
1364 net->cc_mod.rtcc.tls_needs_set = 0; in sctp_cwnd_new_rtcc_transmission_begins()
1365 if (net->cc_mod.rtcc.steady_step) { in sctp_cwnd_new_rtcc_transmission_begins()
1366 net->cc_mod.rtcc.vol_reduce = 0; in sctp_cwnd_new_rtcc_transmission_begins()
1367 net->cc_mod.rtcc.step_cnt = 0; in sctp_cwnd_new_rtcc_transmission_begins()
1368 net->cc_mod.rtcc.last_step_state = 0; in sctp_cwnd_new_rtcc_transmission_begins()
1370 if (net->cc_mod.rtcc.ret_from_eq) { in sctp_cwnd_new_rtcc_transmission_begins()
1420 net->cc_mod.rtcc.lbw_rtt = 0; in sctp_set_rtcc_initial_cc_param()
1421 net->cc_mod.rtcc.cwnd_at_bw_set = 0; in sctp_set_rtcc_initial_cc_param()
1422 net->cc_mod.rtcc.vol_reduce = 0; in sctp_set_rtcc_initial_cc_param()
1423 net->cc_mod.rtcc.lbw = 0; in sctp_set_rtcc_initial_cc_param()
1424 net->cc_mod.rtcc.vol_reduce = 0; in sctp_set_rtcc_initial_cc_param()
1425 net->cc_mod.rtcc.bw_bytes_at_last_rttc = 0; in sctp_set_rtcc_initial_cc_param()
1426 net->cc_mod.rtcc.bw_tot_time = 0; in sctp_set_rtcc_initial_cc_param()
1427 net->cc_mod.rtcc.bw_bytes = 0; in sctp_set_rtcc_initial_cc_param()
1428 net->cc_mod.rtcc.tls_needs_set = 0; in sctp_set_rtcc_initial_cc_param()
1429 net->cc_mod.rtcc.ret_from_eq = SCTP_BASE_SYSCTL(sctp_rttvar_eqret); in sctp_set_rtcc_initial_cc_param()
1430 net->cc_mod.rtcc.steady_step = SCTP_BASE_SYSCTL(sctp_steady_step); in sctp_set_rtcc_initial_cc_param()
1431 net->cc_mod.rtcc.use_dccc_ecn = SCTP_BASE_SYSCTL(sctp_use_dccc_ecn); in sctp_set_rtcc_initial_cc_param()
1432 net->cc_mod.rtcc.step_cnt = 0; in sctp_set_rtcc_initial_cc_param()
1433 net->cc_mod.rtcc.last_step_state = 0; in sctp_set_rtcc_initial_cc_param()
1450 net->cc_mod.rtcc.ret_from_eq = cc_opt->aid_value.assoc_value; in sctp_cwnd_rtcc_socket_option()
1458 net->cc_mod.rtcc.use_dccc_ecn = cc_opt->aid_value.assoc_value; in sctp_cwnd_rtcc_socket_option()
1462 net->cc_mod.rtcc.steady_step = cc_opt->aid_value.assoc_value; in sctp_cwnd_rtcc_socket_option()
1474 cc_opt->aid_value.assoc_value = net->cc_mod.rtcc.ret_from_eq; in sctp_cwnd_rtcc_socket_option()
1480 cc_opt->aid_value.assoc_value = net->cc_mod.rtcc.use_dccc_ecn; in sctp_cwnd_rtcc_socket_option()
1486 cc_opt->aid_value.assoc_value = net->cc_mod.rtcc.steady_step; in sctp_cwnd_rtcc_socket_option()
1498 if (net->cc_mod.rtcc.tls_needs_set == 0) { in sctp_cwnd_update_rtcc_packet_transmitted()
1499 SCTP_GETPTIME_TIMEVAL(&net->cc_mod.rtcc.tls); in sctp_cwnd_update_rtcc_packet_transmitted()
1500 net->cc_mod.rtcc.tls_needs_set = 2; in sctp_cwnd_update_rtcc_packet_transmitted()
1518 net->cc_mod.rtcc.rtt_set_this_sack = 1; in sctp_rtt_rtcc_calculated()