Lines Matching refs:rtcc
258 if (net->rtt > net->cc_mod.rtcc.lbw_rtt + rtt_offset) { in cc_bw_same()
267 ((net->cc_mod.rtcc.lbw << 32) | nbw), in cc_bw_same()
268 ((net->cc_mod.rtcc.lbw_rtt << 32) | net->rtt), in cc_bw_same()
271 if ((net->cc_mod.rtcc.steady_step) && (inst_ind != SCTP_INST_LOOSING)) { in cc_bw_same()
272 if (net->cc_mod.rtcc.last_step_state == 5) in cc_bw_same()
273 net->cc_mod.rtcc.step_cnt++; in cc_bw_same()
275 net->cc_mod.rtcc.step_cnt = 1; in cc_bw_same()
276 net->cc_mod.rtcc.last_step_state = 5; in cc_bw_same()
277 if ((net->cc_mod.rtcc.step_cnt == net->cc_mod.rtcc.steady_step) || in cc_bw_same()
278 ((net->cc_mod.rtcc.step_cnt > net->cc_mod.rtcc.steady_step) && in cc_bw_same()
279 ((net->cc_mod.rtcc.step_cnt % net->cc_mod.rtcc.steady_step) == 0))) { in cc_bw_same()
281 oth = net->cc_mod.rtcc.vol_reduce; in cc_bw_same()
283 oth |= net->cc_mod.rtcc.step_cnt; in cc_bw_same()
285 oth |= net->cc_mod.rtcc.last_step_state; in cc_bw_same()
288 ((net->cc_mod.rtcc.lbw << 32) | nbw), in cc_bw_same()
289 ((net->cc_mod.rtcc.lbw_rtt << 32) | net->rtt), in cc_bw_same()
294 net->cc_mod.rtcc.vol_reduce++; in cc_bw_same()
296 net->cc_mod.rtcc.step_cnt = 0; in cc_bw_same()
302 if (net->rtt < net->cc_mod.rtcc.lbw_rtt - rtt_offset) { in cc_bw_same()
312 ((net->cc_mod.rtcc.lbw << 32) | nbw), in cc_bw_same()
313 ((net->cc_mod.rtcc.lbw_rtt << 32) | net->rtt), in cc_bw_same()
316 if (net->cc_mod.rtcc.steady_step) { in cc_bw_same()
317 oth = net->cc_mod.rtcc.vol_reduce; in cc_bw_same()
319 oth |= net->cc_mod.rtcc.step_cnt; in cc_bw_same()
321 oth |= net->cc_mod.rtcc.last_step_state; in cc_bw_same()
324 ((net->cc_mod.rtcc.lbw << 32) | nbw), in cc_bw_same()
325 ((net->cc_mod.rtcc.lbw_rtt << 32) | net->rtt), in cc_bw_same()
328 if ((net->cc_mod.rtcc.last_step_state == 5) && in cc_bw_same()
329 (net->cc_mod.rtcc.step_cnt > net->cc_mod.rtcc.steady_step)) { in cc_bw_same()
331 net->cc_mod.rtcc.step_cnt = 0; in cc_bw_same()
334 net->cc_mod.rtcc.last_step_state = 6; in cc_bw_same()
335 net->cc_mod.rtcc.step_cnt = 0; in cc_bw_same()
338 net->cc_mod.rtcc.lbw = nbw; in cc_bw_same()
339 net->cc_mod.rtcc.lbw_rtt = net->rtt; in cc_bw_same()
340 net->cc_mod.rtcc.cwnd_at_bw_set = net->cwnd; in cc_bw_same()
352 probepoint |= ((7 << 16) | net->cc_mod.rtcc.ret_from_eq); in cc_bw_same()
355 ((net->cc_mod.rtcc.lbw << 32) | nbw), in cc_bw_same()
356 ((net->cc_mod.rtcc.lbw_rtt << 32) | net->rtt), in cc_bw_same()
359 if ((net->cc_mod.rtcc.steady_step) && (inst_ind != SCTP_INST_LOOSING)) { in cc_bw_same()
360 if (net->cc_mod.rtcc.last_step_state == 5) in cc_bw_same()
361 net->cc_mod.rtcc.step_cnt++; in cc_bw_same()
363 net->cc_mod.rtcc.step_cnt = 1; in cc_bw_same()
364 net->cc_mod.rtcc.last_step_state = 5; in cc_bw_same()
365 if ((net->cc_mod.rtcc.step_cnt == net->cc_mod.rtcc.steady_step) || in cc_bw_same()
366 ((net->cc_mod.rtcc.step_cnt > net->cc_mod.rtcc.steady_step) && in cc_bw_same()
367 ((net->cc_mod.rtcc.step_cnt % net->cc_mod.rtcc.steady_step) == 0))) { in cc_bw_same()
371 net->cc_mod.rtcc.vol_reduce++; in cc_bw_same()
374 net->cc_mod.rtcc.step_cnt = 0; in cc_bw_same()
383 return ((int)net->cc_mod.rtcc.ret_from_eq); in cc_bw_same()
394 if (net->rtt > net->cc_mod.rtcc.lbw_rtt + rtt_offset) { in cc_bw_decrease()
397 if ((net->cwnd > net->cc_mod.rtcc.cwnd_at_bw_set) && in cc_bw_decrease()
404 ((net->cc_mod.rtcc.lbw << 32) | nbw), in cc_bw_decrease()
405 ((net->cc_mod.rtcc.lbw_rtt << 32) | net->rtt), in cc_bw_decrease()
408 if (net->cc_mod.rtcc.ret_from_eq) { in cc_bw_decrease()
422 ((net->cc_mod.rtcc.lbw << 32) | nbw), in cc_bw_decrease()
423 ((net->cc_mod.rtcc.lbw_rtt << 32) | net->rtt), in cc_bw_decrease()
427 if (net->cc_mod.rtcc.steady_step) { in cc_bw_decrease()
428 oth = net->cc_mod.rtcc.vol_reduce; in cc_bw_decrease()
430 oth |= net->cc_mod.rtcc.step_cnt; in cc_bw_decrease()
432 oth |= net->cc_mod.rtcc.last_step_state; in cc_bw_decrease()
435 ((net->cc_mod.rtcc.lbw << 32) | nbw), in cc_bw_decrease()
436 ((net->cc_mod.rtcc.lbw_rtt << 32) | net->rtt), in cc_bw_decrease()
443 if ((net->cc_mod.rtcc.vol_reduce) && in cc_bw_decrease()
447 net->cc_mod.rtcc.vol_reduce--; in cc_bw_decrease()
449 net->cc_mod.rtcc.last_step_state = 2; in cc_bw_decrease()
450 net->cc_mod.rtcc.step_cnt = 0; in cc_bw_decrease()
453 } else if (net->rtt < net->cc_mod.rtcc.lbw_rtt - rtt_offset) { in cc_bw_decrease()
459 ((net->cc_mod.rtcc.lbw << 32) | nbw), in cc_bw_decrease()
460 ((net->cc_mod.rtcc.lbw_rtt << 32) | net->rtt), in cc_bw_decrease()
463 if (net->cc_mod.rtcc.steady_step) { in cc_bw_decrease()
464 oth = net->cc_mod.rtcc.vol_reduce; in cc_bw_decrease()
466 oth |= net->cc_mod.rtcc.step_cnt; in cc_bw_decrease()
468 oth |= net->cc_mod.rtcc.last_step_state; in cc_bw_decrease()
471 ((net->cc_mod.rtcc.lbw << 32) | nbw), in cc_bw_decrease()
472 ((net->cc_mod.rtcc.lbw_rtt << 32) | net->rtt), in cc_bw_decrease()
475 if ((net->cc_mod.rtcc.vol_reduce) && in cc_bw_decrease()
479 net->cc_mod.rtcc.vol_reduce--; in cc_bw_decrease()
481 net->cc_mod.rtcc.last_step_state = 3; in cc_bw_decrease()
482 net->cc_mod.rtcc.step_cnt = 0; in cc_bw_decrease()
491 ((net->cc_mod.rtcc.lbw << 32) | nbw), in cc_bw_decrease()
492 ((net->cc_mod.rtcc.lbw_rtt << 32) | net->rtt), in cc_bw_decrease()
495 if (net->cc_mod.rtcc.steady_step) { in cc_bw_decrease()
496 oth = net->cc_mod.rtcc.vol_reduce; in cc_bw_decrease()
498 oth |= net->cc_mod.rtcc.step_cnt; in cc_bw_decrease()
500 oth |= net->cc_mod.rtcc.last_step_state; in cc_bw_decrease()
503 ((net->cc_mod.rtcc.lbw << 32) | nbw), in cc_bw_decrease()
504 ((net->cc_mod.rtcc.lbw_rtt << 32) | net->rtt), in cc_bw_decrease()
507 if ((net->cc_mod.rtcc.vol_reduce) && in cc_bw_decrease()
511 net->cc_mod.rtcc.vol_reduce--; in cc_bw_decrease()
513 net->cc_mod.rtcc.last_step_state = 4; in cc_bw_decrease()
514 net->cc_mod.rtcc.step_cnt = 0; in cc_bw_decrease()
517 net->cc_mod.rtcc.lbw = nbw; in cc_bw_decrease()
518 net->cc_mod.rtcc.lbw_rtt = net->rtt; in cc_bw_decrease()
519 net->cc_mod.rtcc.cwnd_at_bw_set = net->cwnd; in cc_bw_decrease()
541 ((net->cc_mod.rtcc.lbw << 32) | nbw), in cc_bw_increase()
542 ((net->cc_mod.rtcc.lbw_rtt << 32) | net->rtt), in cc_bw_increase()
545 if (net->cc_mod.rtcc.steady_step) { in cc_bw_increase()
546 oth = net->cc_mod.rtcc.vol_reduce; in cc_bw_increase()
548 oth |= net->cc_mod.rtcc.step_cnt; in cc_bw_increase()
550 oth |= net->cc_mod.rtcc.last_step_state; in cc_bw_increase()
553 ((net->cc_mod.rtcc.lbw << 32) | nbw), in cc_bw_increase()
554 ((net->cc_mod.rtcc.lbw_rtt << 32) | net->rtt), in cc_bw_increase()
557 net->cc_mod.rtcc.last_step_state = 0; in cc_bw_increase()
558 net->cc_mod.rtcc.step_cnt = 0; in cc_bw_increase()
559 net->cc_mod.rtcc.vol_reduce = 0; in cc_bw_increase()
561 net->cc_mod.rtcc.lbw = nbw; in cc_bw_increase()
562 net->cc_mod.rtcc.lbw_rtt = net->rtt; in cc_bw_increase()
563 net->cc_mod.rtcc.cwnd_at_bw_set = net->cwnd; in cc_bw_increase()
623 if (net->cc_mod.rtcc.rtt_set_this_sack) { in cc_bw_limit()
624 net->cc_mod.rtcc.rtt_set_this_sack = 0; in cc_bw_limit()
625 bytes_for_this_rtt = net->cc_mod.rtcc.bw_bytes - net->cc_mod.rtcc.bw_bytes_at_last_rttc; in cc_bw_limit()
626 net->cc_mod.rtcc.bw_bytes_at_last_rttc = net->cc_mod.rtcc.bw_bytes; in cc_bw_limit()
640 inst_ind = net->cc_mod.rtcc.last_inst_ind; in cc_bw_limit()
646 inst_ind = net->cc_mod.rtcc.last_inst_ind; in cc_bw_limit()
654 ((net->cc_mod.rtcc.lbw_rtt << 32) | rtt), in cc_bw_limit()
659 inst_ind = net->cc_mod.rtcc.last_inst_ind; in cc_bw_limit()
661 bw_offset = net->cc_mod.rtcc.lbw >> bw_shift; in cc_bw_limit()
662 if (nbw > net->cc_mod.rtcc.lbw + bw_offset) { in cc_bw_limit()
666 rtt_offset = net->cc_mod.rtcc.lbw_rtt >> SCTP_BASE_SYSCTL(sctp_rttvar_rtt); in cc_bw_limit()
667 if (nbw < net->cc_mod.rtcc.lbw - bw_offset) { in cc_bw_limit()
677 net->cc_mod.rtcc.last_inst_ind = inst_ind; in cc_bw_limit()
779 if (use_rtcc && (net->cc_mod.rtcc.tls_needs_set > 0)) { in sctp_cwnd_update_after_sack_common()
789 if ((net->cc_mod.rtcc.new_tot_time / 1000) > 0) { in sctp_cwnd_update_after_sack_common()
790 nbw = net->cc_mod.rtcc.bw_bytes / (net->cc_mod.rtcc.new_tot_time / 1000); in sctp_cwnd_update_after_sack_common()
792 nbw = net->cc_mod.rtcc.bw_bytes; in sctp_cwnd_update_after_sack_common()
794 if (net->cc_mod.rtcc.lbw) { in sctp_cwnd_update_after_sack_common()
811 ((net->cc_mod.rtcc.lbw_rtt << 32) | net->rtt), in sctp_cwnd_update_after_sack_common()
814 net->cc_mod.rtcc.lbw = nbw; in sctp_cwnd_update_after_sack_common()
815 net->cc_mod.rtcc.lbw_rtt = net->rtt; in sctp_cwnd_update_after_sack_common()
816 if (net->cc_mod.rtcc.rtt_set_this_sack) { in sctp_cwnd_update_after_sack_common()
817 net->cc_mod.rtcc.rtt_set_this_sack = 0; in sctp_cwnd_update_after_sack_common()
818 net->cc_mod.rtcc.bw_bytes_at_last_rttc = net->cc_mod.rtcc.bw_bytes; in sctp_cwnd_update_after_sack_common()
1088 if ((use_rtcc) && (net->lan_type == SCTP_LAN_LOCAL) && (net->cc_mod.rtcc.use_dccc_ecn)) { in sctp_cwnd_update_after_ecn_echo_common()
1318 net->cc_mod.rtcc.bw_bytes += tp1->send_size; in sctp_cwnd_update_rtcc_tsn_acknowledged()
1325 if (net->cc_mod.rtcc.tls_needs_set > 0) { in sctp_cwnd_prepare_rtcc_net_for_sack()
1330 timevalsub(<ls, &net->cc_mod.rtcc.tls); in sctp_cwnd_prepare_rtcc_net_for_sack()
1331 net->cc_mod.rtcc.new_tot_time = (ltls.tv_sec * 1000000) + ltls.tv_usec; in sctp_cwnd_prepare_rtcc_net_for_sack()
1341 if (net->cc_mod.rtcc.lbw) { in sctp_cwnd_new_rtcc_transmission_begins()
1350 ((net->cc_mod.rtcc.lbw << 32) | 0), in sctp_cwnd_new_rtcc_transmission_begins()
1351 ((net->cc_mod.rtcc.lbw_rtt << 32) | net->rtt), in sctp_cwnd_new_rtcc_transmission_begins()
1354 net->cc_mod.rtcc.lbw_rtt = 0; in sctp_cwnd_new_rtcc_transmission_begins()
1355 net->cc_mod.rtcc.cwnd_at_bw_set = 0; in sctp_cwnd_new_rtcc_transmission_begins()
1356 net->cc_mod.rtcc.lbw = 0; in sctp_cwnd_new_rtcc_transmission_begins()
1357 net->cc_mod.rtcc.bw_bytes_at_last_rttc = 0; in sctp_cwnd_new_rtcc_transmission_begins()
1358 net->cc_mod.rtcc.vol_reduce = 0; in sctp_cwnd_new_rtcc_transmission_begins()
1359 net->cc_mod.rtcc.bw_tot_time = 0; in sctp_cwnd_new_rtcc_transmission_begins()
1360 net->cc_mod.rtcc.bw_bytes = 0; in sctp_cwnd_new_rtcc_transmission_begins()
1361 net->cc_mod.rtcc.tls_needs_set = 0; in sctp_cwnd_new_rtcc_transmission_begins()
1362 if (net->cc_mod.rtcc.steady_step) { in sctp_cwnd_new_rtcc_transmission_begins()
1363 net->cc_mod.rtcc.vol_reduce = 0; in sctp_cwnd_new_rtcc_transmission_begins()
1364 net->cc_mod.rtcc.step_cnt = 0; in sctp_cwnd_new_rtcc_transmission_begins()
1365 net->cc_mod.rtcc.last_step_state = 0; in sctp_cwnd_new_rtcc_transmission_begins()
1367 if (net->cc_mod.rtcc.ret_from_eq) { in sctp_cwnd_new_rtcc_transmission_begins()
1417 net->cc_mod.rtcc.lbw_rtt = 0; in sctp_set_rtcc_initial_cc_param()
1418 net->cc_mod.rtcc.cwnd_at_bw_set = 0; in sctp_set_rtcc_initial_cc_param()
1419 net->cc_mod.rtcc.vol_reduce = 0; in sctp_set_rtcc_initial_cc_param()
1420 net->cc_mod.rtcc.lbw = 0; in sctp_set_rtcc_initial_cc_param()
1421 net->cc_mod.rtcc.vol_reduce = 0; in sctp_set_rtcc_initial_cc_param()
1422 net->cc_mod.rtcc.bw_bytes_at_last_rttc = 0; in sctp_set_rtcc_initial_cc_param()
1423 net->cc_mod.rtcc.bw_tot_time = 0; in sctp_set_rtcc_initial_cc_param()
1424 net->cc_mod.rtcc.bw_bytes = 0; in sctp_set_rtcc_initial_cc_param()
1425 net->cc_mod.rtcc.tls_needs_set = 0; in sctp_set_rtcc_initial_cc_param()
1426 net->cc_mod.rtcc.ret_from_eq = SCTP_BASE_SYSCTL(sctp_rttvar_eqret); in sctp_set_rtcc_initial_cc_param()
1427 net->cc_mod.rtcc.steady_step = SCTP_BASE_SYSCTL(sctp_steady_step); in sctp_set_rtcc_initial_cc_param()
1428 net->cc_mod.rtcc.use_dccc_ecn = SCTP_BASE_SYSCTL(sctp_use_dccc_ecn); in sctp_set_rtcc_initial_cc_param()
1429 net->cc_mod.rtcc.step_cnt = 0; in sctp_set_rtcc_initial_cc_param()
1430 net->cc_mod.rtcc.last_step_state = 0; in sctp_set_rtcc_initial_cc_param()
1447 net->cc_mod.rtcc.ret_from_eq = cc_opt->aid_value.assoc_value; in sctp_cwnd_rtcc_socket_option()
1455 net->cc_mod.rtcc.use_dccc_ecn = cc_opt->aid_value.assoc_value; in sctp_cwnd_rtcc_socket_option()
1459 net->cc_mod.rtcc.steady_step = cc_opt->aid_value.assoc_value; in sctp_cwnd_rtcc_socket_option()
1471 cc_opt->aid_value.assoc_value = net->cc_mod.rtcc.ret_from_eq; in sctp_cwnd_rtcc_socket_option()
1477 cc_opt->aid_value.assoc_value = net->cc_mod.rtcc.use_dccc_ecn; in sctp_cwnd_rtcc_socket_option()
1483 cc_opt->aid_value.assoc_value = net->cc_mod.rtcc.steady_step; in sctp_cwnd_rtcc_socket_option()
1495 if (net->cc_mod.rtcc.tls_needs_set == 0) { in sctp_cwnd_update_rtcc_packet_transmitted()
1496 SCTP_GETPTIME_TIMEVAL(&net->cc_mod.rtcc.tls); in sctp_cwnd_update_rtcc_packet_transmitted()
1497 net->cc_mod.rtcc.tls_needs_set = 2; in sctp_cwnd_update_rtcc_packet_transmitted()
1515 net->cc_mod.rtcc.rtt_set_this_sack = 1; in sctp_rtt_rtcc_calculated()