1. 04 9月, 2008 1 次提交
    • G
      dccp: Toggle debug output without module unloading · 43264991
      Gerrit Renker 提交于
      This sets the sysfs permissions so that root can toggle the `debug'
      parameter available for nearly every DCCP module. This is useful 
      since there are various module inter-dependencies. The debug flag
      can now be toggled at runtime using
      
        echo 1 > /sys/module/dccp/parameters/dccp_debug
        echo 1 > /sys/module/dccp_ccid2/parameters/ccid2_debug
        echo 1 > /sys/module/dccp_ccid3/parameters/ccid3_debug
        echo 1 > /sys/module/dccp_tfrc_lib/parameters/tfrc_debug
      
      The last is not very useful yet, since no code at the moment calls
      the tfrc_debug() macro.
      Signed-off-by: NGerrit Renker <gerrit@erg.abdn.ac.uk>
      43264991
  2. 13 7月, 2008 2 次提交
    • G
      dccp ccid-3: Fix a loss detection bug · b552c623
      Gerrit Renker 提交于
      This fixes a bug in the logic of the TFRC loss detection:
       * new_loss_indicated() should not be called while a loss is pending;
       * but the code allows this;
       * thus, for two subsequent gaps in the sequence space, when loss_count
         has not yet reached NDUPACK=3, the loss_count is falsely reduced to 1.
      
      To avoid further and similar problems, all loss handling and loss detection is
      now done inside tfrc_rx_hist_handle_loss(), using an appropriate routine to
      track new losses.
      
      Further changes:
      ----------------
       * added a reminder that no RX history operations should be performed when
         rx_handle_loss() has identified a (new) loss, since the function takes
         care of packet reordering during loss detection;
       * made tfrc_rx_hist_loss_pending() bool (thanks to an earlier suggestion
         by Arnaldo);		 
       * removed unused functions.
      Signed-off-by: NGerrit Renker <gerrit@erg.abdn.ac.uk>
      b552c623
    • G
      dccp: Upgrade NDP count from 3 to 6 bytes · 5b5d0e70
      Gerrit Renker 提交于
      RFC 4340, 7.7 specifies up to 6 bytes for the NDP Count option, whereas the code
      is currently limited to up to 3 bytes. This seems to be a relict of an earlier 
      draft version and is brought up to date by the patch.
      Signed-off-by: NGerrit Renker <gerrit@erg.abdn.ac.uk>
      5b5d0e70
  3. 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
  4. 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
  5. 03 5月, 2008 1 次提交
  6. 29 1月, 2008 20 次提交
  7. 21 12月, 2007 1 次提交
  8. 24 10月, 2007 2 次提交
  9. 11 10月, 2007 10 次提交