24 #include "ns3/mesh-wifi-interface-mac-plugin.h" 25 #include "ns3/hwmp-protocol.h" 29 class MeshWifiInterfaceMac;
30 class WifiActionHeader;
83 void SendPreq (std::vector<IePreq> preq);
95 void ForwardPerr (std::vector<HwmpProtocol::FailedDestination> destinations, std::vector<Mac48Address> receivers);
101 void InitiatePerr (std::vector<HwmpProtocol::FailedDestination> destinations, std::vector<Mac48Address> receivers);
130 void Report (std::ostream & os)
const;
175 void Print (std::ostream & os)
const;
bool ReceiveAction(Ptr< Packet > packet, const WifiMacHeader &header)
Receive action management frame.
Smart pointer class similar to boost::intrusive_ptr.
void SendMyPerr()
Send PERR function.
uint16_t txData
transmit data
void SetParent(Ptr< MeshWifiInterfaceMac > parent)
Update beacon is empty, because HWMP does not know anything about beacons.
void SendMyPreq()
Sends one PREQ when PreqMinInterval after last PREQ expires (if any PREQ exists in rhe queue) ...
uint16_t rxPrep
receive PREP
void SendPrep(IePrep prep, Mac48Address receiver)
Send PREP function.
uint16_t txMgt
transmit management
void RequestDestination(Mac48Address dest, uint32_t originator_seqno, uint32_t dst_seqno)
Request a destination.
See 7.3.2.97 of 802.11s draft 2.07.
std::vector< IePreq > m_myPreq
uint16_t rxPerr
receive PERR
uint32_t GetLinkMetric(Mac48Address peerAddress) const
void SendPreq(IePreq preq)
Send PREQ function.
uint16_t rxMgt
receive management
void Print(std::ostream &os) const
Print function.
static WifiActionHeader GetWifiActionHeader()
void ResetStats()
Reset statistics.
Hybrid wireless mesh protocol – a mesh routing protocol defined in IEEE 802.11-2012 standard...
See 7.3.2.96 of 802.11s draft 2.07.
uint32_t txDataBytes
transmit data bytes
uint32_t rxMgtBytes
receive management bytes
uint16_t txPerr
transmit PERR
Ptr< MeshWifiInterfaceMac > m_parent
parent
std::vector< Mac48Address > receivers
receivers
uint32_t txMgtBytes
transmit management bytes
Interface MAC plugin for HWMP – 802.11s routing protocol.
uint16_t txPrep
transmit PREP
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Common interface for mesh point interface MAC plugins.
void Report(std::ostream &os) const
Report statistics.
std::vector< HwmpProtocol::FailedDestination > destinations
destinations
uint32_t rxDataBytes
receive data bytes
uint16_t rxData
receive data
HwmpProtocolMac(uint32_t ifIndex, Ptr< HwmpProtocol > protocol)
Constructor.
bool UpdateOutcomingFrame(Ptr< Packet > packet, WifiMacHeader &header, Mac48Address from, Mac48Address to)
Update beacon is empty, because HWMP does not know anything about beacons.
Beacon is beacon header + list of arbitrary information elements.
Ptr< HwmpProtocol > m_protocol
protocol
int64_t AssignStreams(int64_t stream)
Update beacon is empty, because HWMP does not know anything about beacons.
bool ReceiveData(Ptr< Packet > packet, const WifiMacHeader &header)
Receive data frame.
uint32_t m_ifIndex
IF index.
An identifier for simulation events.
void ForwardPerr(std::vector< HwmpProtocol::FailedDestination > destinations, std::vector< Mac48Address > receivers)
Forward a path error.
uint16_t GetChannelId() const
Get the channel ID.
uint16_t rxPreq
receive PREQ
bool Receive(Ptr< Packet > packet, const WifiMacHeader &header)
Update beacon is empty, because HWMP does not know anything about beacons.
void InitiatePerr(std::vector< HwmpProtocol::FailedDestination > destinations, std::vector< Mac48Address > receivers)
initiate my own path error
Statistics m_stats
statistics
uint16_t txPreq
transmit PREQ
void UpdateBeacon(MeshWifiBeacon &beacon) const
Update beacon is empty, because HWMP does not know anything about beacons.