tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: panic: tcp_output REXMT
I forwarded the mail below to tech-net@, where this thread should have
started in the first place (sorry).
On Mon, Sep 01, 2008 at 05:20:08PM +0200, Manuel Bouyer wrote:
> On Mon, Sep 01, 2008 at 04:24:21PM +0200, Edgar Fuß wrote:
> > > Does it ring a bell to someone ?
> > RRRRR..yes..INGGG.
> >
> > About half a year ago, I found a bug (at least, yamt@ replied that it
> > looked like a bug him) in the TCP timer logic and proposed a patch:
> >
> > http://mail-index.netbsd.org/tech-net/2008/02/18/msg000235.html
> >
> > where I was wondering why tcp_setpersist() wasn't panicking all the time.
> > Maybe you are just running into that. The bug is most likely to be
> > triggered on a low-MSS-connection with somewhat high packet loss (and SACK
> > enabled).
>
> I could be running in this case; there is indeed SACK enabled, and we could
> have low MSS and high packet loss for some clients.
>
> But I don't understand how it could cause a tcp_setpersist() panic. If I
> understand it properly, we can't have TCPT_REXMT and TCPT_PERSIST armed
> at the same time. Here the path comes from TCPT_PERSIST's handler so
> it was armed. Nothing arms TCPT_PERSIST outside of tcp_setpersist(),
> so TCPT_REXMT has been armed after TCPT_PERSIST was.
>
> syn_cache_get() can arm TCPT_REXMT without checking TCPT_PERSIST.
> I don't know if TCPT_PERSIST could have been armed before at this point.
>
> I couldn't find other places where TCPT_REXMT would be armed without
> checking TCPT_PERSIST.
>
> --
> Manuel Bouyer, LIP6, Universite Paris VI.
> Manuel.Bouyer%lip6.fr@localhost
> NetBSD: 26 ans d'experience feront toujours la difference
> --
--
Manuel Bouyer, LIP6, Universite Paris VI.
Manuel.Bouyer%lip6.fr@localhost
NetBSD: 26 ans d'experience feront toujours la difference
--
Home |
Main Index |
Thread Index |
Old Index