linux/net/dccp
Gerrit Renker 825de27d9e dccp ccid-3: Fix "t_ipi explosion" bug
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: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-05-27 06:33:54 -07:00
..
ccids dccp ccid-3: Fix "t_ipi explosion" bug 2008-05-27 06:33:54 -07:00
ackvec.c
ackvec.h
ccid.c
ccid.h
dccp.h Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-04-14 02:30:23 -07:00
diag.c
feat.c dccp: return -EINVAL on invalid feature length 2008-05-05 13:50:24 -07:00
feat.h
input.c
ipv4.c dccp: Fix to handle short sequence numbers packet correctly 2008-05-27 06:22:38 -07:00
ipv6.c [INET]: Drop the inet_inherit_port() call. 2008-04-17 23:17:34 -07:00
ipv6.h
Kconfig
Makefile
minisocks.c [INET]: Remove struct dst_entry *dst from request_sock_ops.rtx_syn_ack. 2008-02-29 11:43:03 -08:00
options.c
output.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-04-14 02:30:23 -07:00
probe.c net: Fix wrong interpretation of some copy_to_user() results. 2008-04-25 01:49:48 -07:00
proto.c net: Remove unnecessary inclusions of asm/semaphore.h 2008-04-18 22:15:50 -04:00
sysctl.c
timer.c