1. 18 10月, 2014 1 次提交
  2. 08 10月, 2014 1 次提交
  3. 20 9月, 2014 1 次提交
    • D
      rewrite of authentication/accounting procedures · 62e89248
      Dmitry Kozlov 提交于
      This patch gets rid of synchronuos style of authentication/accounting.
      Synchronous style of authentication/accounting produced sleeping threads
      which becomes a problem when lots of sessions started/stopped and all they want authorization/accounting.
      62e89248
  4. 14 9月, 2014 2 次提交
  5. 13 9月, 2014 3 次提交
  6. 10 9月, 2014 1 次提交
  7. 04 9月, 2014 1 次提交
  8. 26 8月, 2014 2 次提交
  9. 25 8月, 2014 1 次提交
  10. 25 7月, 2014 1 次提交
  11. 21 7月, 2014 1 次提交
  12. 17 7月, 2014 2 次提交
  13. 28 6月, 2014 1 次提交
    • D
      ipoe: improved vlan monitor · d2b65bb7
      Dmitry Kozlov 提交于
      Previous version used linear list of vlan monitor enabled interfaces,
      this caused huge overhead in packet receive path because for each
      received packet it performed search on linear list to check if vlan monitor
      is enabled on input device.
      Current version binds internal structure to net_device->ml_priv so search is not performed more.
      d2b65bb7
  14. 04 6月, 2014 1 次提交
  15. 28 5月, 2014 1 次提交
  16. 26 5月, 2014 2 次提交
    • D
      ipoe: introduced "ip-unnumbered" option · 30397cca
      Dmitry Kozlov 提交于
      Before this time accel-ppp always worked in "ip unnumbered" mode.
      This option may turn this mode off (default is on)
      30397cca
    • D
      ipoe: send NAK after number of unreplied REQUESTs · 33ca7f48
      Dmitry Kozlov 提交于
      After introduction offer-delay accel-ppp stopped to answer NAK for REQUESTs if requested session is not existing
      to give chance other servers to reply. But this causes that some broken clients enter to infinite REQUEST loop.
      This patch corrects this issue, so if offer-delay is not configured (means that this is only server in the net) or
      after receiving few REQUESTs accel-ppp send NAK for non-existing sessions.
      33ca7f48
  17. 20 5月, 2014 2 次提交
  18. 18 5月, 2014 2 次提交
  19. 12 5月, 2014 2 次提交
  20. 29 4月, 2014 3 次提交
  21. 11 4月, 2014 9 次提交
    • D
      ipoe: early allocate interface for shared vlans (prevents different values of... · 33bdf407
      Dmitry Kozlov 提交于
      ipoe: early allocate interface for shared vlans (prevents different values of NAS-Port in Access-Request and Account-Request)
      Signed-off-by: NDmitry Kozlov <xeb@mail.ru>
      33bdf407
    • D
    • G
      l2tp: don't disconnect immediately when receiving StopCCN · 918f808e
      Guillaume Nault 提交于
      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: NGuillaume Nault <g.nault@alphalink.fr>
      918f808e
    • G
      l2tp: improve configuration of retransmission options · e2de83e8
      Guillaume Nault 提交于
        * 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: NGuillaume Nault <g.nault@alphalink.fr>
      e2de83e8
    • G
      l2tp: implement exponential backoff (retransmit) · 2e442ae5
      Guillaume Nault 提交于
      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: NGuillaume Nault <g.nault@alphalink.fr>
      2e442ae5
    • G
      l2tp: allow CDN reception with no Session ID · 7937f571
      Guillaume Nault 提交于
      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: NGuillaume Nault <g.nault@alphalink.fr>
      7937f571
    • G
      l2tp: configure receive window in accel-ppp.conf · 19cff977
      Guillaume Nault 提交于
      Add the recv-window option in accel-ppp.conf.
      Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
      19cff977
    • G
      l2tp: implement local receive window · 6677ca65
      Guillaume Nault 提交于
      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: NGuillaume Nault <g.nault@alphalink.fr>
      6677ca65
    • G
      l2tp: rework error handling in l2tp_tunnel_alloc · 63500557
      Guillaume Nault 提交于
      Use stacked error labels for better extensibility.
      Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
      63500557