summaryrefslogtreecommitdiff
path: root/accel-pppd/ctrl/pptp
diff options
context:
space:
mode:
authorGuillaume Nault <g.nault@alphalink.fr>2014-04-08 22:54:34 +0200
committerDmitry Kozlov <xeb@mail.ru>2014-04-11 06:47:27 +0400
commitf0f5c28e7a929285148e1cfc3788f1f1dbdc09d5 (patch)
tree995a9f63b343d7406a0f2f8a66ddb419bb717db3 /accel-pppd/ctrl/pptp
parentc924d549138bf40085da8a6498492002c847ed4e (diff)
downloadaccel-ppp-f0f5c28e7a929285148e1cfc3788f1f1dbdc09d5.tar.gz
accel-ppp-f0f5c28e7a929285148e1cfc3788f1f1dbdc09d5.zip
l2tp: separate send and retransmission queues
Don't send messages immediately, store them in conn->send_queue instead, so we have control over how many and when messages are sent on the network. Once a message is sent, it's removed from the send queue and added to the retransmission queue. Retransmission queue is automatically updated based on acknowledgements received from peer. For now, packets in the send queue are pushed on the network after each incoming packet processing. So functions called by l2tp_conn_read() don't have to call l2tp_tunnel_push_sendqueue(). Other functions (e.g. triton callbacks) have to manually push packets out of the send queue. The same applies for disconnection. The l2tp_tunnel_disconnect_push() and l2tp_session_disconnect_push() functions have been defined for use in functions that don't call l2tp_tunnel_push_sendqueue() automatically. Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
Diffstat (limited to 'accel-pppd/ctrl/pptp')
0 files changed, 0 insertions, 0 deletions