From 300b3cd758b4146452fb6ca2674aedcd17cc175f Mon Sep 17 00:00:00 2001 From: Adrian S Tam Date: Sat, 3 Dec 2011 15:35:47 -0500 Subject: [PATCH] Advance m_nextTxSequence upon retransmit after RTO (fixes bug 1112) --- src/aodv/test/tcp-chain-test-0-0.pcap | Bin 38932 -> 36360 bytes src/aodv/test/tcp-chain-test-9-0.pcap | Bin 19974 -> 18354 bytes src/internet/model/tcp-socket-base.cc | 5 ++++- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/aodv/test/tcp-chain-test-0-0.pcap b/src/aodv/test/tcp-chain-test-0-0.pcap index 5f7f29c01b0fcd38fffef4941eb34033c20b7c1e..db12bb0737354f77664dde94d619cb36149482c0 100644 GIT binary patch delta 27 jcmbQTfvIB-(+0NA$vk~Zn>9Lvm?k$&aM--7+m8tVnB@xI delta 197 zcmeB}!!%_B(+0LqW_w=d$?tXKH*0hTF)<$zV4f_o*Ib=hamn>n2yMS*6JIDnBAJ8>G4Fv!V&oYPr diff --git a/src/aodv/test/tcp-chain-test-9-0.pcap b/src/aodv/test/tcp-chain-test-9-0.pcap index 12038ecd7cd6289d90b999eca4a2c8e6f2190b18..a120a835347b8fb7df91d94e16ec8754f61419e4 100644 GIT binary patch delta 30 mcmZph!?>xRaYK*G*xu3``CTvXdXMifsPilE)+vz=)7x&|napT)-zW z`J98$`Xu{hWpsz_RT)X4zf=`0M$4-sBwBs%&UPaK#uqcq#gMb_)$$4f|<^| L?GXFqg(~6zu>3g+ diff --git a/src/internet/model/tcp-socket-base.cc b/src/internet/model/tcp-socket-base.cc index 3de68ae13..6817ffcc2 100644 --- a/src/internet/model/tcp-socket-base.cc +++ b/src/internet/model/tcp-socket-base.cc @@ -1719,7 +1719,10 @@ TcpSocketBase::DoRetransmit () } // Retransmit a data packet: Call SendDataPacket NS_LOG_LOGIC ("TcpSocketBase " << this << " retxing seq " << m_txBuffer.HeadSequence ()); - SendDataPacket (m_txBuffer.HeadSequence (), m_segmentSize, true); + uint32_t sz = SendDataPacket (m_txBuffer.HeadSequence (), m_segmentSize, true); + // In case of RTO, advance m_nextTxSequence + m_nextTxSequence = std::max (m_nextTxSequence.Get (), m_txBuffer.HeadSequence () + sz); + } void