Interface MAC plugin for HWMP -- 802.11s routing protocol. More...
#include <hwmp-protocol-mac.h>


Public Member Functions | |
Inherited from MAC plugin | |
| 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 is empty, because HWMP does not know anything about beacons. | |
Private Member Functions | |
| void | SendMyPreq () |
| Sends one PREQ when PreqMinInterval after last PREQ expires (if any PREQ exists in rhe queue). | |
| uint32_t | GetLinkMetric (Mac48Address peerAddress) const |
| void | Report (std::ostream &) const |
| Report statistics. | |
| bool | ReceiveData (Ptr< Packet > packet, const WifiMacHeader &header) |
| Receive data frame. | |
| bool | ReceiveAction (Ptr< Packet > packet, const WifiMacHeader &header) |
| Receive action management frame. | |
Intercation with HWMP: | |
| void | SendPreq (IePreq preq) |
| void | SendPreq (std::vector< IePreq > preq) |
| void | SendPrep (IePrep prep, Mac48Address receiver) |
| void | ForwardPerr (std::vector< HwmpProtocol::FailedDestination > destinations, std::vector< Mac48Address > receivers) |
| void | InitiatePerr (std::vector< HwmpProtocol::FailedDestination > destinations, std::vector< Mac48Address > receivers) |
| void | RequestDestination (Mac48Address dest, uint32_t originator_seqno, uint32_t dst_seqno) |
| Request a destination. If can not send preq immediately - add a destination to exisying PREQ generated by me and stored in PREQ queue. | |
Static Private Member Functions | |
| static WifiMeshActionHeader | GetWifiMeshActionHeader () |
Private Attributes | |
my PREQ and PREQ timer: | |
| EventId | m_preqTimer |
| std::vector< IePreq > | m_myPreq |
PERR timer and stored path error | |
| EventId | m_perrTimer |
| MyPerr | m_myPerr |
Statistics: | |
| Statistics | m_stats |
Interface MAC plugin for HWMP -- 802.11s routing protocol.
| uint32_t ns3::dot11s::HwmpProtocolMac::GetLinkMetric | ( | Mac48Address | peerAddress | ) | const [private] |
| static WifiMeshActionHeader ns3::dot11s::HwmpProtocolMac::GetWifiMeshActionHeader | ( | ) | [static, private] |
| bool ns3::dot11s::HwmpProtocolMac::Receive | ( | Ptr< Packet > | packet, | |
| const WifiMacHeader & | header | |||
| ) | [virtual] |
Process received frame.
Implements ns3::MeshWifiInterfaceMacPlugin.
| void ns3::dot11s::HwmpProtocolMac::RequestDestination | ( | Mac48Address | dest, | |
| uint32_t | originator_seqno, | |||
| uint32_t | dst_seqno | |||
| ) | [private] |
Request a destination. If can not send preq immediately - add a destination to exisying PREQ generated by me and stored in PREQ queue.
| dest | is the destination to be resolved | |
| originator_seqno | is a sequence number that shall be preq originator sequenece number | |
| dst_seqno | is a sequence number taken from routing table |
| bool ns3::dot11s::HwmpProtocolMac::UpdateOutcomingFrame | ( | Ptr< Packet > | packet, | |
| WifiMacHeader & | header, | |||
| Mac48Address | from, | |||
| Mac48Address | to | |||
| ) | [virtual] |
Update frame before it will be forwarded down.
Implements ns3::MeshWifiInterfaceMacPlugin.
1.7.1