Private Member Functions

ns3::dot11s::PeerManagementProtocolMac Class Reference
[IEEE 802.11s draft]

This is plugin to Mesh WiFi MAC, which implements interface to dot11s peer management protocol: it takes proper frames from MAC-layer, extracts peer link management information element and mesh configuration element and passes it to main part of protocol. More...

#include <peer-management-protocol-mac.h>

Inheritance diagram for ns3::dot11s::PeerManagementProtocolMac:
Inheritance graph
[legend]
Collaboration diagram for ns3::dot11s::PeerManagementProtocolMac:
Collaboration graph
[legend]

List of all members.

Public Member Functions

Inherited from plugin abstract class

void SetParent (Ptr< MeshWifiInterfaceMac > parent)
 Each plugin must be installed on interface to work.
bool Receive (Ptr< Packet > packet, const WifiMacHeader &header)
 Process received frame.
bool UpdateOutcomingFrame (Ptr< Packet > packet, WifiMacHeader &header, Mac48Address from, Mac48Address to)
 Update frame before it will be forwarded down.
void UpdateBeacon (MeshWifiBeacon &beacon) const
 Update beacon before it will be formed and sent.
Statistics:

void Report (std::ostream &) const
void ResetStats ()
uint32_t GetLinkMetric (Mac48Address peerAddress)

Private Member Functions

Mac48Address GetAddress () const
 DUBUG only - to print established links.
Create peer link management frames:

Ptr< PacketCreatePeerLinkOpenFrame ()
Ptr< PacketCreatePeerLinkConfirmFrame ()
Ptr< PacketCreatePeerLinkCloseFrame ()
Parses the start of the frame, where there are no

This structure keeps all fields in peer link management frame, which are not subclasses of WifiInformationElement

WifiInformationElements exist

PlinkFrameStart ParsePlinkFrame (Ptr< const Packet > packet)
BCA functionallity:

Fills TBTT and beacon interval. Needed by BCA functionallity

Parameters:
first in retval is TBTT
second in retval is beacon interval
std::pair< Time, TimeGetBeaconInfo () const
void SetBeaconShift (Time shift)

Private Attributes

Statistics

struct Statistics m_stats
Information about MAC and protocol:

Ptr< MeshWifiInterfaceMacm_parent
uint32_t m_ifIndex
Ptr< PeerManagementProtocolm_protocol

Detailed Description

This is plugin to Mesh WiFi MAC, which implements interface to dot11s peer management protocol: it takes proper frames from MAC-layer, extracts peer link management information element and mesh configuration element and passes it to main part of protocol.


Member Function Documentation

bool ns3::dot11s::PeerManagementProtocolMac::Receive ( Ptr< Packet packet,
const WifiMacHeader &  header 
) [virtual]

Process received frame.

Returns:
false if (and only if) frame should be dropped TODO define when MAC call this

Implements ns3::MeshWifiInterfaceMacPlugin.

void ns3::dot11s::PeerManagementProtocolMac::UpdateBeacon ( MeshWifiBeacon beacon  )  const [virtual]

Update beacon before it will be formed and sent.

TODO define when MAC call this

Implements ns3::MeshWifiInterfaceMacPlugin.

bool ns3::dot11s::PeerManagementProtocolMac::UpdateOutcomingFrame ( Ptr< Packet packet,
WifiMacHeader &  header,
Mac48Address  from,
Mac48Address  to 
) [virtual]

Update frame before it will be forwarded down.

Returns:
false if (and only if) frame should be dropped TODO define when MAC call this, preconditions & postconditions

Implements ns3::MeshWifiInterfaceMacPlugin.


The documentation for this class was generated from the following file: