Re: question in tcp_do_segment()

2012-07-15 Thread Reese Faucette
On 7/15/2012 6:53 PM, Sepherosa Ziehau wrote: On 7/15/2012 3:26 AM, Sepherosa Ziehau wrote: Hmm, callout_active() is not used to check for whether the callout is fired or not; it is used to check whether callout_reset() has been called but callout_stop() is not yet been called. IMO, callout_res

Re: question in tcp_do_segment()

2012-07-15 Thread Sepherosa Ziehau
On Sun, Jul 15, 2012 at 11:47 PM, Reese Faucette wrote: > On 7/15/2012 3:26 AM, Sepherosa Ziehau wrote: > >> !tcp_timer_active() means that the connection's retransmit timer is >> not _set_ yet (please note, it is _not_ "has fired"). As far as I >> understand this code, it in turn means that this

Re: question in tcp_do_segment()

2012-07-15 Thread Reese Faucette
On 7/15/2012 3:26 AM, Sepherosa Ziehau wrote: !tcp_timer_active() means that the connection's retransmit timer is not _set_ yet (please note, it is _not_ "has fired"). As far as I understand this code, it in turn means that this connection doesn't have any segments that were sent but not yet AC

Re: question in tcp_do_segment()

2012-07-15 Thread Sepherosa Ziehau
On Sat, Jul 14, 2012 at 1:54 AM, Reese Faucette wrote: > Hi, freebsd-net- > > I don't have a testcase for this at the moment, but there's a test > in tcp_do_segment that looks backwards to me... > > http://svnweb.freebsd.org/base/release/9.0.0/sys/netinet/tcp_input.c?view=markup > > line 2398 - >