• Vlad Yasevich's avatar
    sctp: drop a_rwnd to 0 when receive buffer overflows. · 4d3c46e6
    Vlad Yasevich authored
    SCTP has a problem that when small chunks are used, it is possible
    to exhaust the receiver buffer without fully closing receive window.
    This happens due to all overhead that we have account for with small
    messages.  To fix this, when receive buffer is exceeded, we'll drop
    the window to 0 and save the 'drop' portion.  When application starts
    reading data and freeing up recevie buffer space, we'll wait until
    we've reached the 'drop' window and then add back this 'drop' one
    mtu at a time.  This worked well in testing and under stress produced
    rather even recovery.
    Signed-off-by: default avatarVlad Yasevich <vladislav.yasevich@hp.com>
    4d3c46e6
structs.h 62.9 KB