From 9b62ac5401a22481961970bf2179fb8abef5ab34 Mon Sep 17 00:00:00 2001 From: Natale Patriciello Date: Sun, 25 Feb 2018 11:37:52 +0100 Subject: [PATCH] tcp: (fixes #2874) Corrected interpretation of RFC 6675 for IsLost check --- RELEASE_NOTES | 1 + src/internet/model/tcp-socket-base.cc | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/RELEASE_NOTES b/RELEASE_NOTES index 1c86f42cd..92c9de935 100644 --- a/RELEASE_NOTES +++ b/RELEASE_NOTES @@ -60,6 +60,7 @@ Bugs fixed - Bug 2849 - lte: Received RLC and PDCP PDUs are missing in the stats files - Bug 2854 - wifi: he-wifi-network crashes when frequency is set at 2.4 GHz - Bug 2873 - tcp: Potential SIGFPE in TcpYeah +- Bug 2874 - tcp: Corrected interpretation of RFC 6675 for IsLost check - Bug 2877 - wifi: Wrong data types for CWmin and CWmax Known issues diff --git a/src/internet/model/tcp-socket-base.cc b/src/internet/model/tcp-socket-base.cc index df24fccef..067e2d2bf 100644 --- a/src/internet/model/tcp-socket-base.cc +++ b/src/internet/model/tcp-socket-base.cc @@ -1552,7 +1552,7 @@ TcpSocketBase::DupAck () // (indicating at least three segments have arrived above the current // cumulative acknowledgment point, which is taken to indicate loss) // go to step (4). - else if (m_txBuffer->IsLost (m_highRxAckMark + 1, m_retxThresh, m_tcb->m_segmentSize)) + else if (m_txBuffer->IsLost (m_highRxAckMark + m_tcb->m_segmentSize, m_retxThresh, m_tcb->m_segmentSize)) { EnterRecovery (); NS_ASSERT (m_tcb->m_congState == TcpSocketState::CA_RECOVERY);