Added docs to peer link frame cleass, mesh-wifi-mac-header has been moved to

dot11s namespace
This commit is contained in:
Kirill Andreev
2009-04-08 17:50:52 +04:00
parent 22980d88a3
commit b349a7045c
8 changed files with 24 additions and 50 deletions

View File

@@ -23,9 +23,8 @@
#include "ns3/simulator.h"
#include "ns3/nstime.h"
#include "ns3/log.h"
#include "ns3/mesh-wifi-mac-header.h"
#include "hwmp-mac-plugin.h"
#include "mesh-wifi-mac-header.h"
#include "hwmp-protocol.h"
#include "hwmp-tag.h"
#include "ie-dot11s-preq.h"

View File

@@ -21,10 +21,10 @@
#include "ns3/assert.h"
#include "ns3/address-utils.h"
#include "ns3/mesh-wifi-mac-header.h"
#include "mesh-wifi-mac-header.h"
namespace ns3 {
namespace dot11s {
/***********************************************************
* Here Mesh Mac Header functionality is defined.
***********************************************************/
@@ -37,7 +37,6 @@ WifiMeshHeader::GetTypeId ()
;
return tid;
}
WifiMeshHeader::WifiMeshHeader ():
m_meshFlags (0),
m_meshTtl (0),
@@ -47,77 +46,64 @@ WifiMeshHeader::WifiMeshHeader ():
m_addr6 (Mac48Address ())
{
}
WifiMeshHeader::~WifiMeshHeader ()
{
}
TypeId
WifiMeshHeader::GetInstanceTypeId () const
{
return GetTypeId ();
}
void
WifiMeshHeader::SetAddr4 (Mac48Address address)
{
m_addr4 = address;
}
void
WifiMeshHeader::SetAddr5 (Mac48Address address)
{
m_addr5 = address;
}
void
WifiMeshHeader::SetAddr6 (Mac48Address address)
{
m_addr6 = address;
}
Mac48Address
WifiMeshHeader::GetAddr4 () const
{
return m_addr4;
}
Mac48Address
WifiMeshHeader::GetAddr5 () const
{
return m_addr5;
}
Mac48Address
WifiMeshHeader::GetAddr6 () const
{
return m_addr6;
}
void
WifiMeshHeader::SetMeshSeqno (uint32_t seqno)
{
m_meshSeqno = seqno;
}
uint32_t
WifiMeshHeader::GetMeshSeqno () const
{
return m_meshSeqno;
}
void
WifiMeshHeader::SetMeshTtl (uint8_t TTL)
{
m_meshTtl = TTL;
}
uint8_t
WifiMeshHeader::GetMeshTtl () const
{
return m_meshTtl;
}
void
WifiMeshHeader::SetAddressExt (uint8_t num_of_addresses)
{
@@ -125,20 +111,16 @@ WifiMeshHeader::SetAddressExt (uint8_t num_of_addresses)
return;
m_meshFlags |= 0xc0 & (num_of_addresses << 6);
}
uint8_t
WifiMeshHeader::GetAddressExt () const
{
return ((0xc0 & m_meshFlags) >> 6);
}
uint32_t
WifiMeshHeader::GetSerializedSize () const
{
return 6 + GetAddressExt () * 6;
}
void
WifiMeshHeader::Serialize (Buffer::Iterator start) const
{
@@ -155,7 +137,6 @@ WifiMeshHeader::Serialize (Buffer::Iterator start) const
if (addresses_to_add > 2)
WriteTo (i, m_addr6);
}
uint32_t
WifiMeshHeader::Deserialize (Buffer::Iterator start)
{
@@ -186,14 +167,12 @@ WifiMeshHeader::Print (std::ostream &os) const
WifiMeshMultihopActionHeader::WifiMeshMultihopActionHeader ()
{
}
WifiMeshMultihopActionHeader::~WifiMeshMultihopActionHeader ()
{
}
void
WifiMeshMultihopActionHeader::SetAction (
enum WifiMeshMultihopActionHeader::CategoryValue type,
WifiMeshMultihopActionHeader::CategoryValue type,
WifiMeshMultihopActionHeader::ACTION_VALUE action)
{
switch (type)
@@ -242,8 +221,7 @@ WifiMeshMultihopActionHeader::SetAction (
break;
};
}
enum WifiMeshMultihopActionHeader::CategoryValue
WifiMeshMultihopActionHeader::CategoryValue
WifiMeshMultihopActionHeader::GetCategory ()
{
switch (m_category)
@@ -263,7 +241,6 @@ WifiMeshMultihopActionHeader::GetCategory ()
return MESH_PEER_LINK_MGT;
}
}
WifiMeshMultihopActionHeader::ACTION_VALUE
WifiMeshMultihopActionHeader::GetAction ()
{
@@ -320,7 +297,6 @@ WifiMeshMultihopActionHeader::GetAction ()
return retval;
}
}
TypeId
WifiMeshMultihopActionHeader::GetTypeId ()
{
@@ -330,31 +306,26 @@ WifiMeshMultihopActionHeader::GetTypeId ()
;
return tid;
}
TypeId
WifiMeshMultihopActionHeader::GetInstanceTypeId () const
{
return GetTypeId ();
}
void
WifiMeshMultihopActionHeader::Print (std::ostream &os) const
{
}
uint32_t
WifiMeshMultihopActionHeader::GetSerializedSize () const
{
return 2;
}
void
WifiMeshMultihopActionHeader::Serialize (Buffer::Iterator start) const
{
start.WriteU8 (m_category);
start.WriteU8 (m_actionValue);
}
uint32_t
WifiMeshMultihopActionHeader::Deserialize (Buffer::Iterator start)
{
@@ -363,5 +334,5 @@ WifiMeshMultihopActionHeader::Deserialize (Buffer::Iterator start)
m_actionValue = i.ReadU8 ();
return i.GetDistanceFrom (start);
}
} //namespace dot11s
} // namespace ns3

View File

@@ -26,8 +26,9 @@
#include "ns3/mac48-address.h"
namespace ns3 {
namespace dot11s {
/**
* \ingroup mesh
* \ingroup dot11s
*/
class WifiMeshHeader : public Header //7.1.3.5b
{
@@ -145,5 +146,6 @@ private:
uint8_t m_category;
uint8_t m_actionValue;
};
} //namespace dot11s
} // namespace ns3
#endif /* MESH_WIFI_MAC_HEADER_H */

View File

@@ -27,10 +27,22 @@
namespace ns3 {
class MeshWifiInterfaceMac;
namespace dot11s {
/**
* \ingroup dot11s
*
* \brief 802.11s Peer link management frame:
* \details included the following (see chapters 7.4.12.1-7.4.12.3 of
* 802.11s):
* - Subtype field
* - Association ID field
* - Supported rates
* - SSID of mesh
*/
class PeerLinkFrameStart : public Header
{
public:
PeerLinkFrameStart ();
///\brief fields:
struct PlinkFrameStartFields
{
uint8_t subtype;

View File

@@ -23,11 +23,10 @@
#include "peer-management-plugin.h"
#include "peer-management-protocol.h"
#include "peer-link-frame.h"
#include "mesh-wifi-mac-header.h"
#include "ns3/mesh-wifi-interface-mac.h"
#include "ns3/mesh-wifi-mac-header.h"
#include "ns3/simulator.h"
#include "ns3/wifi-mac-header.h"
#include "ns3/mesh-wifi-mac-header.h"
#include "ns3/log.h"
NS_LOG_COMPONENT_DEFINE("PeerManager");

View File

@@ -20,6 +20,7 @@ def build(bld):
'hwmp-protocol.cc',
'airtime-metric.cc',
'dot11s-helper.cc',
'mesh-wifi-mac-header.cc',
]
headers = bld.new_task_gen('ns3header')
headers.module = 'dot11s'

View File

@@ -27,7 +27,7 @@
#include "ns3/mac-rx-middle.h"
#include "ns3/mac-low.h"
#include "ns3/dca-txop.h"
#include "ns3/mesh-wifi-mac-header.h"
//#include "ns3/mesh-wifi-mac-header.h"
#include "ns3/random-variable.h"
#include "ns3/simulator.h"
#include "ns3/yans-wifi-phy.h"

View File

@@ -3,15 +3,11 @@
def build(bld):
obj = bld.create_ns3_module('mesh', ['wifi', 'dot11s'])
obj.source = [
# Refactored
'wifi-information-element.cc',
'mesh-point-device.cc',
'mesh-l2-routing-protocol.cc',
'mesh-wifi-beacon.cc',
'mesh-wifi-interface-mac.cc',
# Not refactored
'mesh-wifi-mac-header.cc',
#'tx-statistics.cc',
]
headers = bld.new_task_gen('ns3header')
headers.module = 'mesh'
@@ -23,11 +19,5 @@ def build(bld):
'mesh-wifi-beacon.h',
'mesh-wifi-interface-mac.h',
'mesh-wifi-interface-mac-plugin.h',
# Dirty
#'tx-statistics.h',
'mesh-wifi-mac-header.h',
]
# obj = bld.create_ns3_program('wifi-phy-test',
# ['core', 'simulator', 'mobility', 'node', 'wifi'])
# obj.source = 'wifi-phy-test.cc'