On Tue, 8 Feb 2005 17:02:08 -0300, Pablo Milano
<[EMAIL PROTECTED]> wrote:
> I've patched l2tpd in order to adjust timeouts using exponential backoff.
> I've also added optional logging of these adjustments.
> I tested the new version using a 33.2 kbps dialup connection and retries
> went between 3 to 5, rising the timeout up to 16 seconds. I am not sure if
> the problem is due to the dialup connection or to the windows L2TP/IPsec
> client.

Presumably, when you get a saturated dialup link, *both* sides (l2tpd
and Windows) of the L2TP tunnels are loosing control packets and thus
doing their own retry algorithm.  I would have to think Windows does a
correct exponential backoff, but I do not know what or if it has a cap
on retries.

If I read the spec right...it says there's a minimum of 5 attempts and
a minimum timeout interval cap of 8 seconds.  So, in 5 attempts there
are 4 retransmissions (the first one is not a retry).  And binary
exponential intervals before giving up are correspondingly: 0, 1, 2,
4, 8, 8 (the last 8 seconds are because you still have to wait for the
last packet to timeout).  That's a total time of approx 31 seconds,
minimum, before an implementation is allowed to drop the tunnels
because of missing control packets.  Of course implementations are
allowed to wait longer.  Anybody know what Windows does (or is there a
registry setting)?


David, regarding my changes to rp-l2tp (not l2tpd), I need to clean
them up and turn them into proper patches.  I'll work on that.  I've
mainly tried to fix the tunnel re-establishment logic (when that
option is set).  There were many failure conditions before where the
tunnels would never be re-established (which caused me grief whenever
a rogue CB radio operating at illegal power levels would take down my
DSL connection for a couple minutes).  I've also added a lot more
statistics gathering and reporting in it.

Also, I've always had a question about rp-l2tp running as a LAC:  Is
there any way to establish multiple independent calls (with separate
PPP instances) when communicating to a single L2TP LNS peer?  It seems
those concepts in rp-l2tp are fused together so you only easily get
one call per tunnel, or one tunnel per peer.

-- 
Deron Meranda

Reply via email to