The tale of a TCP bug

John Baldwin jhb at freebsd.org
Fri Apr 1 12:43:49 UTC 2011


On Thursday, March 31, 2011 7:40:17 pm Stefan `Sec` Zehl wrote:
> On Wed, Mar 30, 2011 at 08:38 -0400, John Baldwin wrote:
> > There is at least one case I know of related to a bug I reported earlier
> > where a window probe from a remote connection can cause rcv_nxt to advance
> > past rcv_adv by one.  However, I think we want to know about those cases,
> > and we should probably be treating rcv_adv - rcv_nxt as if it is zero in 
> > that case, not -1 (my patch in my original e-mail does just that in a
> > different place in tcp_output() when we calculate the window "for real").
> 
> I've been running for about a day now with the committed patch and
> adv_neg is still zero:

Well, after thinking some more, rcv_nxt == rcv_adv + 1 will not make adv 
negative.

> | ice:~>uptime; sysctl net.inet.tcp.adv_neg
> |  1:36AM  up 1 day,  4:52, 1 user, load averages: 0.12, 0.06, 0.05
> | net.inet.tcp.adv_neg: 0
> 
> I'll of course monitor this value and report back if I ever see it
> increase :-)

Great, thanks!

-- 
John Baldwin


More information about the freebsd-net mailing list