kern/75122: [PATCH] Incorrect inflight bandwidth calculation on first packet

David Malone dwmalone at
Thu Apr 13 20:34:48 UTC 2006

Hi Dan,

A couple of questions on the patch:

>  Index: tcp_hostcache.c

I guess the hostcache stuff isn't actually part of the inflight
limiting changes?

>  +		if (tp->snd_bandwidth == 0)
>  +			tp->snd_bandwidth = tcp_inflight_min;

Unless I'm wrong, this code doesn't make a lot of sense. It is
trying to stop the bandwidth estimate being too small after
startup/idle. However, snd_bandwidth is in units of bandwidth, but
tcp_inflight_min is a window size in bytes. Do you know if this
is being triggered much?

I'm not sure this if statement will actually help inflight limiting
deal with corner cases like this anyway - the tcp_inflight_min
already stops it doing too much damage in situations where TCP has
been transmitting a low (or zero) rate stream and suddenly wants
to start sending more.

(Since inflight limiting uses an rttbest including the varience and
then averages that with the current rtt estimate, it should not be
that close to the edge?)


More information about the freebsd-bugs mailing list