sctp: fix to choose alternate destination when retransmit ASCONF chunk
authorWei Yongjun <yjwei@cn.fujitsu.com>
Tue, 12 May 2009 13:52:51 +0000 (21:52 +0800)
committerVlad Yasevich <vladislav.yasevich@hp.com>
Wed, 3 Jun 2009 13:14:46 +0000 (09:14 -0400)
commit9919b455fc00c995ef8141848bdc0709ce50bf36
treeec700e8a9fe3dd9f1ed841e22f96c06476d484fb
parentd48e074dfdada552fa53f5eab807540f352e0d5d
sctp: fix to choose alternate destination when retransmit ASCONF chunk

RFC 5061 Section 5.1 ASCONF Chunk Procedures said:

B4)  Re-transmit the ASCONF Chunk last sent and if possible choose an
     alternate destination address (please refer to [RFC4960],
     Section 6.4.1).  An endpoint MUST NOT add new parameters to this
     chunk; it MUST be the same (including its Sequence Number) as
     the last ASCONF sent.  An endpoint MAY, however, bundle an
     additional ASCONF with new ASCONF parameters with the next
     Sequence Number.  For details, see Section 5.5.

This patch fix to choose an alternate destination address when
re-transmit the ASCONF chunk, with some dup codes cleanup.

Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
include/net/sctp/structs.h
net/sctp/associola.c
net/sctp/sm_sideeffect.c