sctp: add support for the process of unordered idata
authorXin Long <lucien.xin@gmail.com>
Fri, 8 Dec 2017 13:04:09 +0000 (21:04 +0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 11 Dec 2017 16:23:05 +0000 (11:23 -0500)
commit132282386f5d0eff7a84a119599216b5f9e9bfc6
treed38678a52bc8be07f40964b91c6afb839fa8cf03
parent65f5e357839e40817aead853d7a7f61ff828b52b
sctp: add support for the process of unordered idata

Unordered idata process is more complicated than unordered data:

 - It has to add mid into sctp_stream_out to save the next mid value,
   which is separated from ordered idata's.

 - To support pd for unordered idata, another mid and pd_mode need to
   be added to save the message id and pd state in sctp_stream_in.

 - To make  unordered idata reasm easier, it adds a new event queue
   to save frags for idata.

The patch mostly adds the samilar reasm functions for unordered idata
as ordered idata's, and also adjusts some other codes on assign_mid,
abort_pd and ulpevent_data for idata.

Signed-off-by: Xin Long <lucien.xin@gmail.com>
Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/sctp/structs.h
include/net/sctp/ulpqueue.h
net/sctp/socket.c
net/sctp/stream_interleave.c
net/sctp/ulpqueue.c