View | Details | Raw Unified | Return to bug 1634
Collapse All | Expand All

(-)a/src/internet/model/icmpv6-l4-protocol.cc (-2 / +14 lines)
 Lines 1226-1233    Link Here 
1226
      /* try to find the cache */
1226
      /* try to find the cache */
1227
      cache = FindCache (device);
1227
      cache = FindCache (device);
1228
    }
1228
    }
1229
1229
  if (cache)
1230
  return cache->Lookup (dst);
1230
    {
1231
      NdiscCache::Entry* entry = cache->Lookup (dst);
1232
      if (entry && !(entry->IsIncomplete() || entry->IsProbe()))
1233
        {
1234
          *hardwareDestination = entry->GetMacAddress ();
1235
          return true;
1236
        }
1237
    }
1238
  return false;
1231
}
1239
}
1232
1240
1233
bool Icmpv6L4Protocol::Lookup (Ptr<Packet> p, Ipv6Address dst, Ptr<NetDevice> device, Ptr<NdiscCache> cache, Address* hardwareDestination)
1241
bool Icmpv6L4Protocol::Lookup (Ptr<Packet> p, Ipv6Address dst, Ptr<NetDevice> device, Ptr<NdiscCache> cache, Address* hardwareDestination)
 Lines 1239-1244    Link Here 
1239
      /* try to find the cache */
1247
      /* try to find the cache */
1240
      cache = FindCache (device);
1248
      cache = FindCache (device);
1241
    }
1249
    }
1250
  if (!cache)
1251
    {
1252
      return false;
1253
    }
1242
1254
1243
  NdiscCache::Entry* entry = cache->Lookup (dst);
1255
  NdiscCache::Entry* entry = cache->Lookup (dst);
1244
  if (entry)
1256
  if (entry)
(-)a/src/internet/model/ipv6-interface.cc (-1 / +4 lines)
 Lines 103-109    Link Here 
103
    }
103
    }
104
104
105
  Ptr<Icmpv6L4Protocol> icmpv6 = m_node->GetObject<Ipv6L3Protocol> ()->GetIcmpv6 ();
105
  Ptr<Icmpv6L4Protocol> icmpv6 = m_node->GetObject<Ipv6L3Protocol> ()->GetIcmpv6 ();
106
  m_ndCache = icmpv6->CreateCache (m_device, this);
106
  if (m_device->NeedsArp ())
107
    {
108
      m_ndCache = icmpv6->CreateCache (m_device, this);
109
    }
107
}
110
}
108
111
109
void Ipv6Interface::SetNode (Ptr<Node> node)
112
void Ipv6Interface::SetNode (Ptr<Node> node)

Return to bug 1634