sctp: implement report_ftsn for sctp_stream_interleave
authorXin Long <lucien.xin@gmail.com>
Thu, 14 Dec 2017 16:41:28 +0000 (00:41 +0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 15 Dec 2017 18:52:22 +0000 (13:52 -0500)
commit47b20a88566f89dd0cc80c46f59ce0a12259d404
tree3a2bd7c59ea3d58e5d2f05cfe8d4419d69f81ca8
parent0fc2ea922c8ad5520c80f03facbf396c81dce802
sctp: implement report_ftsn for sctp_stream_interleave

report_ftsn is added as a member of sctp_stream_interleave, used to
skip tsn from tsnmap, remove old events from reasm or lobby queue,
and abort pd for data or idata, called for SCTP_CMD_REPORT_FWDTSN
cmd and asoc reset.

sctp_report_iftsn works for ifwdtsn, and sctp_report_fwdtsn works
for fwdtsn. Note that sctp_report_iftsn doesn't do asoc abort_pd,
as stream abort_pd will be done when handling ifwdtsn. But when
ftsn is equal with ftsn, which means asoc reset, asoc abort_pd has
to be done.

Signed-off-by: Xin Long <lucien.xin@gmail.com>
Acked-by: Marcelo R. Leitner <marcelo.leitner@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/sctp/stream_interleave.h
net/sctp/sm_sideeffect.c
net/sctp/stream.c
net/sctp/stream_interleave.c