diff --git a/src/devices/mesh/dot11s/hwmp-protocol-mac.cc b/src/devices/mesh/dot11s/hwmp-protocol-mac.cc index e74a0e83c..fc8986a27 100644 --- a/src/devices/mesh/dot11s/hwmp-protocol-mac.cc +++ b/src/devices/mesh/dot11s/hwmp-protocol-mac.cc @@ -334,13 +334,13 @@ HwmpProtocolMac::Statistics::Print (std::ostream & os) const "rxPrep=\"" << rxPrep << "\"\n" "rxPerr=\"" << rxPerr << "\"\n" "txMgt=\"" << txMgt << "\"\n" - "txMgtBytes=\"" << (double)txMgtBytes / 1024.0 << "K\"\n" + "txMgtBytes=\"" << txMgtBytes << "\"\n" "rxMgt=\"" << rxMgt << "\"\n" - "rxMgtBytes=\"" << (double)rxMgtBytes / 1204.0 << "K\"\n" + "rxMgtBytes=\"" << rxMgtBytes << "\"\n" "txData=\"" << txData << "\"\n" - "txDataBytes=\"" << (double)txDataBytes / 1024.0 << "K\"\n" + "txDataBytes=\"" << txDataBytes << "\"\n" "rxData=\"" << rxData << "\"\n" - "rxDataBytes=\"" << (double)rxDataBytes / 1024.0 << "K\"/>\n"; + "rxDataBytes=\"" << rxDataBytes << "\"/>\n"; } void HwmpProtocolMac::Report (std::ostream & os) const diff --git a/src/devices/mesh/dot11s/hwmp-protocol.cc b/src/devices/mesh/dot11s/hwmp-protocol.cc index 27ffc6ab8..eac08ce0f 100644 --- a/src/devices/mesh/dot11s/hwmp-protocol.cc +++ b/src/devices/mesh/dot11s/hwmp-protocol.cc @@ -961,7 +961,7 @@ void HwmpProtocol::Statistics::Print (std::ostream & os) const os << "\n"; @@ -973,13 +973,13 @@ HwmpProtocol::Report (std::ostream & os) const "address=\"" << m_address << "\"\n" "maxQueueSize=\"" << m_maxQueueSize << "\"\n" "dot11MeshHWMPmaxPREQretries=\"" << (uint16_t)m_dot11MeshHWMPmaxPREQretries << "\"\n" - "dot11MeshHWMPnetDiameterTraversalTime=\"" << m_dot11MeshHWMPnetDiameterTraversalTime.GetMilliSeconds () << "ms\"\n" - "dot11MeshHWMPpreqMinInterval=\"" << m_dot11MeshHWMPpreqMinInterval.GetMilliSeconds () << "ms\"\n" - "dot11MeshHWMPperrMinInterval=\"" << m_dot11MeshHWMPperrMinInterval.GetMilliSeconds () << "ms\"\n" - "dot11MeshHWMPactiveRootTimeout=\"" << m_dot11MeshHWMPactiveRootTimeout.GetMilliSeconds () << "ms\"\n" - "dot11MeshHWMPactivePathTimeout=\"" << m_dot11MeshHWMPactivePathTimeout.GetMilliSeconds () << "ms\"\n" - "dot11MeshHWMPpathToRootInterval=\"" << m_dot11MeshHWMPpathToRootInterval.GetMilliSeconds () << "ms\"\n" - "dot11MeshHWMPrannInterval=\"" << m_dot11MeshHWMPrannInterval.GetMilliSeconds () << "ms\"\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" diff --git a/src/devices/mesh/dot11s/peer-link.cc b/src/devices/mesh/dot11s/peer-link.cc index 293195587..9850aa9dd 100644 --- a/src/devices/mesh/dot11s/peer-link.cc +++ b/src/devices/mesh/dot11s/peer-link.cc @@ -602,15 +602,11 @@ PeerLink::Report (std::ostream & os) const "localAddress=\"" << m_macPlugin->GetAddress () << "\"\n" "peerInterfaceAddress=\"" << m_peerAddress << "\"\n" "peerMeshPointAddress=\"" << m_peerMeshPointAddress << "\"\n" - "metricOfTheLink=\"" << m_macPlugin->GetLinkMetric(m_peerAddress) << "\"\n" - "lastBeacon=\"" << m_lastBeacon.GetMilliSeconds () << "ms\"\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" - "dot11MeshMaxRetries=\"" << m_dot11MeshMaxRetries << "\"\n" - "dot11MeshRetryTimeout=\"" << m_dot11MeshRetryTimeout.GetMilliSeconds () << "ms\"\n" - "dot11MeshHoldingTimeout=\"" << m_dot11MeshHoldingTimeout.GetMilliSeconds () << "ms\"\n" - "dot11MeshConfirmTimeout=\"" << m_dot11MeshConfirmTimeout.GetMilliSeconds () << "ms\"\n" "/>\n"; } } // namespace dot11s diff --git a/src/devices/mesh/dot11s/peer-management-protocol-mac.cc b/src/devices/mesh/dot11s/peer-management-protocol-mac.cc index ec7de71e3..a76c2e842 100644 --- a/src/devices/mesh/dot11s/peer-management-protocol-mac.cc +++ b/src/devices/mesh/dot11s/peer-management-protocol-mac.cc @@ -289,9 +289,9 @@ PeerManagementProtocolMac::Statistics::Print (std::ostream & os) const "dropped=\"" << dropped << "\"\n" "brokenMgt=\"" << brokenMgt << "\"\n" "txMgt=\"" << txMgt << "\"\n" - "txMgtBytes=\"" << (double)txMgtBytes /1024.0 << "\"\n" + "txMgtBytes=\"" << txMgtBytes << "\"\n" "rxMgt=\"" << rxMgt << "\"\n" - "rxMgtBytes=\"" << (double)rxMgtBytes / 1024.0 << "K\"\n" + "rxMgtBytes=\"" << rxMgtBytes << "\"\n" "beaconShift=\"" << beaconShift << "\"/>\n"; } void diff --git a/src/devices/mesh/dot11s/peer-management-protocol.cc b/src/devices/mesh/dot11s/peer-management-protocol.cc index 2af2d02ae..52b495bb3 100644 --- a/src/devices/mesh/dot11s/peer-management-protocol.cc +++ b/src/devices/mesh/dot11s/peer-management-protocol.cc @@ -61,8 +61,7 @@ PeerManagementProtocol::GetTypeId (void) } PeerManagementProtocol::PeerManagementProtocol (): m_lastAssocId (0), - m_lastLocalLinkId (1), - m_numberOfActivePeers (0) + m_lastLocalLinkId (1) { } PeerManagementProtocol::~PeerManagementProtocol () @@ -345,9 +344,7 @@ PeerManagementProtocol::IsActiveLink (uint32_t interface, Mac48Address peerAddre bool PeerManagementProtocol::ShouldSendOpen (uint32_t interface, Mac48Address peerAddress) { - if (m_numberOfActivePeers > m_maxNumberOfPeerLinks) - return false; - return true; + return (m_stats.linksTotal <= m_maxNumberOfPeerLinks); } bool PeerManagementProtocol::ShouldAcceptOpen ( @@ -355,7 +352,7 @@ PeerManagementProtocol::ShouldAcceptOpen ( Mac48Address peerAddress, PmpReasonCode & reasonCode) { - if (m_numberOfActivePeers > m_maxNumberOfPeerLinks) + if (m_stats.linksTotal > m_maxNumberOfPeerLinks) { reasonCode = REASON11S_MESH_MAX_PEERS; return false; @@ -428,14 +425,14 @@ PeerManagementProtocol::PeerLinkStatus (uint32_t interface, Mac48Address peerAdd if((nstate == PeerLink::ESTAB) && (ostate != PeerLink::ESTAB)) { m_stats.linksOpened ++; - m_numberOfActivePeers ++; + m_stats.linksTotal++; if(!m_peerStatusCallback.IsNull ()) m_peerStatusCallback (peerMeshPointAddress, peerAddress, interface, true); } if((ostate == PeerLink::ESTAB) && (nstate != PeerLink::ESTAB)) { m_stats.linksClosed ++; - m_numberOfActivePeers --; + m_stats.linksTotal--; if(!m_peerStatusCallback.IsNull ()) m_peerStatusCallback (peerMeshPointAddress, peerAddress, interface, false); } @@ -448,7 +445,7 @@ PeerManagementProtocol::PeerLinkStatus (uint32_t interface, Mac48Address peerAdd uint8_t PeerManagementProtocol::GetNumberOfLinks () { - return m_numberOfActivePeers; + return m_stats.linksTotal; } Ptr PeerManagementProtocol::GetMeshId () const @@ -470,6 +467,7 @@ void PeerManagementProtocol::Statistics::Print (std::ostream & os) const { os << "\n"; } @@ -493,7 +491,7 @@ PeerManagementProtocol::Report (std::ostream & os) const void PeerManagementProtocol::ResetStats () { - m_stats = Statistics::Statistics (); + m_stats = Statistics::Statistics (m_stats.linksTotal); // don't reset number of links for(PeerManagementProtocolMacMap::const_iterator plugins = m_plugins.begin (); plugins != m_plugins.end (); plugins ++) plugins->second->ResetStats (); } diff --git a/src/devices/mesh/dot11s/peer-management-protocol.h b/src/devices/mesh/dot11s/peer-management-protocol.h index 3df63510c..e29d1c432 100644 --- a/src/devices/mesh/dot11s/peer-management-protocol.h +++ b/src/devices/mesh/dot11s/peer-management-protocol.h @@ -212,7 +212,6 @@ private: ///\} uint16_t m_lastAssocId; uint16_t m_lastLocalLinkId; - uint8_t m_numberOfActivePeers; //number of established peer links uint8_t m_maxNumberOfPeerLinks; /** * Peer Links @@ -232,10 +231,11 @@ private: ///\} //Keeps statistics struct Statistics { + uint16_t linksTotal; uint16_t linksOpened; uint16_t linksClosed; - Statistics () : linksOpened (0), linksClosed (0) {}; + Statistics (uint16_t t = 0) : linksTotal(t), linksOpened (0), linksClosed (0) {}; void Print (std::ostream & os) const; }; struct Statistics m_stats; diff --git a/src/devices/mesh/mesh-point-device.cc b/src/devices/mesh/mesh-point-device.cc index ec71ace74..fdd5e7b7b 100644 --- a/src/devices/mesh/mesh-point-device.cc +++ b/src/devices/mesh/mesh-point-device.cc @@ -424,17 +424,17 @@ MeshPointDevice::Report (std::ostream & os) const { os << "\n"; } diff --git a/src/devices/mesh/mesh-wifi-interface-mac.cc b/src/devices/mesh/mesh-wifi-interface-mac.cc index 30db7fea3..3ac6f77d4 100644 --- a/src/devices/mesh/mesh-wifi-interface-mac.cc +++ b/src/devices/mesh/mesh-wifi-interface-mac.cc @@ -648,17 +648,18 @@ void MeshWifiInterfaceMac::Statistics::Print (std::ostream & os) const { os << "\n"; + "rxBytes=\"" << recvBytes << "\"/>\n"; } void MeshWifiInterfaceMac::Report (std::ostream & os) const { os << "\n"; m_stats.Print (os); diff --git a/src/helper/mesh-helper.cc b/src/helper/mesh-helper.cc index 181d26922..19ef09b11 100644 --- a/src/helper/mesh-helper.cc +++ b/src/helper/mesh-helper.cc @@ -89,7 +89,7 @@ MeshHelper::Report (const ns3::Ptr& device, std::ostream& os) Ptr mp = device->GetObject (); NS_ASSERT (mp != 0); std::vector > ifaces = mp->GetInterfaces (); - os << "GetAddress () << "\">\n"; + os << "GetAddress ()) << "\">\n"; m_stack->Report (mp, os); os << "\n"; }