1. 11 6月, 2008 2 次提交
    • G
      dccp: Fix sparse warnings · 1e2f0e5e
      Gerrit Renker 提交于
      This patch fixes the following sparse warnings:
       * nested min(max()) expression:
         net/dccp/ccids/ccid3.c:91:21: warning: symbol '__x' shadows an earlier one
         net/dccp/ccids/ccid3.c:91:21: warning: symbol '__y' shadows an earlier one
         
       * Declaration of function prototypes in .c instead of .h file, resulting in
         "should it be static?" warnings. 
      
       * Declared "struct dccpw" static (local to dccp_probe).
       
       * Disabled dccp_delayed_ack() - not fully removed due to RFC 4340, 11.3
         ("Receivers SHOULD implement delayed acknowledgement timers ...").
      
       * Used a different local variable name to avoid
         net/dccp/ackvec.c:293:13: warning: symbol 'state' shadows an earlier one
         net/dccp/ackvec.c:238:33: originally declared here
      
       * Removed unused functions `dccp_ackvector_print' and `dccp_ackvec_print'.
      Signed-off-by: NGerrit Renker <gerrit@erg.abdn.ac.uk>
      1e2f0e5e
    • G
      dccp ccid-3: Bug-Fix - Zero RTT is possible · 3294f202
      Gerrit Renker 提交于
      In commit $(825de27d) (from 27th May, commit
      message `dccp ccid-3: Fix "t_ipi explosion" bug'), the CCID-3 window counter
      computation was fixed to cope with RTTs < 4 microseconds.
      
      Such RTTs can be found e.g. when running CCID-3 over loopback. The fix removed
      a check against RTT < 4, but introduced a divide-by-zero bug.
      
      All steady-state RTTs in DCCP are filtered using dccp_sample_rtt(), which
      ensures non-zero samples. However, a zero RTT is possible on initialisation,
      when there is no RTT sample from the Request/Response exchange.
      
      The fix is to use the fallback-RTT from RFC 4340, 3.4.
      
      This is also better than just fixing update_win_count() since it allows other
      parts of the code to always assume that the RTT is non-zero during the time
      that the CCID is used.
      Signed-off-by: NGerrit Renker <gerrit@erg.abdn.ac.uk>
      3294f202
  2. 27 5月, 2008 1 次提交
    • G
      dccp ccid-3: Fix "t_ipi explosion" bug · 825de27d
      Gerrit Renker 提交于
      The identification of this bug is thanks to Cheng Wei and Tomasz
      Grobelny.
      
      To avoid divide-by-zero, the implementation previously ignored RTTs
      smaller than 4 microseconds when performing integer division RTT/4.
      
      When the RTT reached a value less than 4 microseconds (as observed on
      loopback), this prevented the Window Counter CCVal value from
      advancing. As a result, the receiver stopped sending feedback. This in
      turn caused non-ending expiries of the nofeedback timer at the sender,
      so that the sending rate was progressively reduced until reaching the
      minimum of one packet per 64 seconds.
      
      The patch fixes this bug by handling integer division more
      intelligently. Due to consistent use of dccp_sample_rtt(),
      divide-by-zero-RTT is avoided.
      Signed-off-by: NGerrit Renker <gerrit@erg.abdn.ac.uk>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      825de27d
  3. 03 5月, 2008 1 次提交
  4. 29 1月, 2008 20 次提交
  5. 21 12月, 2007 1 次提交
  6. 24 10月, 2007 2 次提交
  7. 11 10月, 2007 12 次提交
  8. 11 7月, 2007 1 次提交
    • G
      [CCID3]: Fix a bug in the send time processing · 49d66a70
      Gerrit Renker 提交于
      ccid3_hc_tx_send_packet currently returns 0 when the time difference between
      current time and t_nom is less than 1000 microseconds.
      
      In this case the packet is sent immediately; but, unlike other packets that can
      be emitted on first attempt, it will not have its window counter updated and
      its options set as required. This is a bug.
      
      Fix: Require the time difference to be at least 1000 microseconds. The
      algorithm then converges: time differences > 1000 microseconds trigger the
      timer in dccp_write_xmit; after timer expiry this function is tried again; when
      the time difference is less than 1000, the packet will have its options added
      and window counter updated as required.
      Signed-off-by: NGerrit Renker <gerrit@erg.abdn.ac.uk>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@ghostprotocols.net>
      49d66a70