src/devices/mesh/dot11s/hwmp-mac-plugin.cc
changeset 4984 77ab6e01a1c3
parent 4979 a2dec42b6b30
child 4991 c259eaefdd7f
child 4996 33f418524356
--- a/src/devices/mesh/dot11s/hwmp-mac-plugin.cc	Wed Apr 29 16:18:50 2009 +0400
+++ b/src/devices/mesh/dot11s/hwmp-mac-plugin.cc	Wed Apr 29 16:56:28 2009 +0400
@@ -85,16 +85,14 @@
   }
   if(header.IsAction())
   {
-    // TODO don't use multihop header
-    //parse multihop action header:
-    WifiMeshMultihopActionHeader multihopHdr;
-    packet->RemoveHeader (multihopHdr);
-    WifiMeshMultihopActionHeader::ActionValue actionValue = multihopHdr.GetAction ();
-    if(multihopHdr.GetCategory () != WifiMeshMultihopActionHeader::MESH_PATH_SELECTION)
+    WifiMeshActionHeader actionHdr;
+    packet->RemoveHeader (actionHdr);
+    WifiMeshActionHeader::ActionValue actionValue = actionHdr.GetAction ();
+    if(actionHdr.GetCategory () != WifiMeshActionHeader::MESH_PATH_SELECTION)
       return true;
     switch (actionValue.pathSelection)
     {
-      case WifiMeshMultihopActionHeader::PATH_REQUEST:
+      case WifiMeshActionHeader::PATH_REQUEST:
         {
           IePreq preq;
           packet->RemoveHeader (preq);
@@ -106,7 +104,7 @@
           m_protocol->ReceivePreq (preq, header.GetAddr2 (), m_ifIndex, m_parent->GetLinkMetric(header.GetAddr2 ()));
           return false;
         }
-      case WifiMeshMultihopActionHeader::PATH_REPLY:
+      case WifiMeshActionHeader::PATH_REPLY:
         {
           IePrep prep;
           packet->RemoveHeader (prep);
@@ -116,14 +114,14 @@
           m_protocol->ReceivePrep (prep, header.GetAddr2 (), m_ifIndex, m_parent->GetLinkMetric(header.GetAddr2 ()));
           return false;
         }
-      case WifiMeshMultihopActionHeader::PATH_ERROR:
+      case WifiMeshActionHeader::PATH_ERROR:
         {
           IePerr perr;
           packet->RemoveHeader (perr);
           m_protocol->ReceivePerr (perr, header.GetAddr2 (), m_ifIndex);
           return false;
         }
-      case WifiMeshMultihopActionHeader::ROOT_ANNOUNCEMENT:
+      case WifiMeshActionHeader::ROOT_ANNOUNCEMENT:
         return false;
     }
   }
@@ -187,12 +185,12 @@
   m_preqTimer = Simulator::Schedule (m_protocol->GetPreqMinInterval (), &HwmpMacPlugin::SendOnePreq, this);
   Ptr<Packet> packet  = Create<Packet> ();
   packet->AddHeader(m_preqQueue[0]);
-  //Multihop action header:
-  WifiMeshMultihopActionHeader multihopHdr;
-  WifiMeshMultihopActionHeader::ActionValue action;
-  action.pathSelection = WifiMeshMultihopActionHeader::PATH_REQUEST;
-  multihopHdr.SetAction (WifiMeshMultihopActionHeader::MESH_PATH_SELECTION, action);
-  packet->AddHeader (multihopHdr);
+  //Action header:
+  WifiMeshActionHeader actionHdr;
+  WifiMeshActionHeader::ActionValue action;
+  action.pathSelection = WifiMeshActionHeader::PATH_REQUEST;
+  actionHdr.SetAction (WifiMeshActionHeader::MESH_PATH_SELECTION, action);
+  packet->AddHeader (actionHdr);
   //create 802.11 header:
   WifiMacHeader hdr;
   hdr.SetAction ();
@@ -224,12 +222,12 @@
 //Create packet
   Ptr<Packet> packet  = Create<Packet> ();
   packet->AddHeader(m_myPerr.perr);
-  //Multihop action header:
-  WifiMeshMultihopActionHeader multihopHdr;
-  WifiMeshMultihopActionHeader::ActionValue action;
-  action.pathSelection = WifiMeshMultihopActionHeader::PATH_ERROR;
-  multihopHdr.SetAction (WifiMeshMultihopActionHeader::MESH_PATH_SELECTION, action);
-  packet->AddHeader (multihopHdr);
+  //Action header:
+  WifiMeshActionHeader actionHdr;
+  WifiMeshActionHeader::ActionValue action;
+  action.pathSelection = WifiMeshActionHeader::PATH_ERROR;
+  actionHdr.SetAction (WifiMeshActionHeader::MESH_PATH_SELECTION, action);
+  packet->AddHeader (actionHdr);
   //create 802.11 header:
   WifiMacHeader hdr;
   hdr.SetAction ();
@@ -252,12 +250,12 @@
   //Create packet
   Ptr<Packet> packet  = Create<Packet> ();
   packet->AddHeader(prep);
-  //Multihop action header:
-  WifiMeshMultihopActionHeader multihopHdr;
-  WifiMeshMultihopActionHeader::ActionValue action;
-  action.pathSelection = WifiMeshMultihopActionHeader::PATH_REPLY;
-  multihopHdr.SetAction (WifiMeshMultihopActionHeader::MESH_PATH_SELECTION, action);
-  packet->AddHeader (multihopHdr);
+  //Action header:
+  WifiMeshActionHeader actionHdr;
+  WifiMeshActionHeader::ActionValue action;
+  action.pathSelection = WifiMeshActionHeader::PATH_REPLY;
+  actionHdr.SetAction (WifiMeshActionHeader::MESH_PATH_SELECTION, action);
+  packet->AddHeader (actionHdr);
   //create 802.11 header:
   WifiMacHeader hdr;
   hdr.SetAction ();