src/devices/mesh/mesh-wifi-interface-mac.cc
changeset 4985 8dbdba66f5e1
parent 4964 9107f67330f3
child 5002 4ff127c1f6fa
--- a/src/devices/mesh/mesh-wifi-interface-mac.cc	Wed Apr 29 16:56:28 2009 +0400
+++ b/src/devices/mesh/mesh-wifi-interface-mac.cc	Wed Apr 29 18:31:47 2009 +0400
@@ -542,7 +542,7 @@
   for (PluginList::const_iterator i = m_plugins.begin(); i != m_plugins.end(); ++i)
     (*i)->UpdateBeacon (beacon);
 
-  m_beaconDca->Queue (beacon.CreatePacket(), beacon.CreateHeader(GetAddress()));
+  m_beaconDca->Queue (beacon.CreatePacket(), beacon.CreateHeader(GetAddress (), GetMeshPointAddress ()));
 
   ScheduleNextBeacon ();
 }
@@ -594,6 +594,7 @@
   if (hdr->IsData ())
       ForwardUp (packet, hdr->GetAddr4(), hdr->GetAddr3());
 }
+
 uint32_t
 MeshWifiInterfaceMac::GetLinkMetric (Mac48Address peerAddress)
 {
@@ -602,15 +603,31 @@
     metric = m_linkMetricCallback(peerAddress, this);
   return metric;
 }
+
 void
 MeshWifiInterfaceMac::SetLinkMetricCallback (Callback<uint32_t, Mac48Address, Ptr<MeshWifiInterfaceMac> > cb)
 {
   m_linkMetricCallback = cb;
 }
+
 Ptr<WifiRemoteStationManager>
 MeshWifiInterfaceMac::GetStationManager()
 {
   return m_stationManager;
 }
+
+void
+MeshWifiInterfaceMac::SetMeshPointAddress (Mac48Address a)
+{
+  m_mpAddress = a;
+}
+
+Mac48Address 
+MeshWifiInterfaceMac::GetMeshPointAddress () const
+{
+  return m_mpAddress;
+}
+
+
 } // namespace ns3