summaryrefslogtreecommitdiffstats
path: root/sys/netinet
diff options
context:
space:
mode:
authorrrs <rrs@FreeBSD.org>2009-02-20 14:33:45 +0000
committerrrs <rrs@FreeBSD.org>2009-02-20 14:33:45 +0000
commitced5185c011ce2399f410fba61a8eb76501d981c (patch)
treeb5c83b5ad4963ccee3d700d83ca7f6dfda31a2ad /sys/netinet
parent62c4509d7bd01aa6da0277cedda953846f77b0b1 (diff)
downloadFreeBSD-src-ced5185c011ce2399f410fba61a8eb76501d981c.zip
FreeBSD-src-ced5185c011ce2399f410fba61a8eb76501d981c.tar.gz
Fix a bug. The sending was being restricted improperly by
the max_burst. It should only be gated by cwnd in the lower level send. Obtained from: Michael Tuexen MFC after: 1 week.
Diffstat (limited to 'sys/netinet')
-rw-r--r--sys/netinet/sctp_output.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/netinet/sctp_output.c b/sys/netinet/sctp_output.c
index eac896c..8593ee6 100644
--- a/sys/netinet/sctp_output.c
+++ b/sys/netinet/sctp_output.c
@@ -15014,7 +15014,7 @@ skip_preblock:
} else {
un_sent = ((stcb->asoc.total_output_queue_size - stcb->asoc.total_flight) +
(stcb->asoc.stream_queue_cnt * sizeof(struct sctp_data_chunk)));
- if (net->flight_size > (net->mtu * stcb->asoc.max_burst)) {
+ if (net->flight_size > net->cwnd) {
queue_only = 1;
SCTP_STAT_INCR(sctps_send_burst_avoid);
} else if (net->flight_size > net->cwnd) {
@@ -15291,7 +15291,7 @@ skip_out_eof:
} else {
un_sent = ((stcb->asoc.total_output_queue_size - stcb->asoc.total_flight) +
(stcb->asoc.stream_queue_cnt * sizeof(struct sctp_data_chunk)));
- if (net->flight_size > (net->mtu * stcb->asoc.max_burst)) {
+ if (net->flight_size > net->cwnd) {
queue_only = 1;
SCTP_STAT_INCR(sctps_send_burst_avoid);
} else if (net->flight_size > net->cwnd) {
OpenPOWER on IntegriCloud