From 89019eabf5b30e048cd6e4290d11611a954cd5b7 Mon Sep 17 00:00:00 2001 From: Adrian S Tam Date: Sat, 3 Dec 2011 14:02:19 -0500 Subject: [PATCH] Send ACK to some out-of-order packets (fixes bug 1112 and part of 1256) --- src/aodv/test/tcp-chain-test-9-0.pcap | Bin 19486 -> 19974 bytes src/internet/model/tcp-socket-base.cc | 5 +++++ 2 files changed, 5 insertions(+) diff --git a/src/aodv/test/tcp-chain-test-9-0.pcap b/src/aodv/test/tcp-chain-test-9-0.pcap index f2a57ed28876ce0a7190fa506fc42af8a567400b..12038ecd7cd6289d90b999eca4a2c8e6f2190b18 100644 GIT binary patch delta 191 zcmbO?gRyN6;|3uYW}b(PlO6fw1q>Khtzu?iVBlbIWnj=?;GbN;Co%b)gAnrxpn^af z>CHke8 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; }