|
ns-3
|
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>


Classes | |
| struct | PlinkFrameStart |
| This structure keeps all fields in peer link management frame, which are not subclasses of WifiInformationElement. | |
| struct | Statistics |
Public Member Functions | |
| PeerManagementProtocolMac (uint32_t interface, Ptr< PeerManagementProtocol > protocol) | |
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. | |
Public Member Functions inherited from ns3::MeshWifiInterfaceMacPlugin | |
| virtual | ~MeshWifiInterfaceMacPlugin () |
| This is for subclasses. | |
Public Member Functions inherited from ns3::SimpleRefCount< MeshWifiInterfaceMacPlugin > | |
| SimpleRefCount (const SimpleRefCount &o) | |
| SimpleRefCount & | operator= (const SimpleRefCount &o) |
| void | Ref (void) const |
| void | Unref (void) const |
| uint32_t | GetReferenceCount (void) const |
Friends | |
| class | PeerManagementProtocol |
| class | PeerLink |
Statistics | |
| void | Report (std::ostream &) const |
| void | ResetStats () |
| uint32_t | GetLinkMetric (Mac48Address peerAddress) |
Additional Inherited Members |
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.
|
virtual |
Process received frame.
Implements ns3::MeshWifiInterfaceMacPlugin.
References ns3::MeshWifiInterfaceMac::CheckSupportedRates(), ns3::dot11s::PeerManagementProtocol::ConfigurationMismatch(), ns3::Packet::Copy(), ns3::WifiInformationElementVector::FindFirst(), ns3::Packet::GetSize(), ns3::dot11s::PeerManagementProtocol::IsActiveLink(), ns3::MicroSeconds(), NS_ASSERT, ns3::dot11s::PeerManagementProtocol::ReceiveBeacon(), ns3::dot11s::PeerManagementProtocol::ReceivePeerLinkFrame(), ns3::Packet::RemoveHeader(), and ns3::dot11s::PeerLinkFrameStart::SetPlinkFrameSubtype().
|
virtual |
Update beacon before it will be formed and sent.
TODO define when MAC call this
Implements ns3::MeshWifiInterfaceMacPlugin.
References ns3::MeshWifiBeacon::AddInformationElement(), ns3::MeshWifiBeacon::GetBeaconInterval(), ns3::dot11s::PeerManagementProtocol::GetBeaconTimingElement(), and ns3::dot11s::PeerManagementProtocol::NotifyBeaconSent().
|
virtual |
Update frame before it will be forwarded down.
Implements ns3::MeshWifiInterfaceMacPlugin.
References ns3::dot11s::PeerManagementProtocol::IsActiveLink(), ns3::Mac48Address::IsGroup(), and ns3::Packet::PeekHeader().