tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: TCP PMTU/SACK/timer problem



[ cc: christos because he committed this code ]

> > it seems like a bug to me.
> Thanks.
> 
> I'm only wondering why tcp_setpersist() doesn't panic all the time.
> 
> What about this patch?
> 
> --- sys/netinet/tcp_timer.c.orig      2006-10-09 18:27:07.000000000 +0200
> +++ sys/netinet/tcp_timer.c   2008-02-17 18:21:52.000000000 +0100
> @@ -317,6 +317,7 @@
>                */
>               in_pcbnotifyall(&tcbtable, icmpsrc.sin_addr, EMSGSIZE,
>                   tcp_mtudisc);
> +             TCP_TIMER_DISARM(tp, TCPT_REXMT);
>               splx(s);
>               return;
>       }

i guess it should be before the in_pcbnotifyall call.

YAMAMOTO Takashi

> 
> It looks to me like no equivalent modification needs to be applied to
> tcp_timer_persist() (it always calls tcp_setpersist() which re-arms the timer)
> or tcp_timer_keep() (it always re-arms or tcp_drop()s) or tcp_timer_2msl().


Home | Main Index | Thread Index | Old Index