ike: Apply retransmission_limit before applying the jitter
This commit is contained in:
parent
8ed3168406
commit
00d547119e
|
@ -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",
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue