diff options
author | Wei Yongjun <yjwei@cn.fujitsu.com> | 2009-03-12 05:49:19 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-03-13 14:37:58 -0400 |
commit | 76595024ffab3599bd28ea014f6c23c1a8c8dd2c (patch) | |
tree | c7beb060526957cf24e215d0d676219b5482ac29 | |
parent | 5ffad5acebec735b7a368851bf22394b734cae8a (diff) |
sctp: fix to send FORWARD-TSN chunk only if peer has such capable
RFC3758 Section 3.3.1. Sending Forward-TSN-Supported param in INIT
Note that if the endpoint chooses NOT to include the parameter, then
at no time during the life of the association can it send or process
a FORWARD TSN.
If peer does not support PR-SCTP capable, don't send FORWARD-TSN chunk
to peer.
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>
-rw-r--r-- | net/sctp/outqueue.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/sctp/outqueue.c b/net/sctp/outqueue.c index a367d15a21aa..d765fc53e74d 100644 --- a/net/sctp/outqueue.c +++ b/net/sctp/outqueue.c | |||
@@ -1758,6 +1758,9 @@ static void sctp_generate_fwdtsn(struct sctp_outq *q, __u32 ctsn) | |||
1758 | struct sctp_chunk *chunk; | 1758 | struct sctp_chunk *chunk; |
1759 | struct list_head *lchunk, *temp; | 1759 | struct list_head *lchunk, *temp; |
1760 | 1760 | ||
1761 | if (!asoc->peer.prsctp_capable) | ||
1762 | return; | ||
1763 | |||
1761 | /* PR-SCTP C1) Let SackCumAck be the Cumulative TSN ACK carried in the | 1764 | /* PR-SCTP C1) Let SackCumAck be the Cumulative TSN ACK carried in the |
1762 | * received SACK. | 1765 | * received SACK. |
1763 | * | 1766 | * |