TCP Spurious Timeout detection patch for tcptrace This patch adds the TCP spurious timeout (SRTO) detection feature to tcptrace v.6.6.7 (www.tcptrace.org). Other changes include optmization memory managementi to let tcptrace run continuosly. The detailed description and validation of the algorithm used for SRTO detection can be found in: F. Vacirca, T. Ziegler, E. Hasenleithner, "An Algorithm to detect TCP Spurious Timeouts and its Application to Operational UMTS/GPRS Networks," Elsevier Computer Networks, Vol 50/16 pp 2981-3001. http://userver.ftw.at/~ricciato/darwin/VacircaZiegler_comnet06_cameraready.pdf The tool has been used for bottleneck detection purposes in a live network. More details can be found in: Ricciato, F. Vacirca, P. Svoboda, "Diagnosis of Capacity Bottlenecks via Passive Monitoring in 3G Networks: an Empirical Analysis," Elsevier Computer Networks, vol. 51, n.4, pp. 1205-1231, March 2007. http://userver.ftw.at/~ricciato/darwin/FTW-TR-2006-008.pdf New Features: * Spurious timeout statistics (-Q option). An algorithm for spurious timeout retransmission identification has been developed. * RTT samples in a single output file (-Ufilename option). The round trip time samples are stored in a single file for all connections. * The tcptrace memory management has be changed to let the program to run continuosly. TCP connection statistics are printed out and the used memory is freed when: i) the connection is closed or after 5 minutes TCP connection inactivity. Notes: * A hard filter on the samba ports (135 and 445) is present. The filter is implemented to avoid tcptrace memory waste caused by worm propagation on Windows system. The filter can be easily removed by changing the code in trace.c:1459 * The new memory management is not designed to work with all tcptrace options and modules. It has been tested with these options: -nlrQUfilename License: This patch is licensed under the GNU General Public License (GPL). It is distributed in the hope that it will be useful to somebody, but WITHOUT ANY WARRANTY, not even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Francesco Vacirca http://net.infocom.uniroma1.it/homepages/vacirca.htm Fabio Ricciato http://userver.ftw.at/~ricciato