tcp: MaxRxSequence is sometimes too large
authorChristoph Döpmann <doepmanc@informatik.hu-berlin.de>
Mon, 06 Feb 2017 13:28:12 +0100
changeset 12671 4e3671db908e
parent 12670 0c9178f1709d
child 12672 10ea1cca0a24
tcp: MaxRxSequence is sometimes too large
RELEASE_NOTES
src/internet/model/tcp-rx-buffer.cc
--- a/RELEASE_NOTES	Mon Feb 06 13:24:24 2017 +0100
+++ b/RELEASE_NOTES	Mon Feb 06 13:28:12 2017 +0100
@@ -78,6 +78,7 @@
 - Bug 2604 - QosData frames with Block Ack policy should be separated by SIFS as long as they belong to the same TXOP
 - Bug 2605 - A HT/VHT station transmitting to a legacy access point results in a null throughput
 - Bug 2606 - Ideal rate manager does not work correctly when a HT/VHT station is transmitting to a legacy access point
+- Bug 2613 - MaxRxSequence () is sometimes too large
 - Bug 2607 - Minstrel HT manager results in an endless loop when a 802.11ac station is transmitting to a 802.11a access point
 - Bug 2614 - RIP header version should be set to 2
 - Bug 2627 - Ipv6RawSocket does not honor the bound interface when sending packets
--- a/src/internet/model/tcp-rx-buffer.cc	Mon Feb 06 13:24:24 2017 +0100
+++ b/src/internet/model/tcp-rx-buffer.cc	Mon Feb 06 13:28:12 2017 +0100
@@ -114,7 +114,7 @@
     { // No data allowed beyond FIN
       return m_finSeq;
     }
-  else if (m_data.size ())
+  else if (m_data.size () && m_nextRxSeq > m_data.begin ()->first)
     { // No data allowed beyond Rx window allowed
       return m_data.begin ()->first + SequenceNumber32 (m_maxBuffer);
     }