Bugzilla – Bug 2794
Handling SYN+ACK after SYN in tcp-socket-base.cc
Last modified: 2017-10-05 10:28:47 UTC
Reported on ns-3-users list: https://groups.google.com/forum/#!topic/ns-3-users/f-gmOfSJ4F0
Created attachment 2929 [details] test case to reproduce Enabling this program in the src/internet/test directory will demonstrate the problem. Run it as: NS_LOG="TcpSocketBase" ./waf --run 'test-runner --suite=tcp-handshake' > log.out 2>&1 The test forces the loss of the first SYN+ACK, but not subsequent ones. The log will show that the TCP will repeatedly resend SYN+ACK then give up. On line 12, if ENABLE_DATA is enabled, the test will get by ths because the ACK (of SYN+ACK) comes in the initial data from the source.
My sense of this is that an uncommon scenario would trigger this bug: 1) client initiates TCP session to server (via connect()). 2) despite completing the connection (from its perspective) the client leaves the connection open and sends no data to the server.