aboutsummaryrefslogtreecommitdiffstats
path: root/net/sctp
diff options
context:
space:
mode:
authorMichio Honda <micchie@sfc.wide.ad.jp>2011-04-26 04:37:02 -0400
committerDavid S. Miller <davem@davemloft.net>2011-06-02 05:04:52 -0400
commitb1364104e37c9d8cf437746ba5f5dfedcc0bc132 (patch)
treefa2cbe48cf1ef54ae7544f518e0c26736ba8a973 /net/sctp
parent40d69043fce579378eb185d31445b6ff66abbd93 (diff)
sctp: Add ADD/DEL ASCONF handling at the receiver.
This patch fixes the problem that the original code cannot delete the remote address where the corresponding transport is currently directed, even when the ASCONF is sent from the other address (this situation happens when the single-homed sender transmits ASCONF with ADD and DEL.) Signed-off-by: Michio Honda <micchie@sfc.wide.ad.jp> Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> Acked-by: Wei Yongjun <yjwei@cn.fujitsu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sctp')
-rw-r--r--net/sctp/sm_make_chunk.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/sctp/sm_make_chunk.c b/net/sctp/sm_make_chunk.c
index 58eb27fed4b4..37406039820f 100644
--- a/net/sctp/sm_make_chunk.c
+++ b/net/sctp/sm_make_chunk.c
@@ -3014,7 +3014,7 @@ static __be16 sctp_process_asconf_param(struct sctp_association *asoc,
3014 * an Error Cause TLV set to the new error code 'Request to 3014 * an Error Cause TLV set to the new error code 'Request to
3015 * Delete Source IP Address' 3015 * Delete Source IP Address'
3016 */ 3016 */
3017 if (sctp_cmp_addr_exact(sctp_source(asconf), &addr)) 3017 if (sctp_cmp_addr_exact(&asconf->source, &addr))
3018 return SCTP_ERROR_DEL_SRC_IP; 3018 return SCTP_ERROR_DEL_SRC_IP;
3019 3019
3020 /* Section 4.2.2 3020 /* Section 4.2.2