Bug 1194 - Incorrect RERR processing

This commit is contained in:
John Abraham
2011-06-30 11:52:11 -04:00
parent 720f567e6b
commit 2c1ff505a7

View File

@@ -1418,19 +1418,14 @@ RoutingProtocol::RecvError (Ptr<Packet> p, Ipv4Address src )
std::pair<Ipv4Address, uint32_t> un;
while (rerrHeader.RemoveUnDestination (un))
{
if (m_nb.IsNeighbor (un.first))
SendRerrWhenBreaksLinkToNextHop (un.first);
else
{
for (std::map<Ipv4Address, uint32_t>::const_iterator i =
dstWithNextHopSrc.begin (); i != dstWithNextHopSrc.end (); ++i)
{
if (i->first == un.first)
{
unreachable.insert (un);
}
}
}
for (std::map<Ipv4Address, uint32_t>::const_iterator i =
dstWithNextHopSrc.begin (); i != dstWithNextHopSrc.end (); ++i)
{
if (i->first == un.first)
{
unreachable.insert (un);
}
}
}
std::vector<Ipv4Address> precursors;