aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/sctp
diff options
context:
space:
mode:
authorVlad Yasevich <vladislav.yasevich@hp.com>2009-11-23 15:54:00 -0500
committerVlad Yasevich <vladislav.yasevich@hp.com>2009-11-23 15:54:00 -0500
commit46d5a808558181e03a4760d2188cc9879445738a (patch)
treea51cc59d64042f61518d25ef4ecc71924f243084 /include/net/sctp
parenta5b03ad2143c5bc9ae76533e8321fe66258b4f35 (diff)
sctp: Update max.burst implementation
Current implementation of max.burst ends up limiting new data during cwnd decay period. The decay is happening becuase the connection is idle and we are allowed to fill the congestion window. The point of max.burst is to limit micro-bursts in response to large acks. This still happens, as max.burst is still applied to each transmit opportunity. It will also apply if a very large send is made (greater then allowed by burst). Tested-by: Florian Niederbacher <florian.niederbacher@student.uibk.ac.at> Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Diffstat (limited to 'include/net/sctp')
-rw-r--r--include/net/sctp/structs.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h
index ac794a6823eb..bc3f8d879c5c 100644
--- a/include/net/sctp/structs.h
+++ b/include/net/sctp/structs.h
@@ -942,6 +942,8 @@ struct sctp_transport {
942 /* Data that has been sent, but not acknowledged. */ 942 /* Data that has been sent, but not acknowledged. */
943 __u32 flight_size; 943 __u32 flight_size;
944 944
945 __u32 burst_limited; /* Holds old cwnd when max.burst is applied */
946
945 /* TSN marking the fast recovery exit point */ 947 /* TSN marking the fast recovery exit point */
946 __u32 fast_recovery_exit; 948 __u32 fast_recovery_exit;
947 949
@@ -1070,6 +1072,8 @@ void sctp_transport_put(struct sctp_transport *);
1070void sctp_transport_update_rto(struct sctp_transport *, __u32); 1072void sctp_transport_update_rto(struct sctp_transport *, __u32);
1071void sctp_transport_raise_cwnd(struct sctp_transport *, __u32, __u32); 1073void sctp_transport_raise_cwnd(struct sctp_transport *, __u32, __u32);
1072void sctp_transport_lower_cwnd(struct sctp_transport *, sctp_lower_cwnd_t); 1074void sctp_transport_lower_cwnd(struct sctp_transport *, sctp_lower_cwnd_t);
1075void sctp_transport_burst_limited(struct sctp_transport *);
1076void sctp_transport_burst_reset(struct sctp_transport *);
1073unsigned long sctp_transport_timeout(struct sctp_transport *); 1077unsigned long sctp_transport_timeout(struct sctp_transport *);
1074void sctp_transport_reset(struct sctp_transport *); 1078void sctp_transport_reset(struct sctp_transport *);
1075void sctp_transport_update_pmtu(struct sctp_transport *, u32); 1079void sctp_transport_update_pmtu(struct sctp_transport *, u32);