• Vlad Yasevich's avatar
    [SCTP]: Fix connection hang/slowdown with PR-SCTP · 8c4a2d41
    Vlad Yasevich authored
    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: default avatarVlad Yasevich <vladislav.yasevich@hp.com>
    Signed-off-by: default avatarSridhar Samudrala <sri@us.ibm.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    8c4a2d41
outqueue.c 50.3 KB