Review fixes
authorKirill Andreev <andreev@iitp.ru>
Fri, 21 Aug 2009 23:33:52 +0400
changeset 5156 5b499f25655a
parent 5155 e4602e638487
child 5157 ace422ad12df
Review fixes
examples/mesh.cc
src/devices/mesh/dot11s/airtime-metric.cc
src/devices/mesh/dot11s/airtime-metric.h
src/devices/mesh/dot11s/hwmp-protocol-mac.cc
src/devices/mesh/dot11s/hwmp-protocol.cc
src/devices/mesh/dot11s/hwmp-protocol.h
src/devices/mesh/dot11s/ie-dot11s-beacon-timing.cc
src/devices/mesh/dot11s/ie-dot11s-beacon-timing.h
src/devices/mesh/dot11s/ie-dot11s-configuration.cc
src/devices/mesh/dot11s/ie-dot11s-configuration.h
src/devices/mesh/dot11s/ie-dot11s-id.h
src/devices/mesh/dot11s/ie-dot11s-metric-report.h
src/devices/mesh/dot11s/ie-dot11s-peer-management.h
src/devices/mesh/dot11s/ie-dot11s-peering-protocol.h
src/devices/mesh/dot11s/peer-link.cc
src/devices/mesh/dot11s/peer-management-protocol.cc
src/devices/mesh/mesh-point-device.cc
src/devices/mesh/mesh-point-device.h
src/devices/mesh/mesh-wifi-interface-mac.cc
src/devices/mesh/wifi-information-element.h
--- a/examples/mesh.cc	Thu Aug 20 18:33:57 2009 +0400
+++ b/examples/mesh.cc	Fri Aug 21 23:33:52 2009 +0400
@@ -47,19 +47,18 @@
     /// Run test
     int Run ();
   private:
-    int       xSize;
-    int       ySize;
-    double    step;
-    double    randomStart;
-    double    totalTime;
-    double    packetInterval;
-    uint16_t  packetSize;
-    uint32_t  nIfaces;
-    bool      chan;
-    bool      pcap;
-    uint64_t  seed;
-    std::string stack;
-    std::string root;
+    int       m_xSize;
+    int       m_ySize;
+    double    m_step;
+    double    m_randomStart;
+    double    m_totalTime;
+    double    m_packetInterval;
+    uint16_t  m_packetSize;
+    uint32_t  m_nIfaces;
+    bool      m_chan;
+    bool      m_pcap;
+    std::string m_stack;
+    std::string m_root;
     /// List of network nodes
     NodeContainer nodes;
     /// List of all mesh point devices
@@ -71,7 +70,7 @@
   private:
     /// Create nodes and setup their mobility
     void CreateNodes ();
-    /// Install internet stack on nodes
+    /// Install internet m_stack on nodes
     void InstallInternetStack ();
     /// Install applications
     void InstallApplication ();
@@ -79,78 +78,75 @@
     void Report ();  
 };
 MeshTest::MeshTest () :
-  xSize (3),
-  ySize (3),
-  step (100.0),
-  randomStart (0.1),
-  totalTime (100.0),
-  packetInterval (0.1),
-  packetSize (1024),
-  nIfaces (1),
-  chan (true),
-  pcap (false),
-  seed (1),
-  stack ("ns3::Dot11sStack"),
-  root ("ff:ff:ff:ff:ff:ff")
+  m_xSize (3),
+  m_ySize (3),
+  m_step (100.0),
+  m_randomStart (0.1),
+  m_totalTime (100.0),
+  m_packetInterval (0.1),
+  m_packetSize (1024),
+  m_nIfaces (1),
+  m_chan (true),
+  m_pcap (false),
+  m_stack ("ns3::Dot11sStack"),
+  m_root ("ff:ff:ff:ff:ff:ff")
 {
 }
 void
 MeshTest::Configure (int argc, char *argv[])
 {
   CommandLine cmd;
-  cmd.AddValue ("x-size", "Number of nodes in a row grid. [6]", xSize);
-  cmd.AddValue ("y-size", "Number of rows in a grid. [6]", ySize);
-  cmd.AddValue ("step",   "Size of edge in our grid, meters. [100 m]", step);
-  cmd.AddValue ("start",  "Maximum random start delay, seconds. [0.1 s]", randomStart);
-  cmd.AddValue ("time",  "Simulation time, seconds [100 s]", totalTime);
-  cmd.AddValue ("packet-interval",  "Interval between packets, seconds [0.001 s]", packetInterval);
-  cmd.AddValue ("packet-size",  "Size of packets", packetSize);
-  cmd.AddValue ("interfaces", "Number of radio interfaces used by each mesh point. [1]", nIfaces);
-  cmd.AddValue ("channels",   "Use different frequency channels for different interfaces. [0]", chan);
-  cmd.AddValue ("pcap",   "Enable PCAP traces on interfaces. [0]", pcap);
-  cmd.AddValue ("seed",   "Seed value", seed);
-  cmd.AddValue ("stack",  "Type of protocol stack. ns3::Dot11sStack by default", stack);
-  cmd.AddValue ("root", "Mac address of root mesh point", root);
+  cmd.AddValue ("x-size", "Number of nodes in a row grid. [6]", m_xSize);
+  cmd.AddValue ("y-size", "Number of rows in a grid. [6]", m_ySize);
+  cmd.AddValue ("m_step",   "Size of edge in our grid, meters. [100 m]", m_step);
+  cmd.AddValue ("start",  "Maximum random start delay, seconds. [0.1 s]", m_randomStart);
+  cmd.AddValue ("time",  "Simulation time, seconds [100 s]", m_totalTime);
+  cmd.AddValue ("packet-interval",  "Interval between packets, seconds [0.001 s]", m_packetInterval);
+  cmd.AddValue ("packet-size",  "Size of packets", m_packetSize);
+  cmd.AddValue ("interfaces", "Number of radio interfaces used by each mesh point. [1]", m_nIfaces);
+  cmd.AddValue ("m_channels",   "Use different frequency m_channels for different interfaces. [0]", m_chan);
+  cmd.AddValue ("m_pcap",   "Enable PCAP traces on interfaces. [0]", m_pcap);
+  cmd.AddValue ("m_stack",  "Type of protocol m_stack. ns3::Dot11sStack by default", m_stack);
+  cmd.AddValue ("m_root", "Mac address of m_root mesh point", m_root);
   
   cmd.Parse (argc, argv);
-  NS_LOG_DEBUG ("Grid:" << xSize << "*" << ySize);
-  NS_LOG_DEBUG ("Simulation time: " << totalTime << " s");
-  SeedManager::SetSeed(seed);
+  NS_LOG_DEBUG ("Grid:" << m_xSize << "*" << m_ySize);
+  NS_LOG_DEBUG ("Simulation time: " << m_totalTime << " s");
 }
 void
 MeshTest::CreateNodes ()
 { 
-  nodes.Create (ySize*xSize);
-  // Setting channel
+  nodes.Create (m_ySize*m_xSize);
+  // Setting m_channel
   YansWifiPhyHelper wifiPhy = YansWifiPhyHelper::Default ();
   YansWifiChannelHelper wifiChannel = YansWifiChannelHelper::Default ();
   wifiPhy.SetChannel (wifiChannel.Create ());
   // Install mesh point devices & protocols
-  mesh.SetStackInstaller (stack, "Root", Mac48AddressValue (Mac48Address (root.c_str ())));
-  mesh.SetSpreadInterfaceChannels (chan);
+  mesh.SetStackInstaller (m_stack, "Root", Mac48AddressValue (Mac48Address (m_root.c_str ())));
+  mesh.SetSpreadInterfaceChannels (m_chan);
   MeshInterfaceHelper interface = MeshInterfaceHelper::Default ();
-  interface.SetType ("RandomStart", TimeValue (Seconds(randomStart)));
+  interface.SetType ("RandomStart", TimeValue (Seconds(m_randomStart)));
 
-  meshDevices = mesh.Install (wifiPhy, interface, nodes, nIfaces);
+  meshDevices = mesh.Install (wifiPhy, interface, nodes, m_nIfaces);
   // Setup mobility
   MobilityHelper mobility;
   mobility.SetPositionAllocator ("ns3::GridPositionAllocator",
                                  "MinX", DoubleValue (0.0),
                                  "MinY", DoubleValue (0.0),
-                                 "DeltaX", DoubleValue (step),
-                                 "DeltaY", DoubleValue (step),
-                                 "GridWidth", UintegerValue (xSize),
+                                 "DeltaX", DoubleValue (m_step),
+                                 "DeltaY", DoubleValue (m_step),
+                                 "GridWidth", UintegerValue (m_xSize),
                                  "LayoutType", StringValue ("RowFirst"));
   mobility.SetMobilityModel ("ns3::ConstantPositionMobilityModel");
   mobility.Install (nodes);
-  if (pcap)
+  if (m_pcap)
     wifiPhy.EnablePcapAll (std::string ("mp-"));
 }
 void
 MeshTest::InstallInternetStack ()
 {
-  InternetStackHelper stack;
-  stack.Install (nodes);
+  InternetStackHelper m_stack;
+  m_stack.Install (nodes);
   Ipv4AddressHelper address;
   address.SetBase ("10.1.1.0", "255.255.255.0");
   interfaces = address.Assign (meshDevices);
@@ -161,14 +157,14 @@
   UdpEchoServerHelper echoServer (9);
   ApplicationContainer serverApps = echoServer.Install (nodes.Get (0));
   serverApps.Start (Seconds (0.0));
-  serverApps.Stop (Seconds (totalTime));
+  serverApps.Stop (Seconds (m_totalTime));
   UdpEchoClientHelper echoClient (interfaces.GetAddress (0), 9);
-  echoClient.SetAttribute ("MaxPackets", UintegerValue ((uint32_t)(totalTime*(1/packetInterval))));
-  echoClient.SetAttribute ("Interval", TimeValue (Seconds (packetInterval)));
-  echoClient.SetAttribute ("PacketSize", UintegerValue (packetSize));
-  ApplicationContainer clientApps = echoClient.Install (nodes.Get (xSize*ySize-1));
+  echoClient.SetAttribute ("MaxPackets", UintegerValue ((uint32_t)(m_totalTime*(1/m_packetInterval))));
+  echoClient.SetAttribute ("Interval", TimeValue (Seconds (m_packetInterval)));
+  echoClient.SetAttribute ("PacketSize", UintegerValue (m_packetSize));
+  ApplicationContainer clientApps = echoClient.Install (nodes.Get (m_xSize*m_ySize-1));
   clientApps.Start (Seconds (0.0));
-  clientApps.Stop (Seconds (totalTime));
+  clientApps.Stop (Seconds (m_totalTime));
 }
 int
 MeshTest::Run ()
@@ -176,8 +172,8 @@
   CreateNodes ();
   InstallInternetStack ();
   InstallApplication ();
-  Simulator::Schedule (Seconds(totalTime), & MeshTest::Report, this);
-  Simulator::Stop (Seconds (totalTime));
+  Simulator::Schedule (Seconds(m_totalTime), & MeshTest::Report, this);
+  Simulator::Stop (Seconds (m_totalTime));
   Simulator::Run ();
   Simulator::Destroy ();
   return 0;
--- a/src/devices/mesh/dot11s/airtime-metric.cc	Thu Aug 20 18:33:57 2009 +0400
+++ b/src/devices/mesh/dot11s/airtime-metric.cc	Fri Aug 21 23:33:52 2009 +0400
@@ -30,27 +30,27 @@
   static TypeId tid = TypeId ("ns3::dot11s::AirtimeLinkMetricCalculator")
     .SetParent<Object> ()
     .AddConstructor<AirtimeLinkMetricCalculator> ()
-    .AddAttribute ( "overheadNanosec",
+    .AddAttribute ( "OverheadNanosec",
                     "Overhead expressed in nanoseconds:DIFS+ 2* SIFS + 2* PREAMBLE + 2* ACK",
                     UintegerValue (108000),
                     MakeUintegerAccessor (&AirtimeLinkMetricCalculator::m_overheadNanosec),
                     MakeUintegerChecker<uint32_t> (1)
                   )
-    .AddAttribute ( "testLengt",
+    .AddAttribute ( "TestLengt",
                     "Rate should be estimated using test length.",
                      UintegerValue (1024),
                      MakeUintegerAccessor (
                          &AirtimeLinkMetricCalculator::m_testLength),
                      MakeUintegerChecker<uint16_t> (1)
                   )
-    .AddAttribute ( "dot11HeaderLengt",
+    .AddAttribute ( "Dot11HeaderLengt",
                     "Length of the 802.11 header",
                     UintegerValue (36),
                     MakeUintegerAccessor (
                         &AirtimeLinkMetricCalculator::m_headerLength),
                     MakeUintegerChecker<uint16_t> (0)
                   )
-    .AddAttribute ( "dot11sHeaderLength",
+    .AddAttribute ( "Dot11sHeaderLength",
                     "Length of the mesh header",
                     UintegerValue (6),
                     MakeUintegerAccessor (
--- a/src/devices/mesh/dot11s/airtime-metric.h	Thu Aug 20 18:33:57 2009 +0400
+++ b/src/devices/mesh/dot11s/airtime-metric.h	Fri Aug 21 23:33:52 2009 +0400
@@ -41,10 +41,10 @@
  */
 class AirtimeLinkMetricCalculator : public Object
 {
-  public:
-    static TypeId GetTypeId ();
-    uint32_t CalculateMetric (Mac48Address peerAddress, Ptr<MeshWifiInterfaceMac> mac);
-  private:
+public:
+  static TypeId GetTypeId ();
+  uint32_t CalculateMetric (Mac48Address peerAddress, Ptr<MeshWifiInterfaceMac> mac);
+private:
   //\brief Overhead expressed in nanoseconds:DIFS+ 2* SIFS + 2*PREAMBLE + 2* ACK
   uint32_t m_overheadNanosec;
   ///\brief Bt value
--- a/src/devices/mesh/dot11s/hwmp-protocol-mac.cc	Thu Aug 20 18:33:57 2009 +0400
+++ b/src/devices/mesh/dot11s/hwmp-protocol-mac.cc	Fri Aug 21 23:33:52 2009 +0400
@@ -430,20 +430,20 @@
 HwmpProtocolMac::Statistics::Print (std::ostream & os) const
 {
   os << "<Statistics "
-    "txPreq= \"" << txPreq << "\"\n"
-    "txPrep=\"" << txPrep << "\"\n"
-    "txPerr=\"" << txPerr << "\"\n"
-    "rxPreq=\"" << rxPreq << "\"\n"
-    "rxPrep=\"" << rxPrep << "\"\n"
-    "rxPerr=\"" << rxPerr << "\"\n"
-    "txMgt=\"" << txMgt << "\"\n"
-    "txMgtBytes=\"" << txMgtBytes << "\"\n"
-    "rxMgt=\"" << rxMgt << "\"\n"
-    "rxMgtBytes=\"" << rxMgtBytes << "\"\n"
-    "txData=\"" << txData << "\"\n"
-    "txDataBytes=\"" << txDataBytes << "\"\n"
-    "rxData=\"" << rxData << "\"\n"
-    "rxDataBytes=\"" << rxDataBytes << "\"/>\n";
+    "txPreq= \"" << txPreq << "\"" << std::endl <<
+    "txPrep=\"" << txPrep << "\"" << std::endl <<
+    "txPerr=\"" << txPerr << "\"" << std::endl <<
+    "rxPreq=\"" << rxPreq << "\"" << std::endl <<
+    "rxPrep=\"" << rxPrep << "\"" << std::endl <<
+    "rxPerr=\"" << rxPerr << "\"" << std::endl <<
+    "txMgt=\"" << txMgt << "\"" << std::endl <<
+    "txMgtBytes=\"" << txMgtBytes << "\"" << std::endl <<
+    "rxMgt=\"" << rxMgt << "\"" << std::endl <<
+    "rxMgtBytes=\"" << rxMgtBytes << "\"" << std::endl <<
+    "txData=\"" << txData << "\"" << std::endl <<
+    "txDataBytes=\"" << txDataBytes << "\"" << std::endl <<
+    "rxData=\"" << rxData << "\"" << std::endl <<
+    "rxDataBytes=\"" << rxDataBytes << "\"/>" << std::endl;
 }
 void
 HwmpProtocolMac::Report (std::ostream & os) const
--- a/src/devices/mesh/dot11s/hwmp-protocol.cc	Thu Aug 20 18:33:57 2009 +0400
+++ b/src/devices/mesh/dot11s/hwmp-protocol.cc	Fri Aug 21 23:33:52 2009 +0400
@@ -60,55 +60,55 @@
                         &HwmpProtocol::m_maxQueueSize),
                     MakeUintegerChecker<uint16_t> (1)
                   )
-    .AddAttribute ( "dot11MeshHWMPmaxPREQretries",
+    .AddAttribute ( "Dot11MeshHWMPmaxPREQretries",
                     "Maximum number of retries before we suppose the destination to be unreachable",
                     UintegerValue (3),
                     MakeUintegerAccessor (
                         &HwmpProtocol::m_dot11MeshHWMPmaxPREQretries),
                     MakeUintegerChecker<uint8_t> (1)
                    )
-    .AddAttribute ( "dot11MeshHWMPnetDiameterTraversalTime",
+    .AddAttribute ( "Dot11MeshHWMPnetDiameterTraversalTime",
                     "Time we suppose the packet to go from one edge of the network to another",
                     TimeValue (MicroSeconds (1024*100)),
                     MakeTimeAccessor (
                         &HwmpProtocol::m_dot11MeshHWMPnetDiameterTraversalTime),
                     MakeTimeChecker ()
                   )
-    .AddAttribute ( "dot11MeshHWMPpreqMinInterval",
+    .AddAttribute ( "Dot11MeshHWMPpreqMinInterval",
                     "Minimal interval between to successive PREQs",
                     TimeValue (MicroSeconds (1024*100)),
                     MakeTimeAccessor (
                         &HwmpProtocol::m_dot11MeshHWMPpreqMinInterval),
                     MakeTimeChecker ()
                   )
-    .AddAttribute ( "dot11MeshHWMPperrMinInterval",
+    .AddAttribute ( "Dot11MeshHWMPperrMinInterval",
                     "Minimal interval between to successive PREQs",
                     TimeValue (MicroSeconds (1024*100)),
                     MakeTimeAccessor (&HwmpProtocol::m_dot11MeshHWMPperrMinInterval),
                     MakeTimeChecker ()
                   )
-    .AddAttribute ( "dot11MeshHWMPactiveRootTimeout",
+    .AddAttribute ( "Dot11MeshHWMPactiveRootTimeout",
                     "Lifetime of poractive routing information",
                     TimeValue (MicroSeconds (1024*5000)),
                     MakeTimeAccessor (
                         &HwmpProtocol::m_dot11MeshHWMPactiveRootTimeout),
                     MakeTimeChecker ()
                   )
-    .AddAttribute ( "dot11MeshHWMPactivePathTimeout",
+    .AddAttribute ( "Dot11MeshHWMPactivePathTimeout",
                      "Lifetime of reactive routing information",
                       TimeValue (MicroSeconds (1024*5000)),
                       MakeTimeAccessor (
                           &HwmpProtocol::m_dot11MeshHWMPactivePathTimeout),
                       MakeTimeChecker ()
                   )
-    .AddAttribute ( "dot11MeshHWMPpathToRootInterval",
+    .AddAttribute ( "Dot11MeshHWMPpathToRootInterval",
                     "Interval between two successive proactive PREQs",
                     TimeValue (MicroSeconds (1024*2000)),
                     MakeTimeAccessor (
                         &HwmpProtocol::m_dot11MeshHWMPpathToRootInterval),
                     MakeTimeChecker ()
                   )
-    .AddAttribute ( "dot11MeshHWMPrannInterval",
+    .AddAttribute ( "Dot11MeshHWMPrannInterval",
                     "Lifetime of poractive routing information",
                     TimeValue (MicroSeconds (1024*5000)),
                     MakeTimeAccessor (
@@ -898,18 +898,18 @@
   //Send all packets stored for this destination
   QueuedPacket packet = DequeueFirstPacketByDst (dst);
   while (packet.pkt != 0)
-  {
-    //set RA tag for retransmitter:
-    HwmpTag tag;
-    packet.pkt->RemovePacketTag (tag);
-    tag.SetAddress (result.retransmitter);
-    packet.pkt->AddPacketTag (tag);
-    m_stats.txUnicast ++;
-    m_stats.txBytes += packet.pkt->GetSize ();
-    packet.reply (true, packet.pkt, packet.src, packet.dst, packet.protocol, result.ifIndex);
+    {
+      //set RA tag for retransmitter:
+      HwmpTag tag;
+      packet.pkt->RemovePacketTag (tag);
+      tag.SetAddress (result.retransmitter);
+      packet.pkt->AddPacketTag (tag);
+      m_stats.txUnicast ++;
+      m_stats.txBytes += packet.pkt->GetSize ();
+      packet.reply (true, packet.pkt, packet.src, packet.dst, packet.protocol, result.ifIndex);
 
-    packet = DequeueFirstPacketByDst (dst);
-  }
+      packet = DequeueFirstPacketByDst (dst);
+    }
 }
 void
 HwmpProtocol::ProactivePathResolved ()
@@ -919,21 +919,21 @@
   NS_ASSERT (result.retransmitter != Mac48Address::GetBroadcast ());
   QueuedPacket packet = DequeueFirstPacket ();
   while (packet.pkt != 0)
-  {
-    //set RA tag for retransmitter:
-    HwmpTag tag;
-    if (!packet.pkt->RemovePacketTag (tag))
-      {
-        NS_FATAL_ERROR ("HWMP tag must be present at this point");
-      }
-    tag.SetAddress (result.retransmitter);
-    packet.pkt->AddPacketTag (tag);
-    m_stats.txUnicast ++;
-    m_stats.txBytes += packet.pkt->GetSize ();
-    packet.reply (true, packet.pkt, packet.src, packet.dst, packet.protocol, result.ifIndex);
+    {
+      //set RA tag for retransmitter:
+      HwmpTag tag;
+      if (!packet.pkt->RemovePacketTag (tag))
+        {
+          NS_FATAL_ERROR ("HWMP tag must be present at this point");
+        }
+      tag.SetAddress (result.retransmitter);
+      packet.pkt->AddPacketTag (tag);
+      m_stats.txUnicast ++;
+      m_stats.txBytes += packet.pkt->GetSize ();
+      packet.reply (true, packet.pkt, packet.src, packet.dst, packet.protocol, result.ifIndex);
 
-    packet = DequeueFirstPacket ();
-  }
+      packet = DequeueFirstPacket ();
+    }
 }
 
 bool
@@ -1107,28 +1107,28 @@
 HwmpProtocol::Report (std::ostream & os) const
 {
   os << "<Hwmp "
-    "address=\"" << m_address << "\"\n"
-    "maxQueueSize=\"" << m_maxQueueSize << "\"\n"
-    "dot11MeshHWMPmaxPREQretries=\"" << (uint16_t)m_dot11MeshHWMPmaxPREQretries << "\"\n"
-    "dot11MeshHWMPnetDiameterTraversalTime=\"" << m_dot11MeshHWMPnetDiameterTraversalTime.GetSeconds () << "\"\n"
-    "dot11MeshHWMPpreqMinInterval=\"" << m_dot11MeshHWMPpreqMinInterval.GetSeconds () << "\"\n"
-    "dot11MeshHWMPperrMinInterval=\"" << m_dot11MeshHWMPperrMinInterval.GetSeconds () << "\"\n"
-    "dot11MeshHWMPactiveRootTimeout=\"" << m_dot11MeshHWMPactiveRootTimeout.GetSeconds () << "\"\n"
-    "dot11MeshHWMPactivePathTimeout=\"" << m_dot11MeshHWMPactivePathTimeout.GetSeconds () << "\"\n"
-    "dot11MeshHWMPpathToRootInterval=\"" << m_dot11MeshHWMPpathToRootInterval.GetSeconds () << "\"\n"
-    "dot11MeshHWMPrannInterval=\"" << m_dot11MeshHWMPrannInterval.GetSeconds () << "\"\n"
-    "isRoot=\"" << m_isRoot << "\"\n"
-    "maxTtl=\"" << (uint16_t)m_maxTtl << "\"\n"
-    "unicastPerrThreshold=\"" << (uint16_t)m_unicastPerrThreshold << "\"\n"
-    "unicastPreqThreshold=\"" << (uint16_t)m_unicastPreqThreshold << "\"\n"
-    "unicastDataThreshold=\"" << (uint16_t)m_unicastDataThreshold << "\"\n"
-    "doFlag=\"" << m_doFlag << "\"\n"
-    "rfFlag=\"" << m_rfFlag << "\">\n";
+    "address=\"" << m_address << "\"" << std::endl <<
+    "maxQueueSize=\"" << m_maxQueueSize << "\"" << std::endl <<
+    "Dot11MeshHWMPmaxPREQretries=\"" << (uint16_t)m_dot11MeshHWMPmaxPREQretries << "\"" << std::endl <<
+    "Dot11MeshHWMPnetDiameterTraversalTime=\"" << m_dot11MeshHWMPnetDiameterTraversalTime.GetSeconds () << "\"" << std::endl <<
+    "Dot11MeshHWMPpreqMinInterval=\"" << m_dot11MeshHWMPpreqMinInterval.GetSeconds () << "\"" << std::endl <<
+    "Dot11MeshHWMPperrMinInterval=\"" << m_dot11MeshHWMPperrMinInterval.GetSeconds () << "\"" << std::endl <<
+    "Dot11MeshHWMPactiveRootTimeout=\"" << m_dot11MeshHWMPactiveRootTimeout.GetSeconds () << "\"" << std::endl <<
+    "Dot11MeshHWMPactivePathTimeout=\"" << m_dot11MeshHWMPactivePathTimeout.GetSeconds () << "\"" << std::endl <<
+    "Dot11MeshHWMPpathToRootInterval=\"" << m_dot11MeshHWMPpathToRootInterval.GetSeconds () << "\"" << std::endl <<
+    "Dot11MeshHWMPrannInterval=\"" << m_dot11MeshHWMPrannInterval.GetSeconds () << "\"" << std::endl <<
+    "isRoot=\"" << m_isRoot << "\"" << std::endl <<
+    "maxTtl=\"" << (uint16_t)m_maxTtl << "\"" << std::endl <<
+    "unicastPerrThreshold=\"" << (uint16_t)m_unicastPerrThreshold << "\"" << std::endl <<
+    "unicastPreqThreshold=\"" << (uint16_t)m_unicastPreqThreshold << "\"" << std::endl <<
+    "unicastDataThreshold=\"" << (uint16_t)m_unicastDataThreshold << "\"" << std::endl <<
+    "doFlag=\"" << m_doFlag << "\"" << std::endl <<
+    "rfFlag=\"" << m_rfFlag << "\">" << std::endl;
   m_stats.Print (os);
   for (HwmpProtocolMacMap::const_iterator plugin = m_interfaces.begin (); plugin != m_interfaces.end (); plugin ++)
-  {
-    plugin->second->Report (os);
-  }
+    {
+      plugin->second->Report (os);
+    }
   os << "</Hwmp>\n";
 }
 void
@@ -1137,7 +1137,7 @@
   m_stats = Statistics::Statistics ();
   for (HwmpProtocolMacMap::const_iterator plugin = m_interfaces.begin (); plugin != m_interfaces.end (); plugin ++)
     {
-    plugin->second->ResetStats ();
+      plugin->second->ResetStats ();
     }
 }
 HwmpProtocol::QueuedPacket::QueuedPacket () :
--- a/src/devices/mesh/dot11s/hwmp-protocol.h	Thu Aug 20 18:33:57 2009 +0400
+++ b/src/devices/mesh/dot11s/hwmp-protocol.h	Fri Aug 21 23:33:52 2009 +0400
@@ -149,13 +149,39 @@
   };
 
   ///\name Methods related to Queue/Dequeue procedures
-  //\{
+  ///\{
   bool QueuePacket (QueuedPacket packet);
   QueuedPacket  DequeueFirstPacketByDst (Mac48Address dst);
   QueuedPacket  DequeueFirstPacket ();
   void ReactivePathResolved (Mac48Address dst);
   void ProactivePathResolved ();
-  //\}
+  ///\}
+  ///\name Methods responsible for path discovery retry procedure:
+  ///\{
+  /**
+   * \brief checks when the last path discovery procedure was started for a given destination.
+   *
+   * If the retry counter has not achieved the maximum level - preq should not be sent
+   */
+  bool  ShouldSendPreq (Mac48Address dst);
+
+  /**
+   * \brief Generates PREQ retry when retry timeout has expired and route is still unresolved.
+   *
+   * When PREQ retry has achieved the maximum level - retry mechanish should be cancelled
+   */
+  void  RetryPathDiscovery (Mac48Address dst, uint8_t numOfRetry);
+  ///\}
+
+  ///\name Proactive Preq routines:
+  ///\{
+  void SendProactivePreq ();
+  ///\}
+  ///\return address of MeshPointDevice
+  Mac48Address GetAddress ();
+private:
+  typedef std::map<uint32_t, Ptr<HwmpProtocolMac> > HwmpProtocolMacMap;
+  HwmpProtocolMacMap m_interfaces;
   ///\name Statistics:
   ///\{
   struct Statistics
@@ -175,62 +201,36 @@
   };
   Statistics m_stats;
   ///\}
-  ///\name Methods responsible for path discovery retry procedure:
-  //\{
-  /**
-   * \brief checks when the last path discovery procedure was started for a given destination.
-   *
-   * If the retry counter has not achieved the maximum level - preq should not be sent
-   */
-  bool  ShouldSendPreq (Mac48Address dst);
-
-  /**
-   * \brief Generates PREQ retry when retry timeout has expired and route is still unresolved.
-   *
-   * When PREQ retry has achieved the maximum level - retry mechanish should be cancelled
-   */
-  void  RetryPathDiscovery (Mac48Address dst, uint8_t numOfRetry);
-  //\}
-
-  ///\name Proactive Preq routines:
-  //\{
-  void SendProactivePreq ();
-  //\}
-  ///\return address of MeshPointDevice
-  Mac48Address GetAddress ();
-private:
-  typedef std::map<uint32_t, Ptr<HwmpProtocolMac> > HwmpProtocolMacMap;
-  HwmpProtocolMacMap m_interfaces;
   Mac48Address m_address;
   uint32_t m_dataSeqno;
   uint32_t m_hwmpSeqno;
   uint32_t m_preqId;
   ///\name Sequence number filters
-  //\{
+  ///\{
   /// Data sequence number database
   std::map<Mac48Address, uint32_t> m_lastDataSeqno;
   /// DSN databse
   std::map<Mac48Address, uint32_t> m_lastHwmpSeqno;
   /// Metric database
   std::map<Mac48Address, uint32_t> m_lastHwmpMetric;
-  //\}
+  ///\}
 
   /// Routing table
   Ptr<HwmpRtable> m_rtable;
 
   ///\name Timers:
-  //\{
+  ///\{
   std::map<Mac48Address, EventId> m_preqTimeouts;
   EventId m_proactivePreqTimer;
   //Random start in Proactive PREQ propagation
   Time m_randomStart;
-  //\}
+  ///\}
 
   /// Packet Queue
   std::vector<QueuedPacket> m_rqueue;
 private:
   ///\name HWMP-protocol parameters (attributes of GetTypeId)
-  //\{
+  ///\{
   uint16_t m_maxQueueSize;
   uint8_t m_dot11MeshHWMPmaxPREQretries;
   Time m_dot11MeshHWMPnetDiameterTraversalTime;
@@ -247,10 +247,10 @@
   uint8_t m_unicastDataThreshold;
   bool m_doFlag;
   bool m_rfFlag;
-  //\}
+  ///\}
 
   ///\name Methods needed by HwmpMacLugin to access protocol parameters:
-  //\{
+  ///\{
   bool GetDoFlag ();
   bool GetRfFlag ();
   Time GetPreqMinInterval ();
@@ -260,7 +260,7 @@
   uint32_t GetNextHwmpSeqno ();
   uint32_t GetActivePathLifetime ();
   uint8_t GetUnicastPerrThreshold ();
-  //\}
+  ///\}
   Callback <std::vector<Mac48Address>, uint32_t> m_neighboursCallback;
 };
 } //namespace dot11s
--- a/src/devices/mesh/dot11s/ie-dot11s-beacon-timing.cc	Thu Aug 20 18:33:57 2009 +0400
+++ b/src/devices/mesh/dot11s/ie-dot11s-beacon-timing.cc	Fri Aug 21 23:33:52 2009 +0400
@@ -110,9 +110,7 @@
   m_numOfUnits++;
 }
 void
-IeBeaconTiming::DelNeighboursTimingElementUnit (uint16_t aid, Time last_beacon, //MicroSeconds!
-    Time beacon_interval //MicroSeconds!
-)
+IeBeaconTiming::DelNeighboursTimingElementUnit (uint16_t aid, Time last_beacon, Time beacon_interval)
 {
   for (NeighboursTimingUnitsList::iterator i = m_neighbours.begin (); i != m_neighbours.end (); i++)
     {
@@ -200,8 +198,6 @@
 {
   return (uint8_t) (x & 0xff);
 }
-;
-
 bool
 operator== (const IeBeaconTimingUnit & a, const IeBeaconTimingUnit & b)
 {
--- a/src/devices/mesh/dot11s/ie-dot11s-beacon-timing.h	Thu Aug 20 18:33:57 2009 +0400
+++ b/src/devices/mesh/dot11s/ie-dot11s-beacon-timing.h	Fri Aug 21 23:33:52 2009 +0400
@@ -84,11 +84,11 @@
   );
   void   ClearTimingElement ();
 private:
-  WifiElementId ElementId () const;
-  uint8_t  GetInformationSize () const;
-  void SerializeInformation (Buffer::Iterator i) const;
-  uint8_t DeserializeInformation (Buffer::Iterator i, uint8_t length);
-  void PrintInformation (std::ostream& os) const;
+  virtual WifiElementId ElementId () const;
+  virtual uint8_t  GetInformationSize () const;
+  virtual void SerializeInformation (Buffer::Iterator i) const;
+  virtual uint8_t DeserializeInformation (Buffer::Iterator i, uint8_t length);
+  virtual void PrintInformation (std::ostream& os) const;
   /**
    * Converters:
    */
--- a/src/devices/mesh/dot11s/ie-dot11s-configuration.cc	Thu Aug 20 18:33:57 2009 +0400
+++ b/src/devices/mesh/dot11s/ie-dot11s-configuration.cc	Fri Aug 21 23:33:52 2009 +0400
@@ -25,18 +25,18 @@
 namespace ns3 {
 namespace dot11s {
 
-dot11sMeshCapability::dot11sMeshCapability () :
+Dot11sMeshCapability::Dot11sMeshCapability () :
   acceptPeerLinks (true), MCCASupported (false), MCCAEnabled (false), forwarding (true), beaconTimingReport (
       true), TBTTAdjustment (true), powerSaveLevel (false)
 {
 }
 uint8_t
-dot11sMeshCapability::GetSerializedSize () const
+Dot11sMeshCapability::GetSerializedSize () const
 {
   return 2;
 }
 uint16_t
-dot11sMeshCapability::GetUint16 () const
+Dot11sMeshCapability::GetUint16 () const
 {
   uint16_t result = 0;
   if (acceptPeerLinks)
@@ -70,13 +70,13 @@
   return result;
 }
 Buffer::Iterator
-dot11sMeshCapability::Serialize (Buffer::Iterator i) const
+Dot11sMeshCapability::Serialize (Buffer::Iterator i) const
 {
   i.WriteHtolsbU16 (GetUint16 ());
   return i;
 }
 Buffer::Iterator
-dot11sMeshCapability::Deserialize (Buffer::Iterator i)
+Dot11sMeshCapability::Deserialize (Buffer::Iterator i)
 {
   uint16_t cap = i.ReadLsbtohU16 ();
   acceptPeerLinks = Is (cap, 0);
@@ -89,7 +89,7 @@
   return i;
 }
 bool
-dot11sMeshCapability::Is (uint16_t cap, uint8_t n) const
+Dot11sMeshCapability::Is (uint16_t cap, uint8_t n) const
 {
   uint16_t mask = 1 << n;
   return (cap & mask);
@@ -193,13 +193,13 @@
 {
   return m_neighbors;
 }
-dot11sMeshCapability const&
+Dot11sMeshCapability const&
 IeConfiguration::MeshCapability ()
 {
   return m_meshCap;
 }
 bool
-operator== (const dot11sMeshCapability & a, const dot11sMeshCapability & b)
+operator== (const Dot11sMeshCapability & a, const Dot11sMeshCapability & b)
 {
   return ((a.acceptPeerLinks == b.acceptPeerLinks) && (a.MCCASupported == b.MCCASupported) && (a.MCCAEnabled
       == b.MCCAEnabled) && (a.forwarding == b.forwarding) && (a.beaconTimingReport == b.beaconTimingReport)
--- a/src/devices/mesh/dot11s/ie-dot11s-configuration.h	Thu Aug 20 18:33:57 2009 +0400
+++ b/src/devices/mesh/dot11s/ie-dot11s-configuration.h	Fri Aug 21 23:33:52 2009 +0400
@@ -74,10 +74,10 @@
  * \ingroup dot11s
  * \brief See 7.3.2.86.7 in 802.11s draft 3.0
  */
-class dot11sMeshCapability
+class Dot11sMeshCapability
 {
 public:
-  dot11sMeshCapability ();
+  Dot11sMeshCapability ();
   uint8_t  GetSerializedSize () const;
   Buffer::Iterator Serialize (Buffer::Iterator i) const;
   Buffer::Iterator Deserialize (Buffer::Iterator i);
@@ -90,7 +90,7 @@
   bool TBTTAdjustment;
   bool powerSaveLevel;
   bool Is (uint16_t cap,uint8_t n) const;
-  friend bool operator== (const dot11sMeshCapability & a, const dot11sMeshCapability & b);
+  friend bool operator== (const Dot11sMeshCapability & a, const Dot11sMeshCapability & b);
 };
 
 /**
@@ -109,13 +109,13 @@
   void SetNeighborCount (uint8_t neighbors);
   uint8_t GetNeighborCount ();
 
-  dot11sMeshCapability const& MeshCapability ();
+  Dot11sMeshCapability const& MeshCapability ();
 private:
-  WifiElementId ElementId () const;
-  uint8_t  GetInformationSize () const;
-  void SerializeInformation (Buffer::Iterator i) const;
-  uint8_t DeserializeInformation (Buffer::Iterator i, uint8_t length);
-  void PrintInformation (std::ostream& os) const;
+  virtual WifiElementId ElementId () const;
+  virtual uint8_t  GetInformationSize () const;
+  virtual void SerializeInformation (Buffer::Iterator i) const;
+  virtual uint8_t DeserializeInformation (Buffer::Iterator i, uint8_t length);
+  virtual void PrintInformation (std::ostream& os) const;
 private:
   /** Active Path Selection Protocol ID */
   dot11sPathSelectionProtocol m_APSPId;
@@ -127,12 +127,12 @@
   dot11sSynchronizationProtocolIdentifier m_SPId;
   /** Auth protocol ID */
   dot11sAuthenticationProtocol m_APId;
-  dot11sMeshCapability m_meshCap;
+  Dot11sMeshCapability m_meshCap;
   uint8_t m_neighbors;
   friend bool operator== (const IeConfiguration & a, const IeConfiguration & b);
 };
 bool operator== (const IeConfiguration & a, const IeConfiguration & b);
-bool operator== (const dot11sMeshCapability & a, const dot11sMeshCapability & b);
+bool operator== (const Dot11sMeshCapability & a, const Dot11sMeshCapability & b);
 } // namespace dot11s
 } //namespace ns3
 #endif
--- a/src/devices/mesh/dot11s/ie-dot11s-id.h	Thu Aug 20 18:33:57 2009 +0400
+++ b/src/devices/mesh/dot11s/ie-dot11s-id.h	Fri Aug 21 23:33:52 2009 +0400
@@ -44,11 +44,11 @@
   uint32_t GetLength (void) const;
   char *PeekString (void) const;
 private:
-  WifiElementId ElementId () const;
-  void SerializeInformation (Buffer::Iterator i) const;
-  uint8_t DeserializeInformation (Buffer::Iterator start, uint8_t length);
-  void PrintInformation (std::ostream& os) const;
-  uint8_t GetInformationSize () const;
+  virtual WifiElementId ElementId () const;
+  virtual void SerializeInformation (Buffer::Iterator i) const;
+  virtual uint8_t DeserializeInformation (Buffer::Iterator start, uint8_t length);
+  virtual void PrintInformation (std::ostream& os) const;
+  virtual uint8_t GetInformationSize () const;
 private:
   uint8_t m_meshId[33];
   friend bool operator== (const IeMeshId & a, const IeMeshId & b);
--- a/src/devices/mesh/dot11s/ie-dot11s-metric-report.h	Thu Aug 20 18:33:57 2009 +0400
+++ b/src/devices/mesh/dot11s/ie-dot11s-metric-report.h	Fri Aug 21 23:33:52 2009 +0400
@@ -39,11 +39,11 @@
   void SetMetric (uint32_t metric);
   uint32_t GetMetric ();
 private:
-  WifiElementId ElementId () const;
-  void SerializeInformation (Buffer::Iterator i) const;
-  uint8_t DeserializeInformation (Buffer::Iterator start, uint8_t length);
-  void PrintInformation (std::ostream& os) const;
-  uint8_t GetInformationSize () const;
+  virtual WifiElementId ElementId () const;
+  virtual void SerializeInformation (Buffer::Iterator i) const;
+  virtual uint8_t DeserializeInformation (Buffer::Iterator start, uint8_t length);
+  virtual void PrintInformation (std::ostream& os) const;
+  virtual uint8_t GetInformationSize () const;
 private:
   uint32_t m_metric;
   friend bool operator== (const IeLinkMetricReport & a, const IeLinkMetricReport & b);
--- a/src/devices/mesh/dot11s/ie-dot11s-peer-management.h	Thu Aug 20 18:33:57 2009 +0400
+++ b/src/devices/mesh/dot11s/ie-dot11s-peer-management.h	Fri Aug 21 23:33:52 2009 +0400
@@ -71,11 +71,11 @@
   bool   SubtypeIsConfirm () const ;
   uint8_t GetSubtype () const { return m_subtype;};
 private:
-  WifiElementId ElementId () const;
-  uint8_t  GetInformationSize (void) const;
-  void SerializeInformation (Buffer::Iterator i) const;
-  uint8_t DeserializeInformation (Buffer::Iterator i, uint8_t length);
-  void PrintInformation (std::ostream& os) const;
+  virtual WifiElementId ElementId () const;
+  virtual uint8_t  GetInformationSize (void) const;
+  virtual void SerializeInformation (Buffer::Iterator i) const;
+  virtual uint8_t DeserializeInformation (Buffer::Iterator i, uint8_t length);
+  virtual void PrintInformation (std::ostream& os) const;
 private:
   uint8_t m_length;
   uint8_t m_subtype;
--- a/src/devices/mesh/dot11s/ie-dot11s-peering-protocol.h	Thu Aug 20 18:33:57 2009 +0400
+++ b/src/devices/mesh/dot11s/ie-dot11s-peering-protocol.h	Fri Aug 21 23:33:52 2009 +0400
@@ -32,11 +32,11 @@
 public:
   IePeeringProtocol ();
 private:
-  WifiElementId ElementId () const;
-  uint8_t  GetInformationSize () const;
-  void SerializeInformation (Buffer::Iterator i) const;
-  uint8_t DeserializeInformation (Buffer::Iterator i, uint8_t length);
-  void PrintInformation (std::ostream& os) const;
+  virtual WifiElementId ElementId () const;
+  virtual uint8_t  GetInformationSize () const;
+  virtual void SerializeInformation (Buffer::Iterator i) const;
+  virtual uint8_t DeserializeInformation (Buffer::Iterator i, uint8_t length);
+  virtual void PrintInformation (std::ostream& os) const;
 private:
   uint8_t m_protocol;
 };
--- a/src/devices/mesh/dot11s/peer-link.cc	Thu Aug 20 18:33:57 2009 +0400
+++ b/src/devices/mesh/dot11s/peer-link.cc	Fri Aug 21 23:33:52 2009 +0400
@@ -676,16 +676,16 @@
     {
       return;
     }
-  os << "<PeerLink\n"
-    "localAddress=\"" << m_macPlugin->GetAddress () << "\"\n"
-    "peerInterfaceAddress=\"" << m_peerAddress << "\"\n"
-    "peerMeshPointAddress=\"" << m_peerMeshPointAddress << "\"\n"
-    "metric=\"" << m_macPlugin->GetLinkMetric (m_peerAddress) << "\"\n"
-    "lastBeacon=\"" << m_lastBeacon.GetSeconds () << "\"\n"
-    "localLinkId=\"" << m_localLinkId << "\"\n"
-    "peerLinkId=\"" << m_peerLinkId << "\"\n"
-    "assocId=\"" << m_assocId << "\"\n"
-    "/>\n";
+  os << "<PeerLink" << std::endl <<
+    "localAddress=\"" << m_macPlugin->GetAddress () << "\"" << std::endl <<
+    "peerInterfaceAddress=\"" << m_peerAddress << "\"" << std::endl <<
+    "peerMeshPointAddress=\"" << m_peerMeshPointAddress << "\"" << std::endl <<
+    "metric=\"" << m_macPlugin->GetLinkMetric (m_peerAddress) << "\"" << std::endl <<
+    "lastBeacon=\"" << m_lastBeacon.GetSeconds () << "\"" << std::endl <<
+    "localLinkId=\"" << m_localLinkId << "\"" << std::endl <<
+    "peerLinkId=\"" << m_peerLinkId << "\"" << std::endl <<
+    "assocId=\"" << m_assocId << "\"" << std::endl <<
+    "/>" << std::endl;
 }
 } // namespace dot11s
 } //namespace ns3
--- a/src/devices/mesh/dot11s/peer-management-protocol.cc	Thu Aug 20 18:33:57 2009 +0400
+++ b/src/devices/mesh/dot11s/peer-management-protocol.cc	Fri Aug 21 23:33:52 2009 +0400
@@ -542,7 +542,7 @@
   os << "<Statistics "
     "linksTotal=\"" << linksTotal << "\" "
     "linksOpened=\"" << linksOpened << "\" "
-    "linksClosed=\"" << linksClosed << "\"/>\n";
+    "linksClosed=\"" << linksClosed << "\"/>" << std::endl;
 }
 void
 PeerManagementProtocol::Report (std::ostream & os) const
--- a/src/devices/mesh/mesh-point-device.cc	Thu Aug 20 18:33:57 2009 +0400
+++ b/src/devices/mesh/mesh-point-device.cc	Fri Aug 21 23:33:52 2009 +0400
@@ -131,20 +131,6 @@
 }
 
 void
-MeshPointDevice::SetName (const std::string name)
-{
-  NS_LOG_FUNCTION_NOARGS ();
-  m_name = name;
-}
-
-std::string
-MeshPointDevice::GetName () const
-{
-  NS_LOG_FUNCTION_NOARGS ();
-  return m_name;
-}
-
-void
 MeshPointDevice::SetIfIndex (const uint32_t index)
 {
   NS_LOG_FUNCTION_NOARGS ();
@@ -452,20 +438,20 @@
 void
 MeshPointDevice::Report (std::ostream & os) const
 {
-  os << "<Statistics \n"
-    "txUnicastData=\"" << m_txStats.unicastData << "\"\n"
-    "txUnicastDataBytes=\"" << m_txStats.unicastDataBytes << "\"\n"
-    "txBroadcastData=\"" << m_txStats.broadcastData << "\"\n"
-    "txBroadcastDataBytes=\"" << m_txStats.broadcastDataBytes << "\"\n"
-    "rxUnicastData=\"" << m_rxStats.unicastData << "\"\n"
-    "rxUnicastDataBytes=\"" << m_rxStats.unicastDataBytes << "\"\n"
-    "rxBroadcastData=\"" << m_rxStats.broadcastData << "\"\n"
-    "rxBroadcastDataBytes=\"" << m_rxStats.broadcastDataBytes << "\"\n"
-    "fwdUnicastData=\"" << m_fwdStats.unicastData << "\"\n"
-    "fwdUnicastDataBytes=\"" << m_fwdStats.unicastDataBytes << "\"\n"
-    "fwdBroadcastData=\"" << m_fwdStats.broadcastData << "\"\n"
-    "fwdBroadcastDataBytes=\"" << m_fwdStats.broadcastDataBytes << "\"\n"
-    "/>\n";
+  os << "<Statistics" << std::endl <<
+    "txUnicastData=\"" << m_txStats.unicastData << "\"" << std::endl <<
+    "txUnicastDataBytes=\"" << m_txStats.unicastDataBytes << "\"" << std::endl <<
+    "txBroadcastData=\"" << m_txStats.broadcastData << "\"" << std::endl <<
+    "txBroadcastDataBytes=\"" << m_txStats.broadcastDataBytes << "\"" << std::endl <<
+    "rxUnicastData=\"" << m_rxStats.unicastData << "\"" << std::endl <<
+    "rxUnicastDataBytes=\"" << m_rxStats.unicastDataBytes << "\"" << std::endl <<
+    "rxBroadcastData=\"" << m_rxStats.broadcastData << "\"" << std::endl <<
+    "rxBroadcastDataBytes=\"" << m_rxStats.broadcastDataBytes << "\"" << std::endl <<
+    "fwdUnicastData=\"" << m_fwdStats.unicastData << "\"" << std::endl <<
+    "fwdUnicastDataBytes=\"" << m_fwdStats.unicastDataBytes << "\"" << std::endl <<
+    "fwdBroadcastData=\"" << m_fwdStats.broadcastData << "\"" << std::endl <<
+    "fwdBroadcastDataBytes=\"" << m_fwdStats.broadcastDataBytes << "\"" << std::endl <<
+    "/>" << std::endl;
 }
 
 void
--- a/src/devices/mesh/mesh-point-device.h	Thu Aug 20 18:33:57 2009 +0400
+++ b/src/devices/mesh/mesh-point-device.h	Fri Aug 21 23:33:52 2009 +0400
@@ -89,8 +89,6 @@
 
   ///\name NetDevice interface for upper layers
   //\{
-  virtual void SetName (const std::string name);
-  virtual std::string GetName () const;
   virtual void SetIfIndex (const uint32_t index);
   virtual uint32_t GetIfIndex () const;
   virtual Ptr<Channel> GetChannel () const;
@@ -157,8 +155,6 @@
   Mac48Address m_address;
   /// Parent node
   Ptr<Node> m_node;
-  /// Station name
-  std::string m_name;
   /// List of interfaces
   std::vector< Ptr<NetDevice> > m_ifaces;
   /// If index
--- a/src/devices/mesh/mesh-wifi-interface-mac.cc	Thu Aug 20 18:33:57 2009 +0400
+++ b/src/devices/mesh/mesh-wifi-interface-mac.cc	Fri Aug 21 23:33:52 2009 +0400
@@ -665,7 +665,7 @@
     "txFrames=\"" << sentFrames << "\" "
     "txBytes=\"" << sentBytes << "\" "
     "rxFrames=\"" << recvFrames << "\" "
-    "rxBytes=\"" << recvBytes << "\"/>\n";
+    "rxBytes=\"" << recvBytes << "\"/>" << std::endl;
 }
 void
 MeshWifiInterfaceMac::Report (std::ostream & os) const
@@ -673,9 +673,9 @@
   os << "<Interface "
     "BeaconInterval=\"" << GetBeaconInterval ().GetSeconds () << "\" "
     "Channel=\"" << GetFrequencyChannel () << "\" "
-    "Address = \"" << GetAddress () << "\">\n";
+    "Address = \"" << GetAddress () << "\">" << std::endl;
   m_stats.Print (os);
-  os << "</Interface>\n";
+  os << "</Interface>" << std::endl;
 }
 void
 MeshWifiInterfaceMac::ResetStats ()
--- a/src/devices/mesh/wifi-information-element.h	Thu Aug 20 18:33:57 2009 +0400
+++ b/src/devices/mesh/wifi-information-element.h	Fri Aug 21 23:33:52 2009 +0400
@@ -144,7 +144,7 @@
   /// Own unique Element ID
   virtual WifiElementId ElementId () const = 0;
   /// Length of serialized information
-protected:
+private:
   virtual uint8_t GetInformationSize () const = 0;
   /// Serialize information
   virtual void SerializeInformation (Buffer::Iterator start) const = 0;