diff --git a/src/internet-node/arp-l3-protocol.cc b/src/internet-node/arp-l3-protocol.cc index 6dc017623..42509bc2a 100644 --- a/src/internet-node/arp-l3-protocol.cc +++ b/src/internet-node/arp-l3-protocol.cc @@ -108,6 +108,11 @@ ArpL3Protocol::Receive(Ptr device, Ptr packet, uint16_t proto arp.GetDestinationIpv4Address () << "; we have address " << cache->GetInterface ()->GetAddress ()); + /** + * Note: we do not update the ARP cache when we receive an ARP request + * from an unknown node. See bug #107 + */ + if (arp.IsRequest () && arp.GetDestinationIpv4Address () == cache->GetInterface ()->GetAddress ()) {