diff --git a/src/aodv/test/tcp-chain-test-9-0.pcap b/src/aodv/test/tcp-chain-test-9-0.pcap index f2a57ed28..12038ecd7 100644 Binary files a/src/aodv/test/tcp-chain-test-9-0.pcap and b/src/aodv/test/tcp-chain-test-9-0.pcap differ diff --git a/src/internet/model/tcp-socket-base.cc b/src/internet/model/tcp-socket-base.cc index fa4ae37b8..3de68ae13 100644 --- a/src/internet/model/tcp-socket-base.cc +++ b/src/internet/model/tcp-socket-base.cc @@ -683,6 +683,11 @@ TcpSocketBase::DoForwardUp (Ptr packet, Ipv4Header header, uint16_t port ":" << tcpHeader.GetSequenceNumber () + packet->GetSize() << ") out of range [" << m_rxBuffer.NextRxSequence () << ":" << m_rxBuffer.MaxRxSequence () << ")"); + // Acknowledgement should be sent for all unacceptable packets (RFC793, p.69) + if (m_state == ESTABLISHED && !(tcpHeader.GetFlags () & TcpHeader::RST)) + { + SendEmptyPacket (TcpHeader::ACK); + } return; }