diff -r 2ef4be6c501a src/internet-stack/ipv6-interface.cc --- a/src/internet-stack/ipv6-interface.cc Fri Nov 13 16:45:28 2009 +0100 +++ b/src/internet-stack/ipv6-interface.cc Wed Dec 02 08:14:55 2009 +0100 @@ -75,11 +75,6 @@ { return; } - - if (!m_device->NeedsArp ()) - { - return; - } /* set up link-local address */ if (!DynamicCast (m_device)) /* no autoconf for ip6-localhost */ @@ -97,8 +92,11 @@ } } - Ptr icmpv6 = m_node->GetObject ()->GetIcmpv6 (); - m_ndCache = icmpv6->CreateCache (m_device, this); + if (m_device->NeedsArp ()) + { + Ptr icmpv6 = m_node->GetObject ()->GetIcmpv6 (); + m_ndCache = icmpv6->CreateCache (m_device, this); + } } void Ipv6Interface::SetNode (Ptr node)