sctp: add stream reconf timer
authorXin Long <lucien.xin@gmail.com>
Tue, 17 Jan 2017 16:44:43 +0000 (00:44 +0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 18 Jan 2017 19:55:10 +0000 (14:55 -0500)
commit7b9438de0cd4b46a6914416bfede6cf839cd9e68
tree1d242f08c373afbe848b63fa7259d2eedb2b90b2
parentcc16f00f6529aa2378f2b949a6f68e9dc6dec363
sctp: add stream reconf timer

This patch is to add a per transport timer based on sctp timer frame
for stream reconf chunk retransmission. It would start after sending
a reconf request chunk, and stop after receiving the response chunk.

If the timer expires, besides retransmitting the reconf request chunk,
it would also do the same thing with data RTO timer. like to increase
the appropriate error counts, and perform threshold management, possibly
destroying the asoc if sctp retransmission thresholds are exceeded, just
as section 5.1.1 describes.

This patch is also to add asoc strreset_chunk, it is used to save the
reconf request chunk, so that it can be retransmitted, and to check if
the response is really for this request by comparing the information
inside with the response chunk as well.

Signed-off-by: Xin Long <lucien.xin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/sctp/constants.h
include/net/sctp/sm.h
include/net/sctp/structs.h
net/sctp/associola.c
net/sctp/sm_sideeffect.c
net/sctp/sm_statefuns.c
net/sctp/sm_statetable.c
net/sctp/transport.c