Bug 1963 - AODV can tag the same packet twice (and raise an assert).
--- a/RELEASE_NOTES Sat Aug 23 17:34:17 2014 +0200
+++ b/RELEASE_NOTES Sat Aug 23 17:37:24 2014 +0200
@@ -41,6 +41,7 @@
- Bug 1955 - The IPv4 identification field should be unique per (source, destination, protocol) tuple
- Bug 1960 - Wrong information on index range, about Node::GetDevice
- Bug 1961 - planetlab-tap-creator "variable set but not used"
+- Bug 1963 - AODV can tag the same packet twice (and raise an assert)
Known issues
------------
--- a/src/aodv/model/aodv-routing-protocol.cc Sat Aug 23 17:34:17 2014 +0200
+++ b/src/aodv/model/aodv-routing-protocol.cc Sat Aug 23 17:37:24 2014 +0200
@@ -1806,7 +1806,9 @@
Ptr<Socket> socket = FindSocketWithInterfaceAddress (*i);
NS_ASSERT (socket);
NS_LOG_LOGIC ("Broadcast RERR message from interface " << i->GetLocal ());
+ // std::cout << "Broadcast RERR message from interface " << i->GetLocal () << std::endl;
// Send to all-hosts broadcast if on /32 addr, subnet-directed otherwise
+ Ptr<Packet> p = packet->Copy ();
Ipv4Address destination;
if (i->GetMask () == Ipv4Mask::GetOnes ())
{
@@ -1816,7 +1818,7 @@
{
destination = i->GetBroadcast ();
}
- Simulator::Schedule (Time (MilliSeconds (m_uniformRandomVariable->GetInteger (0, 10))), &RoutingProtocol::SendTo, this, socket, packet, destination);
+ Simulator::Schedule (Time (MilliSeconds (m_uniformRandomVariable->GetInteger (0, 10))), &RoutingProtocol::SendTo, this, socket, p, destination);
}
}