src/devices/mesh/dot11s/hwmp-protocol.cc
changeset 4941 aa44b6c49468
parent 4933 72f0481cfb2d
child 4943 ef084a06119d
--- a/src/devices/mesh/dot11s/hwmp-protocol.cc	Thu Apr 02 17:57:18 2009 +0400
+++ b/src/devices/mesh/dot11s/hwmp-protocol.cc	Thu Apr 02 19:18:36 2009 +0400
@@ -160,6 +160,7 @@
 )
 {
   HwmpTag tag;
+  tag.SetAddress(Mac48Address::GetBroadcast());
   if (sourceIface == GetMeshPoint ()->GetIfIndex())
     // packet from level 3
   {
@@ -168,7 +169,6 @@
     if(destination == Mac48Address::GetBroadcast ())
     {
       tag.SetSeqno (m_dataSeqno++);
-      tag.SetAddress (Mac48Address::GetBroadcast());
       tag.SetTtl (m_maxTtl+1);
       if (m_dataSeqno == 0xffffffff)
         m_dataSeqno = 0;
@@ -184,7 +184,9 @@
   }
   if (destination == Mac48Address::GetBroadcast ())
   {
-    NS_LOG_UNCOND("BROADCAS");
+    packet->RemovePacketTag (tag);
+    tag.SetAddress (Mac48Address::GetBroadcast ());
+    packet->AddPacketTag(tag);
     routeReply (true, packet, source, destination, protocolType, HwmpRtable::INTERFACE_ANY);
   }
   else
@@ -250,14 +252,6 @@
   QueuePacket (pkt);
   return true;
 }
-bool
-HwmpProtocol::RemoveTags (Mac48Address dst)
-{
-  //Check that dst is my address
-  if(dst == m_address)
-    return true;
-  return false;
-}
 void
 HwmpProtocol::ReceivePreq (IePreq preq, Mac48Address from, uint32_t interface)
 {
@@ -503,7 +497,7 @@
     if(result.retransmitter == Mac48Address::GetBroadcast ())
     {
       NS_LOG_UNCOND("I am"<<m_address<<" MP:"<<meshPointAddress<<"accessible through interface"<<interface<<", ra = "<<peerAddress);
-      m_rtable->AddReactivePath(meshPointAddress, peerAddress, interface, 1, Seconds (0), 0);
+      //m_rtable->AddReactivePath(meshPointAddress, peerAddress, interface, 1, Seconds (0), 0);
     }
   }
   else
@@ -706,7 +700,7 @@
     }
   for(HwmpPluginMap::iterator i = m_interfaces.begin (); i != m_interfaces.end (); i ++)
   {
-    //i->second->RequestDestination(Mac48Address("00:00:00:00:00:04"));
+    i->second->RequestDestination(Mac48Address("00:00:00:00:00:20"));
     i->second->RequestDestination(dst);
   }
   m_preqTimeouts[dst] = Simulator::Schedule (