src/devices/mesh/dot11s/dot11s-mac-header.cc
changeset 5129 5688b8da4526
parent 5124 e206046b2e44
child 5132 aee541a30256
--- a/src/devices/mesh/dot11s/dot11s-mac-header.cc	Wed Jul 22 13:31:31 2009 +0400
+++ b/src/devices/mesh/dot11s/dot11s-mac-header.cc	Wed Jul 22 14:52:42 2009 +0400
@@ -18,15 +18,16 @@
  * Author: Kirill Andreev <andreev@iitp.ru>
  */
 
-
 #include "ns3/assert.h"
 #include "ns3/address-utils.h"
 #include "dot11s-mac-header.h"
 #include "ns3/packet.h"
 #include "ns3/test.h"
 
-namespace ns3 {
-namespace dot11s {
+namespace ns3
+{
+namespace dot11s
+{
 /***********************************************************
  *  Here Mesh Mac Header functionality is defined.
  ***********************************************************/
@@ -34,18 +35,13 @@
 MeshHeader::GetTypeId ()
 {
   static TypeId tid = TypeId ("ns3::Dot11sMacHeader")
-    .SetParent<Header> ()
-    .AddConstructor<MeshHeader> ()
-    ;
+  .SetParent<Header> ()
+  .AddConstructor<MeshHeader> ();
   return tid;
 }
-MeshHeader::MeshHeader ():
-  m_meshFlags (0),
-  m_meshTtl (0),
-  m_meshSeqno (0),
-  m_addr4 (Mac48Address ()),
-  m_addr5 (Mac48Address ()),
-  m_addr6 (Mac48Address ())
+MeshHeader::MeshHeader () :
+  m_meshFlags (0), m_meshTtl (0), m_meshSeqno (0), m_addr4 (Mac48Address ()), m_addr5 (Mac48Address ()),
+      m_addr6 (Mac48Address ())
 {
 }
 MeshHeader::~MeshHeader ()
@@ -170,23 +166,15 @@
 void
 MeshHeader::Print (std::ostream &os) const
 {
-  os << "flags = " << (uint16_t)m_meshFlags
-  << "\nttl = " << (uint16_t)m_meshTtl
-  << "\nseqno = " << m_meshSeqno
-  << "\naddr4 = " << m_addr4
-  << "\naddr5 = " << m_addr5
-  << "\naddr6 = " << m_addr6;
+  os << "flags = " << (uint16_t) m_meshFlags << "\nttl = " << (uint16_t) m_meshTtl << "\nseqno = "
+      << m_meshSeqno << "\naddr4 = " << m_addr4 << "\naddr5 = " << m_addr5 << "\naddr6 = " << m_addr6;
 }
-bool operator== (const MeshHeader & a, const MeshHeader & b)
+bool
+operator== (const MeshHeader & a, const MeshHeader & b)
 {
-  return (
-      (a.m_meshFlags == b.m_meshFlags) &&
-      (a.m_meshTtl == b.m_meshTtl) &&
-      (a.m_meshSeqno == b.m_meshSeqno) &&
-      (a.m_addr4 == b.m_addr4) &&
-      (a.m_addr5 == b.m_addr5) &&
-      (a.m_addr6 == b.m_addr6)
-      );
+  return ((a.m_meshFlags == b.m_meshFlags) && (a.m_meshTtl == b.m_meshTtl)
+      && (a.m_meshSeqno == b.m_meshSeqno) && (a.m_addr4 == b.m_addr4) && (a.m_addr5 == b.m_addr5)
+      && (a.m_addr6 == b.m_addr6));
 }
 /**********************************************************
  *   ActionFrame
@@ -198,29 +186,28 @@
 {
 }
 void
-WifiMeshActionHeader::SetAction (
-  WifiMeshActionHeader::CategoryValue type,
-  WifiMeshActionHeader::ActionValue action)
+WifiMeshActionHeader::SetAction (WifiMeshActionHeader::CategoryValue type,
+    WifiMeshActionHeader::ActionValue action)
 {
   m_category = type;
-  
+
   switch (type)
     {
-    case MESH_PEERING_MGT:
-      {
-        m_actionValue = action.peerLink;
-        break;
-      }
-    case MESH_PATH_SELECTION:
-      {
-        m_actionValue = action.pathSelection;
-        break;
-      }
-    case MESH_LINK_METRIC:
-    case MESH_INTERWORKING:
-    case MESH_RESOURCE_COORDINATION:
-    case MESH_PROXY_FORWARDING:
+  case MESH_PEERING_MGT:
+    {
+      m_actionValue = action.peerLink;
       break;
+    }
+  case MESH_PATH_SELECTION:
+    {
+      m_actionValue = action.pathSelection;
+      break;
+    }
+  case MESH_LINK_METRIC:
+  case MESH_INTERWORKING:
+  case MESH_RESOURCE_COORDINATION:
+  case MESH_PROXY_FORWARDING:
+    break;
     };
 }
 WifiMeshActionHeader::CategoryValue
@@ -228,21 +215,21 @@
 {
   switch (m_category)
     {
-    case MESH_PEERING_MGT:
-      return MESH_PEERING_MGT;
-    case MESH_LINK_METRIC:
-      return MESH_LINK_METRIC;
-    case MESH_PATH_SELECTION:
-      return MESH_PATH_SELECTION;
-    case MESH_INTERWORKING:
-      return MESH_INTERWORKING;
-    case MESH_RESOURCE_COORDINATION:
-      return MESH_RESOURCE_COORDINATION;
-    case MESH_PROXY_FORWARDING:
-      return MESH_PROXY_FORWARDING;
-    default:
-      NS_FATAL_ERROR ("Unknown action value");
-      return MESH_PEERING_MGT;
+  case MESH_PEERING_MGT:
+    return MESH_PEERING_MGT;
+  case MESH_LINK_METRIC:
+    return MESH_LINK_METRIC;
+  case MESH_PATH_SELECTION:
+    return MESH_PATH_SELECTION;
+  case MESH_INTERWORKING:
+    return MESH_INTERWORKING;
+  case MESH_RESOURCE_COORDINATION:
+    return MESH_RESOURCE_COORDINATION;
+  case MESH_PROXY_FORWARDING:
+    return MESH_PROXY_FORWARDING;
+  default:
+    NS_FATAL_ERROR ("Unknown action value");
+    return MESH_PEERING_MGT;
     }
 }
 WifiMeshActionHeader::ActionValue
@@ -251,50 +238,49 @@
   ActionValue retval;
   switch (m_category)
     {
-    case MESH_PEERING_MGT:
-      switch (m_actionValue)
-        {
-        case PEER_LINK_OPEN:
-          retval.peerLink = PEER_LINK_OPEN;
-          return retval;
-        case PEER_LINK_CONFIRM:
-          retval.peerLink = PEER_LINK_CONFIRM;
-          return retval;
-        case PEER_LINK_CLOSE:
-          retval.peerLink = PEER_LINK_CLOSE;
-          return retval;
-        default:
-          NS_FATAL_ERROR ("Unknown mesh peering management action code");
-          return retval;
-        }
-    case MESH_PATH_SELECTION:
-      switch (m_actionValue)
-        {
-        case PATH_SELECTION:
-          retval.pathSelection = PATH_SELECTION;
-          return retval;
-        default:
-          NS_FATAL_ERROR ("Unknown mesh path selection action code");
-          return retval;
-        }
-    case MESH_LINK_METRIC:
-      // not yet supported 
-    case MESH_INTERWORKING:
-      // not yet supported
-    case MESH_RESOURCE_COORDINATION:
-      // not yet supported
+  case MESH_PEERING_MGT:
+    switch (m_actionValue)
+      {
+    case PEER_LINK_OPEN:
+      retval.peerLink = PEER_LINK_OPEN;
+      return retval;
+    case PEER_LINK_CONFIRM:
+      retval.peerLink = PEER_LINK_CONFIRM;
+      return retval;
+    case PEER_LINK_CLOSE:
+      retval.peerLink = PEER_LINK_CLOSE;
+      return retval;
     default:
-      NS_FATAL_ERROR ("Unsupported mesh action");
+      NS_FATAL_ERROR ("Unknown mesh peering management action code");
+      return retval;
+      }
+  case MESH_PATH_SELECTION:
+    switch (m_actionValue)
+      {
+    case PATH_SELECTION:
+      retval.pathSelection = PATH_SELECTION;
       return retval;
+    default:
+      NS_FATAL_ERROR ("Unknown mesh path selection action code");
+      return retval;
+      }
+  case MESH_LINK_METRIC:
+    // not yet supported
+  case MESH_INTERWORKING:
+    // not yet supported
+  case MESH_RESOURCE_COORDINATION:
+    // not yet supported
+  default:
+    NS_FATAL_ERROR ("Unsupported mesh action");
+    return retval;
     }
 }
 TypeId
 WifiMeshActionHeader::GetTypeId ()
 {
   static TypeId tid = TypeId ("ns3::WifiMeshActionHeader")
-                      .SetParent<Header> ()
-                      .AddConstructor<WifiMeshActionHeader> ()
-                      ;
+  .SetParent<Header> ()
+  .AddConstructor<WifiMeshActionHeader> ();
   return tid;
 }
 TypeId
@@ -328,57 +314,62 @@
 #ifdef RUN_SELF_TESTS
 
 /// Built-in self test for Dot11sMacHeader
-struct Dot11sMacHeaderBist : public Test 
+struct Dot11sMacHeaderBist : public Test
 {
-  Dot11sMacHeaderBist () : Test ("Mesh/802.11s/MeshHeader") {}
-  virtual bool RunTests (); 
+  Dot11sMacHeaderBist () :
+    Test ("Mesh/802.11s/MeshHeader")
+  {
+  }
+  virtual bool
+  RunTests ();
 };
 
 /// Test instance
 static Dot11sMacHeaderBist g_Dot11sMacHeaderBist;
 
-bool Dot11sMacHeaderBist::RunTests ()
+bool
+Dot11sMacHeaderBist::RunTests ()
 {
   bool result (true);
-  {
-    MeshHeader a;
-    a.SetAddressExt (3);
-    a.SetAddr4 (Mac48Address ("11:22:33:44:55:66"));
-    a.SetAddr5 (Mac48Address ("11:00:33:00:55:00"));
-    a.SetAddr6 (Mac48Address ("00:22:00:44:00:66"));
-    a.SetMeshTtl (122);
-    a.SetMeshSeqno (321);
-    Ptr<Packet> packet = Create<Packet> ();
-    packet->AddHeader (a);
-    MeshHeader b;
-    packet->RemoveHeader (b);
-    NS_TEST_ASSERT_EQUAL (a, b);
-  } 
-  {
-    MeshHeader a;
-    a.SetAddressExt (2);
-    a.SetAddr5 (Mac48Address ("11:00:33:00:55:00"));
-    a.SetAddr6 (Mac48Address ("00:22:00:44:00:66"));
-    a.SetMeshTtl (122);
-    a.SetMeshSeqno (321);
-    Ptr<Packet> packet = Create<Packet> ();
-    packet->AddHeader (a);
-    MeshHeader b;
-    packet->RemoveHeader (b);
-    NS_TEST_ASSERT_EQUAL (a, b);
-  }
-  {
-    MeshHeader a;
-    a.SetAddressExt (1);
-    a.SetAddr4 (Mac48Address ("11:22:33:44:55:66"));
-    a.SetMeshTtl (122);
-    a.SetMeshSeqno (321);
-    Ptr<Packet> packet = Create<Packet> ();
-    packet->AddHeader (a);
-    MeshHeader b;
-    packet->RemoveHeader (b);
-    NS_TEST_ASSERT_EQUAL (a, b);
-  }
+    {
+      MeshHeader a;
+      a.SetAddressExt (3);
+      a.SetAddr4 (Mac48Address ("11:22:33:44:55:66"));
+      a.SetAddr5 (Mac48Address ("11:00:33:00:55:00"));
+      a.SetAddr6 (Mac48Address ("00:22:00:44:00:66"));
+      a.SetMeshTtl (122);
+      a.SetMeshSeqno (321);
+      Ptr<Packet> packet = Create<Packet> ();
+      packet->AddHeader (a);
+      MeshHeader b;
+      packet->RemoveHeader (b);
+      NS_TEST_ASSERT_EQUAL (a, b);
+    }
+    {
+      MeshHeader a;
+      a.SetAddressExt (2);
+      a.SetAddr5 (Mac48Address ("11:00:33:00:55:00"));
+      a.SetAddr6 (Mac48Address ("00:22:00:44:00:66"));
+      a.SetMeshTtl (122);
+      a.SetMeshSeqno (321);
+      Ptr<Packet> packet = Create<Packet> ();
+      packet->AddHeader (a);
+      MeshHeader b;
+      packet->RemoveHeader (b);
+      NS_TEST_ASSERT_EQUAL (a, b);
+    }
+    {
+      MeshHeader a;
+      a.SetAddressExt (1);
+      a.SetAddr4 (Mac48Address ("11:22:33:44:55:66"));
+      a.SetMeshTtl (122);
+      a.SetMeshSeqno (321);
+      Ptr<Packet> packet = Create<Packet> ();
+      packet->AddHeader (a);
+      MeshHeader b;
+      packet->RemoveHeader (b);
+      NS_TEST_ASSERT_EQUAL (a, b);
+    }
   return result;
 }
 #endif