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

TCP reset bug



 
I have just run across one more problem with resetting a TCP
connection (one-way TCP -- all forms, as best as I can tell).  I am
not using the current version of ns2, but I just quickly grepped
through the daily snapshot and it looks like the bug is still
present. 

The code works really hard to reset the RTO timer to the initial
values when a TCP connection is reset.  However, the rtt_seq_
variable is not reset.  This can cause ns to observe a *huge* RTT
(the size of which depends on how long the connection was idle for),
which then bloats up the RTO.  Also, I *believe* that it also
prevents TCP from taking RTT samples when it really should be
(because it is waiting for some segment X, where X is some large
number).  (I didn't spend a whole lot of time verifying that last
claim).

The easy fix is to set rtt_seq_ = -1 in TcpAgent::reset().

allman