ike: Apply retransmission_limit before applying the jitter

This commit is contained in:
Tobias Brunner 2017-05-26 18:16:40 +02:00
parent 8ed3168406
commit 00d547119e
2 changed files with 8 additions and 8 deletions

View File

@ -366,15 +366,15 @@ static status_t retransmit_packet(private_task_manager_t *this, uint32_t seqnr,
}
t = (uint32_t)(this->retransmit_timeout * 1000.0 *
pow(this->retransmit_base, retransmitted));
if (this->retransmit_limit)
{
t = min(t, this->retransmit_limit);
}
if (this->retransmit_jitter)
{
max_jitter = (t / 100.0) * this->retransmit_jitter;
t -= max_jitter * (random() / (RAND_MAX + 1.0));
}
if (this->retransmit_limit)
{
t = min(t, this->retransmit_limit);
}
if (retransmitted)
{
DBG1(DBG_IKE, "sending retransmit %u of %s message ID %u, seq %u",

View File

@ -362,15 +362,15 @@ METHOD(task_manager_t, retransmit, status_t,
timeout = (uint32_t)(this->retransmit_timeout * 1000.0 *
pow(this->retransmit_base, this->initiating.retransmitted));
if (this->retransmit_limit)
{
timeout = min(timeout, this->retransmit_limit);
}
if (this->retransmit_jitter)
{
max_jitter = (timeout / 100.0) * this->retransmit_jitter;
timeout -= max_jitter * (random() / (RAND_MAX + 1.0));
}
if (this->retransmit_limit)
{
timeout = min(timeout, this->retransmit_limit);
}
}
else
{