Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 02 Feb 2007 09:30:14 -0600
From:      Dave Baukus <david.baukus@us.fujitsu.com>
To:        FreeBSD-gnats-submit@freebsd.org, freebsd-bugs@freebsd.org
Subject:   Re: kern/108670: TCP connection ETIMEDOUT
Message-ID:  <45C35906.2070205@us.fujitsu.com>
In-Reply-To: <200702012340.l11NeIQF035193@freefall.freebsd.org>
References:  <200702012340.l11NeIQF035193@freefall.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
I realized, late last night, that I was wrong on a few
details concerning this bug:

1.) The retransmit timer does not keep popping on without
being restarted.

2.) ip_output() must return ENOBUFS (TCP_MAXRXTSHIFT + 1) times
to the same, non-transmitting TCP.

3.) Given a TCP as described below, when tcp_output() uses ENOBUFS
to blindly start the retransmit timer then tp->t_rxtshift will be
falsely incremented and never cleared.

Thus the bug manifests itself because it appears for a TCP that
never transmits nobody ever clears clears tp->t_rxtshift;
this allows tp->t_rxtshift to slowly count up to TCP_MAXRXTSHIFT;
once TCP_MAXRXTSHIFT is exceeded tcp_timer_rexmt() will
kill the poor innocent TCP.


On 02/01/07 17:40, FreeBSD-gnats-submit@FreeBSD.org wrote:
> Thank you very much for your problem report.
> It has the internal identification `kern/108670'.
> The individual assigned to look at your
> report is: freebsd-bugs. 
> 
> You can access the state of your problem report at any time
> via this link:
> 
> http://www.freebsd.org/cgi/query-pr.cgi?pr=108670
> 
> 
>>Category:       kern
>>Responsible:    freebsd-bugs
>>Synopsis:       TCP connection ETIMEDOUT
>>Arrival-Date:   Thu Feb 01 23:40:18 GMT 2007
> 
> 

-- 
Dave Baukus
    david.baukus@us.fujitsu.com
    972-479-2491

    Fujitsu Network Communications
          Richardson, Texas
                  USA



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?45C35906.2070205>