24 #include "ns3/mesh-wifi-interface-mac-plugin.h"
25 #include "ns3/hwmp-protocol.h"
29 class MeshWifiInterfaceMac;
30 class WifiActionHeader;
65 void SendPreq (
IePreq preq);
66 void SendPreq (std::vector<IePreq> preq);
69 void ForwardPerr (std::vector<HwmpProtocol::FailedDestination> destinations, std::vector<Mac48Address> receivers);
71 void InitiatePerr (std::vector<HwmpProtocol::FailedDestination> destinations, std::vector<Mac48Address> receivers);
88 uint16_t GetChannelId ()
const;
90 void Report (std::ostream &)
const;
100 std::vector<IePreq> m_myPreq;
106 std::vector<HwmpProtocol::FailedDestination> destinations;
107 std::vector<Mac48Address> receivers;
125 uint32_t txDataBytes;
127 uint32_t rxDataBytes;
128 void Print (std::ostream & os)
const;
bool ReceiveAction(Ptr< Packet > packet, const WifiMacHeader &header)
Receive action management frame.
uint32_t GetLinkMetric(Mac48Address peerAddress) const
smart pointer class similar to boost::intrusive_ptr
void SetParent(Ptr< MeshWifiInterfaceMac > parent)
Each plugin must be installed on interface to work.
void SendMyPreq()
Sends one PREQ when PreqMinInterval after last PREQ expires (if any PREQ exists in rhe queue) ...
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 existing PREQ generate...
See 7.3.2.97 of 802.11s draft 2.07.
static WifiActionHeader GetWifiActionHeader()
Hybrid wireless mesh protocol – a routing protocol of IEEE 802.11s draft.
See 7.3.2.96 of 802.11s draft 2.07.
Interface MAC plugin for HWMP – 802.11s routing protocol.
Common interface for mesh point interface MAC plugins.
void UpdateBeacon(MeshWifiBeacon &beacon) const
Update beacon is empty, because HWMP does not know anything about beacons.
bool UpdateOutcomingFrame(Ptr< Packet > packet, WifiMacHeader &header, Mac48Address from, Mac48Address to)
Update frame before it will be forwarded down.
Beacon is beacon header + list of arbitrary information elements.
int64_t AssignStreams(int64_t stream)
bool ReceiveData(Ptr< Packet > packet, const WifiMacHeader &header)
Receive data frame.
an identifier for simulation events.
bool Receive(Ptr< Packet > packet, const WifiMacHeader &header)
Process received frame.
void Report(std::ostream &) const
Report statistics.