sctp: Try not to change a_rwnd when faking a SACK from SHUTDOWN.
authorVlad Yasevich <vladislav.yasevich@hp.com>
Fri, 4 Sep 2009 22:20:59 +0000 (18:20 -0400)
committerVlad Yasevich <vladislav.yasevich@hp.com>
Fri, 4 Sep 2009 22:20:59 +0000 (18:20 -0400)
commitd4d6fb5787a6ef6e1dab731d617ebda6be73d561
treeafdf56288c5cdbfa40f95ef4a618d37f5b3f5092
parent4d3c46e6833208428d366630aa708f6876e61fc1
sctp: Try not to change a_rwnd when faking a SACK from SHUTDOWN.

We currently set a_rwnd to 0 when faking a SACK from SHUTDOWN.
This results in an hung association if the remote only uses
SHUTDOWNs (which it's allowed to do) to acknowlege DATA when
closing.  The reason for that is that we simply honor the a_rwnd
from the sack, but since we faked it to be 0, we enter 0-window
probing.  The fix is to use the peers old rwnd and add our flight
size to it.

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
net/sctp/sm_sideeffect.c