From e546aeb562dc935d3076030e6b608d5acaef9fb2 Mon Sep 17 00:00:00 2001 From: Anh Nguyen Date: Mon, 18 Apr 2016 17:14:01 +0200 Subject: [PATCH] internet: added last acked seq in tcp --- src/internet/model/tcp-socket-base.cc | 4 ++++ src/internet/model/tcp-socket-base.h | 1 + 2 files changed, 5 insertions(+) diff --git a/src/internet/model/tcp-socket-base.cc b/src/internet/model/tcp-socket-base.cc index cb012e73a..f85136343 100644 --- a/src/internet/model/tcp-socket-base.cc +++ b/src/internet/model/tcp-socket-base.cc @@ -234,6 +234,7 @@ TcpSocketState::TcpSocketState (void) m_initialCWnd (0), m_initialSsThresh (0), m_segmentSize (0), + m_lastAckedSeq (0), m_congState (CA_OPEN), m_highTxMark (0), // Change m_nextTxSequence for non-zero initial sequence number @@ -248,6 +249,7 @@ TcpSocketState::TcpSocketState (const TcpSocketState &other) m_initialCWnd (other.m_initialCWnd), m_initialSsThresh (other.m_initialSsThresh), m_segmentSize (other.m_segmentSize), + m_lastAckedSeq (other.m_lastAckedSeq), m_congState (other.m_congState), m_highTxMark (other.m_highTxMark), m_nextTxSequence (other.m_nextTxSequence) @@ -1464,6 +1466,8 @@ TcpSocketBase::ReceivedAck (Ptr packet, const TcpHeader& tcpHeader) " SND.UNA=" << m_txBuffer->HeadSequence () << " SND.NXT=" << m_tcb->m_nextTxSequence); + m_tcb->m_lastAckedSeq = ackNumber; + if (ackNumber == m_txBuffer->HeadSequence () && ackNumber < m_tcb->m_nextTxSequence && packet->GetSize () == 0) diff --git a/src/internet/model/tcp-socket-base.h b/src/internet/model/tcp-socket-base.h index 773250af3..e0af65196 100644 --- a/src/internet/model/tcp-socket-base.h +++ b/src/internet/model/tcp-socket-base.h @@ -158,6 +158,7 @@ public: // Segment uint32_t m_segmentSize; //!< Segment size + SequenceNumber32 m_lastAckedSeq; //!< Last sequence ACKed TracedValue m_congState; //!< State in the Congestion state machine TracedValue m_highTxMark; //!< Highest seqno ever sent, regardless of ReTx