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