From 0ffaf38602df9e51bd206719f043c3d45fc54043 Mon Sep 17 00:00:00 2001 From: Kulin Shah Date: Mon, 25 Feb 2008 14:40:25 -0500 Subject: [PATCH] Fix to make the TCP SYN retransmission do a binary exponential backoff --- src/internet-node/tcp-socket.cc | 1 + src/node/tcp.cc | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/internet-node/tcp-socket.cc b/src/internet-node/tcp-socket.cc index d23e1f1e8..c52eceb98 100644 --- a/src/internet-node/tcp-socket.cc +++ b/src/internet-node/tcp-socket.cc @@ -471,6 +471,7 @@ void TcpSocket::SendEmptyPacket (uint8_t flags) if (flags & TcpHeader::SYN) { rto = m_cnTimeout; + m_cnTimeout = m_cnTimeout + m_cnTimeout; m_cnCount--; } if (m_retxEvent.IsExpired () ) //no outstanding timer diff --git a/src/node/tcp.cc b/src/node/tcp.cc index e6fd6b7e8..55a0927a3 100644 --- a/src/node/tcp.cc +++ b/src/node/tcp.cc @@ -54,12 +54,12 @@ NumericDefaultValue Tcp::defaultInitialCWnd NumericDefaultValue Tcp::defaultConnTimeout ("TcpDefaultConnTimeout", "Default TCP retransmission timeout when opening connection (seconds)", -6); +3); NumericDefaultValue Tcp::defaultConnCount ("TcpDefaultConnCount", "Default number of connection attempts (SYN retransmissions) before returning failure", -3); +6); NS_OBJECT_ENSURE_REGISTERED (Tcp);