Subject: Re: Appropriate byte counting, revisited.
To: None <tech-net@NetBSD.org>
From: Rui Paulo <firstname.lastname@example.org>
Date: 06/05/2006 14:39:42
At Sun, 4 Jun 2006 18:41:54 +0000,
Kentaro A. Kurahone wrote:
> There was some discussion a while back regarding Appropriate Byte
> Counting (RFC 3465). As part of poking at HSTCP, I found a compelling
> reason to implement this mechanism:
> When a connection is in congestion avoidance, we currently grow the
> window like thus:
> u_int cw = tp->snd_cwnd;
> u_int incr = tp->t_segsz;
> incr = incr * incr / cw;
> The problem occurs when the congestion window grows past t_segsz
> segments, since the increment is under a byte, the congestion window
> won't be opened further.
> The diff implements straight forward per-RFC ABC, with the "L" parameter
> set at "1*SMSS". As an additional bonus, I changed the header prediction
> code to execute even when the connection is congestion window bound,
> which should help overall performance.
I found a typo ;-)
+ /* Grow our congestion window if neccecary. */
What about a sysctl to disable/enable this ? As the RFC says:
On the other hand, in some cases
the modified cwnd growth algorithm causes larger bursts of segments
to be sent into the network. In some cases this can lead to a non-
negligible increase in the drop rate and reduced performance (see
section 4 for a larger discussion of the issues).