During long simulations (30-60 minutes), ns would sometimes abort with the message "TcpAgent: negative RTO!". The problem was that TcpAgent::t_backoff_ was overflowing and becoming negative, since it was doubled each time a backoff was triggered but maxrto_ prevented the time between doublings from growing beyond 60 seconds. This patch causes t_backoff_ not to be increased when a further increase would have no effect on rtt_timeout(). The behavior of TcpAgent doesn't change, except that now it doesn't crash during very lengthy backoff.
Log in to post a comment.