aboutsummaryrefslogtreecommitdiffstats
path: root/net/sctp
diff options
context:
space:
mode:
authorGui Jianfeng <guijianfeng@cn.fujitsu.com>2008-04-17 17:22:18 -0400
committerDavid S. Miller <davem@davemloft.net>2008-04-17 17:22:18 -0400
commit8b73a07c8ffaa70683022566080f4df3328ea18d (patch)
tree2892c383511fc73fe31e1dc93d1f6dcf8f316737 /net/sctp
parent2e5a3eaca386ce026f240c7b21e5c4958fcea946 (diff)
SCTP: Initialize partial_bytes_acked to 0, when all of the data is acked.
According to RFC4960 7.2.2, When all of the data transmitted by the sender has been acknowledged by the recerver, partial_bytes_acked is initialized to 0. This patch conforms to rfc requirement. Without this fix, cwnd might be error incremented. Signed-off-by: Gui Jianfeng <guijianfeng@cn.fujitsu.com> Acked-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/outqueue.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/sctp/outqueue.c b/net/sctp/outqueue.c
index a7ba9e146dff..59edfd25a19c 100644
--- a/net/sctp/outqueue.c
+++ b/net/sctp/outqueue.c
@@ -1532,6 +1532,8 @@ static void sctp_check_transmitted(struct sctp_outq *q,
1532 bytes_acked); 1532 bytes_acked);
1533 1533
1534 transport->flight_size -= bytes_acked; 1534 transport->flight_size -= bytes_acked;
1535 if (transport->flight_size == 0)
1536 transport->partial_bytes_acked = 0;
1535 q->outstanding_bytes -= bytes_acked; 1537 q->outstanding_bytes -= bytes_acked;
1536 } else { 1538 } else {
1537 /* RFC 2960 6.1, sctpimpguide-06 2.15.2 1539 /* RFC 2960 6.1, sctpimpguide-06 2.15.2