[Swan-dev] EVENT_RETRANSMIT_DELAY_0

Paul Wouters paul at nohats.ca
Fri Jan 30 21:56:27 EET 2015


On Fri, 30 Jan 2015, Antony Antony wrote:

> any idea why aggr_outI1_tail retransmit interval is 30 seconds in comment and the code use 10(EVENT_RETRANSMIT_DELAY_0)? Is there any specific reason for 30 seconds?

It has been like that since openswan-2.4.0. Doing some git blaming
reveals Michael added the (false) comment in commit 6dd1eb96 related to TAPROOM:

+    TCLCALLOUT("adjustTimers", st, st->st_connection, md);
+
+#ifdef TPM
+ tpm_stolen:
+ tpm_ignore:
+#endif
+    /* Set up a retransmission event, half a minute henceforth */
      delete_event(st);
      event_schedule(EVENT_RETRANSMIT, EVENT_RETRANSMIT_DELAY_0, st);


> It is the same in xauth_send_status comment suggest 30 code is 10. Check the #master
>
> And in modecfg_send_request it is actually EVENT_RETRANSMIT_DELAY_0 *
>
> Last call before I change these to retransmit delay to c->r_interval, the retransmit interval used for initial exchange.

Go for it.

> Also note, this is different from delaying * xauth responder, for iPhones, delay xauth request slightly to avoid out of order arrival. I don't know what to use for that.

Anything that ensures the packets won't end up re-ordered on the other
end. I would suggest at least 100ms. I would not tie it to r_interval
in case we end up making that < 25ms.

> If we can avoid it, lets not create another knob for these cases.

It does not need a knob. We could in the future look at received vendor
ids and only do the delay when we know or suspect it is an iphone. For
now I'm fine with just making it 100ms (and have Wolfgang test it :)

Paul


More information about the Swan-dev mailing list