diff options
author | Wei Yongjun <yjwei@cn.fujitsu.com> | 2011-05-29 23:23:36 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-05-31 15:29:17 -0700 |
commit | a000c01e60e40e15304ffe48fff051d17a7bea91 (patch) | |
tree | 429060980f87287a3df70d8d286b73d6f1985cc8 /include/net | |
parent | b10cec8a4e8167075b9e1ff3f05419769e7f381a (diff) | |
download | linux-3.10-a000c01e60e40e15304ffe48fff051d17a7bea91.tar.gz linux-3.10-a000c01e60e40e15304ffe48fff051d17a7bea91.tar.bz2 linux-3.10-a000c01e60e40e15304ffe48fff051d17a7bea91.zip |
sctp: stop pending timers and purge queues when peer restart asoc
If the peer restart the asoc, we should not only fail any unsent/unacked
data, but also stop the T3-rtx, SACK, T4-rto timers, and teardown ASCONF
queues.
Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/sctp/command.h | 1 | ||||
-rw-r--r-- | include/net/sctp/structs.h | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/include/net/sctp/command.h b/include/net/sctp/command.h index 2b447646ce4..dd6847e5d6e 100644 --- a/include/net/sctp/command.h +++ b/include/net/sctp/command.h @@ -107,6 +107,7 @@ typedef enum { SCTP_CMD_UPDATE_INITTAG, /* Update peer inittag */ SCTP_CMD_SEND_MSG, /* Send the whole use message */ SCTP_CMD_SEND_NEXT_ASCONF, /* Send the next ASCONF after ACK */ + SCTP_CMD_PURGE_ASCONF_QUEUE, /* Purge all asconf queues.*/ SCTP_CMD_LAST } sctp_verb_t; diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h index 795f4886e11..7df327a6d56 100644 --- a/include/net/sctp/structs.h +++ b/include/net/sctp/structs.h @@ -1993,7 +1993,7 @@ void sctp_assoc_clean_asconf_ack_cache(const struct sctp_association *asoc); struct sctp_chunk *sctp_assoc_lookup_asconf_ack( const struct sctp_association *asoc, __be32 serial); - +void sctp_asconf_queue_teardown(struct sctp_association *asoc); int sctp_cmp_addr_exact(const union sctp_addr *ss1, const union sctp_addr *ss2); |