mirror of
https://git.rtems.org/rtems-libbsd/
synced 2025-10-18 03:44:39 +08:00
Update to FreeBSD head 2018-09-17
Git mirror commit 6c2192b1ef8c50788c751f878552526800b1e319. Update #3472.
This commit is contained in:
@@ -133,6 +133,7 @@ sctp_cwnd_update_after_fr(struct sctp_tcb *stcb,
|
||||
t_ucwnd_sbw = 1;
|
||||
}
|
||||
}
|
||||
|
||||
/*-
|
||||
* CMT fast recovery code. Need to debug. ((sctp_cmt_on_off > 0) &&
|
||||
* (net->fast_retran_loss_recovery == 0)))
|
||||
@@ -1121,6 +1122,7 @@ sctp_cwnd_update_after_ecn_echo_common(struct sctp_tcb *stcb, struct sctp_nets *
|
||||
if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_CWND_MONITOR_ENABLE) {
|
||||
sctp_log_cwnd(stcb, net, (net->cwnd - old_cwnd), SCTP_CWND_LOG_FROM_SAT);
|
||||
}
|
||||
|
||||
}
|
||||
SCTP_STAT_INCR(sctps_ecnereducedcwnd);
|
||||
} else {
|
||||
@@ -1320,7 +1322,7 @@ sctp_cwnd_update_rtcc_after_ecn_echo(struct sctp_tcb *stcb, struct sctp_nets *ne
|
||||
|
||||
|
||||
static
|
||||
void
|
||||
void
|
||||
sctp_cwnd_update_rtcc_tsn_acknowledged(struct sctp_nets *net,
|
||||
struct sctp_tmit_chunk *tp1)
|
||||
{
|
||||
@@ -1937,6 +1939,7 @@ measure_achieved_throughput(struct sctp_nets *net)
|
||||
net->cc_mod.htcp_ca.lasttime = now;
|
||||
return;
|
||||
}
|
||||
|
||||
net->cc_mod.htcp_ca.bytecount += net->net_ack;
|
||||
if ((net->cc_mod.htcp_ca.bytecount >= net->cwnd - (((net->cc_mod.htcp_ca.alpha >> 7) ? (net->cc_mod.htcp_ca.alpha >> 7) : 1) * net->mtu)) &&
|
||||
(now - net->cc_mod.htcp_ca.lasttime >= net->cc_mod.htcp_ca.minRTT) &&
|
||||
@@ -1973,6 +1976,7 @@ htcp_beta_update(struct htcp *ca, uint32_t minRTT, uint32_t maxRTT)
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (ca->modeswitch && minRTT > (uint32_t)MSEC_TO_TICKS(10) && maxRTT) {
|
||||
ca->beta = (minRTT << 7) / maxRTT;
|
||||
if (ca->beta < BETA_MIN)
|
||||
@@ -1996,6 +2000,7 @@ htcp_alpha_update(struct htcp *ca)
|
||||
diff -= hz;
|
||||
factor = 1 + (10 * diff + ((diff / 2) * (diff / 2) / hz)) / hz;
|
||||
}
|
||||
|
||||
if (use_rtt_scaling && minRTT) {
|
||||
uint32_t scale = (hz << 3) / (10 * minRTT);
|
||||
|
||||
@@ -2005,6 +2010,7 @@ htcp_alpha_update(struct htcp *ca)
|
||||
if (!factor)
|
||||
factor = 1;
|
||||
}
|
||||
|
||||
ca->alpha = 2 * factor * ((1 << 7) - ca->beta);
|
||||
if (!ca->alpha)
|
||||
ca->alpha = ALPHA_BASE;
|
||||
@@ -2059,12 +2065,14 @@ htcp_cong_avoid(struct sctp_tcb *stcb, struct sctp_nets *net)
|
||||
sctp_log_cwnd(stcb, net, net->mtu,
|
||||
SCTP_CWND_LOG_FROM_SS);
|
||||
}
|
||||
|
||||
} else {
|
||||
net->cwnd += net->net_ack;
|
||||
if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_CWND_MONITOR_ENABLE) {
|
||||
sctp_log_cwnd(stcb, net, net->net_ack,
|
||||
SCTP_CWND_LOG_FROM_SS);
|
||||
}
|
||||
|
||||
}
|
||||
sctp_enforce_cwnd_limit(&stcb->asoc, net);
|
||||
} else {
|
||||
|
Reference in New Issue
Block a user