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>
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< Packet > | CreatePeerLinkOpenFrame () |
Ptr< Packet > | CreatePeerLinkConfirmFrame () |
Ptr< Packet > | CreatePeerLinkCloseFrame () |
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: | |
std::pair< Time, Time > | GetBeaconInfo () const |
void | SetBeaconShift (Time shift) |
Private Attributes | |
Statistics | |
struct Statistics | m_stats |
Information about MAC and protocol: | |
Ptr< MeshWifiInterfaceMac > | m_parent |
uint32_t | m_ifIndex |
Ptr< PeerManagementProtocol > | m_protocol |
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.
bool ns3::dot11s::PeerManagementProtocolMac::Receive | ( | Ptr< Packet > | packet, | |
const WifiMacHeader & | header | |||
) | [virtual] |
Process received frame.
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.
Implements ns3::MeshWifiInterfaceMacPlugin.