tcp: (fixes #2285) Loss of ack of SYN can cause improper setup

This commit is contained in:
Lynne Salameh
2017-09-17 16:58:41 -07:00
parent f137dbb268
commit b14635b699
2 changed files with 3 additions and 1 deletions

View File

@@ -42,6 +42,7 @@ Bugs fixed
- Bug 2248 - tcp: TCP SACK added after reviews
- Bug 2256 - tcp: bytes in flight now updated in TcpTxBuffer
- Bug 2263 - Support processing of multiple TCP options
- Bug 2285 - tcp: Loss of ack of SYN can cause improper connection setup
- Bug 2367 - BlockAckManager does not remove iterators to freed items
- Bug 2450 - LogDistancePropagationLossModel is not continuous
- Bug 2463 - create trace source to trace the TXOP time that is actually used

View File

@@ -1996,8 +1996,8 @@ TcpSocketBase::ProcessSynRcvd (Ptr<Packet> packet, const TcpHeader& tcpHeader,
// Always respond to first data packet to speed up the connection.
// Remove to get the behaviour of old NS-3 code.
m_delAckCount = m_delAckMaxCount;
ReceivedAck (packet, tcpHeader);
NotifyNewConnectionCreated (this, fromAddress);
ReceivedAck (packet, tcpHeader);
// As this connection is established, the socket is available to send data now
if (GetTxAvailable () > 0)
{
@@ -2027,6 +2027,7 @@ TcpSocketBase::ProcessSynRcvd (Ptr<Packet> packet, const TcpHeader& tcpHeader,
m_endPoint6->SetPeer (Inet6SocketAddress::ConvertFrom (fromAddress).GetIpv6 (),
Inet6SocketAddress::ConvertFrom (fromAddress).GetPort ());
}
NotifyNewConnectionCreated (this, fromAddress);
PeerClose (packet, tcpHeader);
}
}