aboutsummaryrefslogtreecommitdiffstats
path: root/net/sctp
diff options
context:
space:
mode:
authorWei Yongjun <yjwei@cn.fujitsu.com>2009-03-12 05:49:18 -0400
committerDavid S. Miller <davem@davemloft.net>2009-03-13 14:37:56 -0400
commit5ffad5acebec735b7a368851bf22394b734cae8a (patch)
treee6f04ef92daeed91701cc1eb9988148fe85ed7d6 /net/sctp
parent5e8f3f703ae4e4af65e2695e486b3cd198328863 (diff)
sctp: fix to indicate ASCONF support in INIT-ACK only if peer has such capable
This patch fix to indicate ASCONF support in INIT-ACK only if peer has such capable. This patch also fix to calc the chunk size if peer has no FWD-TSN capable. Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com> Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sctp')
-rw-r--r--net/sctp/sm_make_chunk.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/sctp/sm_make_chunk.c b/net/sctp/sm_make_chunk.c
index b40e95f9851b..9484f33730f6 100644
--- a/net/sctp/sm_make_chunk.c
+++ b/net/sctp/sm_make_chunk.c
@@ -372,10 +372,10 @@ struct sctp_chunk *sctp_make_init_ack(const struct sctp_association *asoc,
372 if (asoc->peer.ecn_capable) 372 if (asoc->peer.ecn_capable)
373 chunksize += sizeof(ecap_param); 373 chunksize += sizeof(ecap_param);
374 374
375 if (sctp_prsctp_enable) 375 if (asoc->peer.prsctp_capable)
376 chunksize += sizeof(prsctp_param); 376 chunksize += sizeof(prsctp_param);
377 377
378 if (sctp_addip_enable) { 378 if (asoc->peer.asconf_capable) {
379 extensions[num_ext] = SCTP_CID_ASCONF; 379 extensions[num_ext] = SCTP_CID_ASCONF;
380 extensions[num_ext+1] = SCTP_CID_ASCONF_ACK; 380 extensions[num_ext+1] = SCTP_CID_ASCONF_ACK;
381 num_ext += 2; 381 num_ext += 2;