--- a/src/aodv/model/aodv-routing-protocol.cc Sun Dec 18 07:10:25 2016 -0800 +++ a/src/aodv/model/aodv-routing-protocol.cc Sun Dec 18 14:24:22 2016 -0800 @@ -1052,8 +1052,10 @@ } else { - // Binary exponential backoff - retry = std::pow (2, rt.GetRreqCnt () - 1) * m_netTraversalTime; + NS_ASSERT_MSG (rt.GetRreqCnt () > 0, "Unexpected value for GetRreqCount ()"); + uint16_t backoffFactor = rt.GetRreqCnt () - 1; + NS_LOG_LOGIC ("Applying binary exponential backoff factor " << backoffFactor); + retry = m_netTraversalTime * (1 << backoffFactor); } m_addressReqTimer[dst].Schedule (retry); NS_LOG_LOGIC ("Scheduled RREQ retry in " << retry.GetSeconds () << " seconds");