<feed xmlns='http://www.w3.org/2005/Atom'>
<title>accel-ppp-xebd.git/accel-pppd/ctrl/l2tp, branch 1.10</title>
<subtitle>High performance PPTP/L2TP/PPPoE/IPoE server for Linux (mirror of https://github.com/marekm72/accel-ppp-xebd.git)
</subtitle>
<id>https://git.amelek.net/marekm72/accel-ppp-xebd.git/atom?h=1.10</id>
<link rel='self' href='https://git.amelek.net/marekm72/accel-ppp-xebd.git/atom?h=1.10'/>
<link rel='alternate' type='text/html' href='https://git.amelek.net/marekm72/accel-ppp-xebd.git/'/>
<updated>2014-11-22T05:56:40+00:00</updated>
<entry>
<title>remove trailing whitespaces</title>
<updated>2014-11-22T05:56:40+00:00</updated>
<author>
<name>Dmitry Kozlov</name>
<email>xeb@mail.ru</email>
</author>
<published>2014-11-22T05:56:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/marekm72/accel-ppp-xebd.git/commit/?id=81ca3923a29ea9b67f7291be23b210019546aa5f'/>
<id>urn:sha1:81ca3923a29ea9b67f7291be23b210019546aa5f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>triton: improved epoll events handling</title>
<updated>2014-05-12T09:50:15+00:00</updated>
<author>
<name>Dmitry Kozlov</name>
<email>xeb@mail.ru</email>
</author>
<published>2014-05-12T09:50:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/marekm72/accel-ppp-xebd.git/commit/?id=0c0bdd363b63319c7484f5cfbe6dd74a15b884be'/>
<id>urn:sha1:0c0bdd363b63319c7484f5cfbe6dd74a15b884be</id>
<content type='text'>
</content>
</entry>
<entry>
<title>l2tp: don't disconnect immediately when receiving StopCCN</title>
<updated>2014-04-11T02:47:58+00:00</updated>
<author>
<name>Guillaume Nault</name>
<email>g.nault@alphalink.fr</email>
</author>
<published>2014-04-08T21:16:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/marekm72/accel-ppp-xebd.git/commit/?id=918f808ecbe871f6c7ca615f296594e995b08697'/>
<id>urn:sha1:918f808ecbe871f6c7ca615f296594e995b08697</id>
<content type='text'>
Wait for a full retransmission cycle after reception of a StopCCN.
Introduce STATE_FIN_WAIT to identify tunnels which have received a
StopCCN but are waiting for the disconnection timer to expire.

A tunnel can go from STATE_FIN (i.e. StopCCN has been sent, waiting for
acknowledgement) to STATE_FIN_WAIT (i.e. StopCCN has been received,
waiting for full retransmission cycle), but not the other way around.

Signed-off-by: Guillaume Nault &lt;g.nault@alphalink.fr&gt;
</content>
</entry>
<entry>
<title>l2tp: improve configuration of retransmission options</title>
<updated>2014-04-11T02:47:58+00:00</updated>
<author>
<name>Guillaume Nault</name>
<email>g.nault@alphalink.fr</email>
</author>
<published>2014-04-08T21:16:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/marekm72/accel-ppp-xebd.git/commit/?id=e2de83e82fa9fac5d0dcaab634fa6b5b5a8a1b2d'/>
<id>urn:sha1:e2de83e82fa9fac5d0dcaab634fa6b5b5a8a1b2d</id>
<content type='text'>
  * Set default retransmission timeout to 1 second. Since we now have
    exponential backoff, we can afford a smaller value.

  * Add the rtimeout-cap option to set the maximum value the
    retransmission timer has to respect during exponential backoff.

  * Store the maximun number of retransmissions in tunnel's structure
    (like other retransmission parameters).

  * Describe all these changes in man page and reset them to their
    default values if they're removed from configuration file before a
    reload.

Signed-off-by: Guillaume Nault &lt;g.nault@alphalink.fr&gt;
</content>
</entry>
<entry>
<title>l2tp: implement exponential backoff (retransmit)</title>
<updated>2014-04-11T02:47:58+00:00</updated>
<author>
<name>Guillaume Nault</name>
<email>g.nault@alphalink.fr</email>
</author>
<published>2014-04-08T21:15:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/marekm72/accel-ppp-xebd.git/commit/?id=2e442ae523415591b087f34ece859b666f88567b'/>
<id>urn:sha1:2e442ae523415591b087f34ece859b666f88567b</id>
<content type='text'>
Rework the l2tp_rtimeout() callback, so that time between
retransmissions expands exponentially. This allows for faster
retransmissions without without overwhelming the peer.

A cap is set on the maximum retransmission time. For now it is set to
16 seconds.

Signed-off-by: Guillaume Nault &lt;g.nault@alphalink.fr&gt;
</content>
</entry>
<entry>
<title>l2tp: allow CDN reception with no Session ID</title>
<updated>2014-04-11T02:47:58+00:00</updated>
<author>
<name>Guillaume Nault</name>
<email>g.nault@alphalink.fr</email>
</author>
<published>2014-04-08T21:15:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/marekm72/accel-ppp-xebd.git/commit/?id=7937f571305b950f11ddc470fbec9d83e0cc1d74'/>
<id>urn:sha1:7937f571305b950f11ddc470fbec9d83e0cc1d74</id>
<content type='text'>
If a peer needs to disconnect a session for which it didn't receive
any reply, it sends a CDN with no Session ID. In this case, the
Assigned Session ID AVP is the only data that can be used to find out
which session has to be closed. Though it isn't supported for now,
let's accept and ack these messages. Session will be deleted on our
side thanks to the establishment timer.

Signed-off-by: Guillaume Nault &lt;g.nault@alphalink.fr&gt;
</content>
</entry>
<entry>
<title>l2tp: configure receive window in accel-ppp.conf</title>
<updated>2014-04-11T02:47:42+00:00</updated>
<author>
<name>Guillaume Nault</name>
<email>g.nault@alphalink.fr</email>
</author>
<published>2014-04-08T21:07:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/marekm72/accel-ppp-xebd.git/commit/?id=19cff977b7c249e69626bce816baac3eb7a71d3f'/>
<id>urn:sha1:19cff977b7c249e69626bce816baac3eb7a71d3f</id>
<content type='text'>
Add the recv-window option in accel-ppp.conf.

Signed-off-by: Guillaume Nault &lt;g.nault@alphalink.fr&gt;
</content>
</entry>
<entry>
<title>l2tp: implement local receive window</title>
<updated>2014-04-11T02:47:42+00:00</updated>
<author>
<name>Guillaume Nault</name>
<email>g.nault@alphalink.fr</email>
</author>
<published>2014-04-08T21:06:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/marekm72/accel-ppp-xebd.git/commit/?id=6677ca651c0c014375b71acda296c7f565878336'/>
<id>urn:sha1:6677ca651c0c014375b71acda296c7f565878336</id>
<content type='text'>
Add a fixed length receive queue to tunnels and adverdise its length to
the peer using the Receive Window Size AVP.

Incoming message handling is modified as follow:
  -Read as much messages as possible and store them in the receive queue.
   Messages are stored in order, based on their sequence number. Messages
   not fitting into the queue are discarded (doesn't happen if peer
   respects our Receive Window AVP). This is the job of the new
   l2tp_tunnel_store_msg() function. It also automatically finds out if
   there are new messages to acknowledge.

  -Once all incoming messages have been read, free acknowledged packets
   from retransmission queue (based on the highest received
   acknowledgement number).

  -Then process messages in the receive queue. This is done by
   l2tp_tunnel_reply().  Each packet is processed by
   l2tp_{tunnel,session}_recv() (or dropped in some particular cases).
   The send queue is then pushed. If there's no message in the send
   queue and an acknowledgement is necessary, a ZLB is sent instead.

  -Finally, detect if the peer has acknowledged a StopCCN. There are
   three components to this test:
     -Have we tried to send a StopCCN? Check with tunnel's state.
     -Has the StopCCN been pushed on the network? Check with tunnel's
      send queue.
     -Has the peer acknowledged the StopCCN? Check with tunnel's
      retransmission queue.

For now, l2tp_tunnel_store_msg() doesn't perform fast retransmissions.
So l2tp_retransmit() is removed.

Signed-off-by: Guillaume Nault &lt;g.nault@alphalink.fr&gt;
</content>
</entry>
<entry>
<title>l2tp: rework error handling in l2tp_tunnel_alloc</title>
<updated>2014-04-11T02:47:42+00:00</updated>
<author>
<name>Guillaume Nault</name>
<email>g.nault@alphalink.fr</email>
</author>
<published>2014-04-08T21:06:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/marekm72/accel-ppp-xebd.git/commit/?id=635005576438e092415683179997d002dcbfe344'/>
<id>urn:sha1:635005576438e092415683179997d002dcbfe344</id>
<content type='text'>
Use stacked error labels for better extensibility.

Signed-off-by: Guillaume Nault &lt;g.nault@alphalink.fr&gt;
</content>
</entry>
<entry>
<title>l2tp: don't initiate new sessions when sending window is full</title>
<updated>2014-04-11T02:47:42+00:00</updated>
<author>
<name>Guillaume Nault</name>
<email>g.nault@alphalink.fr</email>
</author>
<published>2014-04-08T21:06:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/marekm72/accel-ppp-xebd.git/commit/?id=2b911b95edc395a88513f359845e0457a760ab14'/>
<id>urn:sha1:2b911b95edc395a88513f359845e0457a760ab14</id>
<content type='text'>
Refuse to create new sessions when the local send queue is bigger than
the peer's receive window (i.e. when there are already more outstanding
messages than what the peer can currently accept). Only sessions
initiated locally are affected, session requests from the peer are
still handled normally.

This avoids adding useless presure on the sending window when many
sessions are created locally. If sessions were created, they'd add
many ICRQ or OCRQ messages in the send queue and we'd have to wait for
all these messages to be sent before being able to reply to messages
from the peer.

Signed-off-by: Guillaume Nault &lt;g.nault@alphalink.fr&gt;
</content>
</entry>
</feed>
