1. 12 Oct, 2010 4 commits
    • Ivo Calado's avatar
      dccp: generalise data-loss condition · d196c9a5
      Ivo Calado authored
      
      
      This patch generalises the task of determining data loss from RFC 4340, 7.7.1.
      
      Let S_A, S_B be sequence numbers such that S_B is "after" S_A, and let
      N_B be the NDP count of packet S_B. Then, using modulo-2^48 arithmetic,
       D = S_B - S_A - 1  is an upper bound of the number of lost data packets,
       D - N_B            is an approximation of the number of lost data packets
                          (there are cases where this is not exact).
      
      The patch implements this as
       dccp_loss_count(S_A, S_B, N_B) := max(S_B - S_A - 1 - N_B, 0)
      
      Signed-off-by: default avatarIvo Calado <ivocalado@embedded.ufcg.edu.br>
      Signed-off-by: default avatarErivaldo Xavier <desadoc@gmail.com>
      Signed-off-by: default avatarLeandro Sales <leandroal@gmail.com>
      Signed-off-by: default avatarGerrit Renker <gerrit@erg.abdn.ac.uk>
      d196c9a5
    • Gerrit Renker's avatar
      dccp: remove unused argument in CCID tx function · baf9e782
      Gerrit Renker authored
      
      
      This removes the argument `more' from ccid_hc_tx_packet_sent, since it was
      nowhere used in the entire code.
      
      (Btw, this argument was not even used in the original KAME code where the
       function initially came from; compare the variable moreToSend in the
       freebsd61-dccp-kame-28.08.2006.patch kept by Emmanuel Lochin.)
      
      Signed-off-by: default avatarGerrit Renker <gerrit@erg.abdn.ac.uk>
      baf9e782
    • Gerrit Renker's avatar
      dccp: merge now-reduced connect_init() function · 93344af4
      Gerrit Renker authored
      
      
      After moving the assignment of GAR/ISS from dccp_connect_init() to
      dccp_transmit_skb(), the former function becomes very small, so that
      a merger with dccp_connect() suggests itself.
      
      Signed-off-by: default avatarGerrit Renker <gerrit@erg.abdn.ac.uk>
      93344af4
    • Gerrit Renker's avatar
      dccp: fix the adjustments to AWL and SWL · 0b53d460
      Gerrit Renker authored
      
      
      This fixes a problem and a potential loophole with regard to seqno/ackno
      validity: currently the initial adjustments to AWL/SWL are only performed
      once at the begin of the connection, during the handshake.
      
      Since the Sequence Window feature is always greater than Wmin=32 (7.5.2),
      it is however necessary to perform these adjustments at least for the first
      W/W' (variables as per 7.5.1) packets in the lifetime of a connection.
      
      This requirement is complicated by the fact that W/W' can change at any time
      during the lifetime of a connection.
      
      Therefore it is better to perform that safety check each time SWL/AWL are
      updated, as implemented by the patch.
      
      A second problem solved by this patch is that the remote/local Sequence Window
      feature values (which set the bounds for AWL/SWL/SWH) are undefined until the
      feature negotiation has completed.
      
      During the initial handshake we have more stringent sequence number protection;
      the changes added by this patch effect that {A,S}W{L,H} are within the correct
      bounds at the instant that feature negotiation completes (since the SeqWin
      feature activation handlers call dccp_update_gsr/gss()).
      
      Signed-off-by: default avatarGerrit Renker <gerrit@erg.abdn.ac.uk>
      0b53d460
  2. 11 Oct, 2010 15 commits
  3. 09 Oct, 2010 6 commits
  4. 08 Oct, 2010 15 commits