diff options
author | Michio Honda <micchie@sfc.wide.ad.jp> | 2011-04-26 04:37:02 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-06-02 05:04:52 -0400 |
commit | b1364104e37c9d8cf437746ba5f5dfedcc0bc132 (patch) | |
tree | fa2cbe48cf1ef54ae7544f518e0c26736ba8a973 /net/sctp | |
parent | 40d69043fce579378eb185d31445b6ff66abbd93 (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.c | 2 |
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 |