sctp: fix to send FORWARD-TSN chunk only if peer has such capable
authorWei Yongjun <yjwei@cn.fujitsu.com>
Thu, 12 Mar 2009 09:49:19 +0000 (09:49 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 13 Mar 2009 18:37:58 +0000 (11:37 -0700)
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>
net/sctp/outqueue.c

index a367d15a21aa09b85fcc46aa8979f1c9064c6f55..d765fc53e74dd63447d5d47a96664ecedbde45a8 100644 (file)
@@ -1758,6 +1758,9 @@ static void sctp_generate_fwdtsn(struct sctp_outq *q, __u32 ctsn)
        struct sctp_chunk *chunk;
        struct list_head *lchunk, *temp;
 
+       if (!asoc->peer.prsctp_capable)
+               return;
+
        /* PR-SCTP C1) Let SackCumAck be the Cumulative TSN ACK carried in the
         * received SACK.
         *