• Xin Long's avatar
    sctp: add support for MSG_MORE · 4ea0c32f
    Xin Long authored
    This patch is to add support for MSG_MORE on sctp.
    
    It adds force_delay in sctp_datamsg to save MSG_MORE, and sets it after
    creating datamsg according to the send flag. sctp_packet_can_append_data
    then uses it to decide if the chunks of this msg will be sent at once or
    delay it.
    
    Note that unlike [1], this patch saves MSG_MORE in datamsg, instead of
    in assoc. As sctp enqueues the chunks first, then dequeue them one by
    one. If it's saved in assoc,the current msg's send flag (MSG_MORE) may
    affect other chunks' bundling.
    
    Since last patch, sctp flush out queue once assoc state falls into
    SHUTDOWN_PENDING, the close block problem mentioned in [1] has been
    solved as well.
    
    [1] https://patchwork.ozlabs.org/patch/372404/Signed-off-by: default avatarXin Long <lucien.xin@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    4ea0c32f
socket.c 223 KB