linux/net/sctp
Vlad Yasevich 8c4a2d41a7 [SCTP]: Fix connection hang/slowdown with PR-SCTP
The problem that this patch corrects happens when all of the following
conditions are satisfisfied:
 1.  PR-SCTP is used and the timeout on the chunks is set below RTO.Max.
 2.  One of the paths on a multihomed associations is brought down.

In this scenario, data will expire within the rto of the initial
transmission and will never be retransmitted.  However this data still
fills the send buffer and is counted against the association as outstanding
data.  This causes any new data not to be sent and retransmission to not
happen.

The fix is to discount the abandoned data from the outstanding count and
peers rwnd estimation.  This allows new data to be sent and a retransmission
timer restarted.  Even though this new data will most likely expire within
the rto, the timer still counts as a strike against the transport and forces
the FORWARD-TSN chunk to be retransmitted as well.

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: Sridhar Samudrala <sri@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2007-02-26 11:42:49 -08:00
..
associola.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
bind_addr.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
chunk.c [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
command.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
crc32c.c [NET] SCTP: Fix whitespace errors. 2007-02-10 23:20:11 -08:00
debug.c [NET] SCTP: Fix whitespace errors. 2007-02-10 23:20:11 -08:00
endpointola.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
input.c [NET] SCTP: Fix whitespace errors. 2007-02-10 23:20:11 -08:00
inqueue.c [NET] SCTP: Fix whitespace errors. 2007-02-10 23:20:11 -08:00
ipv6.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
Kconfig Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
objcnt.c [NET] SCTP: Fix whitespace errors. 2007-02-10 23:20:11 -08:00
output.c [NET] SCTP: Fix whitespace errors. 2007-02-10 23:20:11 -08:00
outqueue.c [SCTP]: Fix connection hang/slowdown with PR-SCTP 2007-02-26 11:42:49 -08:00
primitive.c [NET] SCTP: Fix whitespace errors. 2007-02-10 23:20:11 -08:00
proc.c [PATCH] mark struct file_operations const 8 2007-02-12 09:48:46 -08:00
protocol.c [NET] SCTP: Fix whitespace errors. 2007-02-10 23:20:11 -08:00
sm_make_chunk.c Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2007-02-11 11:38:13 -08:00
sm_sideeffect.c [NET] SCTP: Fix whitespace errors. 2007-02-10 23:20:11 -08:00
sm_statefuns.c [NET] SCTP: Fix whitespace errors. 2007-02-10 23:20:11 -08:00
sm_statetable.c [NET] SCTP: Fix whitespace errors. 2007-02-10 23:20:11 -08:00
socket.c [NET] SCTP: Fix whitespace errors. 2007-02-10 23:20:11 -08:00
ssnmap.c [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
sysctl.c [PATCH] sysctl: remove insert_at_head from register_sysctl 2007-02-14 08:09:59 -08:00
transport.c [NET] SCTP: Fix whitespace errors. 2007-02-10 23:20:11 -08:00
tsnmap.c [NET] SCTP: Fix whitespace errors. 2007-02-10 23:20:11 -08:00
ulpevent.c [NET] SCTP: Fix whitespace errors. 2007-02-10 23:20:11 -08:00
ulpqueue.c [NET] SCTP: Fix whitespace errors. 2007-02-10 23:20:11 -08:00