# HG changeset patch # User Tommaso Pecorella # Date 1369083457 -7200 # Node ID 070c5caed3915165b38b4fac3b2a6cb119dffec7 # Parent 32e15e895529c48c97529d568d38e07eaad33e4c Better fix for bug 1643 diff -r 32e15e895529 -r 070c5caed391 src/internet/model/icmpv6-l4-protocol.cc --- a/src/internet/model/icmpv6-l4-protocol.cc Fri May 17 13:46:25 2013 +0200 +++ b/src/internet/model/icmpv6-l4-protocol.cc Mon May 20 22:57:37 2013 +0200 @@ -1234,10 +1234,20 @@ if (cache) { NdiscCache::Entry* entry = cache->Lookup (dst); - if (entry && !(entry->IsIncomplete() || entry->IsProbe())) + if (entry) { - *hardwareDestination = entry->GetMacAddress (); - return true; + if (entry->IsReachable () || entry->IsDelay ()) + { + *hardwareDestination = entry->GetMacAddress (); + return true; + } + else if (entry->IsStale ()) + { + entry->StartDelayTimer (); + entry->MarkDelay (); + *hardwareDestination = entry->GetMacAddress (); + return true; + } } } return false;