|
A Discrete-Event Network Simulator
|
API
|
Go to the documentation of this file.
24 #include "ns3/mesh-wifi-interface-mac-plugin.h"
25 #include "ns3/hwmp-protocol.h"
29 class MeshWifiInterfaceMac;
30 class WifiActionHeader;
81 void SendPreq (std::vector<IePreq> preq);
93 void ForwardPerr (std::vector<HwmpProtocol::FailedDestination> destinations, std::vector<Mac48Address> receivers);
99 void InitiatePerr (std::vector<HwmpProtocol::FailedDestination> destinations, std::vector<Mac48Address> receivers);
128 void Report (std::ostream & os)
const;
179 void Print (std::ostream & os)
const;
Common interface for mesh point interface MAC plugins.
uint32_t m_ifIndex
IF index.
uint16_t GetChannelId() const
Get the channel ID.
void SendMyPreq()
Sends one PREQ when PreqMinInterval after last PREQ expires (if any PREQ exists in rhe queue)
bool ReceiveData(Ptr< Packet > packet, const WifiMacHeader &header)
Receive data frame.
uint32_t GetLinkMetric(Mac48Address peerAddress) const
An identifier for simulation events.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
void SetParent(Ptr< MeshWifiInterfaceMac > parent)
Each plugin must be installed on an interface to work.
bool UpdateOutcomingFrame(Ptr< Packet > packet, WifiMacHeader &header, Mac48Address from, Mac48Address to)
Update frame before it will be forwarded down.
bool ReceiveAction(Ptr< Packet > packet, const WifiMacHeader &header)
Receive action management frame.
uint16_t rxMgt
receive management
void SendMyPerr()
Send PERR function.
uint16_t rxPreq
receive PREQ
uint16_t txMgt
transmit management
void InitiatePerr(std::vector< HwmpProtocol::FailedDestination > destinations, std::vector< Mac48Address > receivers)
initiate my own path error
uint16_t rxPrep
receive PREP
void Print(std::ostream &os) const
Print function.
Beacon is beacon header + list of arbitrary information elements.
void ForwardPerr(std::vector< HwmpProtocol::FailedDestination > destinations, std::vector< Mac48Address > receivers)
Forward a path error.
Smart pointer class similar to boost::intrusive_ptr.
int64_t AssignStreams(int64_t stream)
Assign a fixed random variable stream number to the random variables used by this model.
uint32_t rxMgtBytes
receive management bytes
See 7.3.2.96 of 802.11s draft 2.07.
void RequestDestination(Mac48Address dest, uint32_t originator_seqno, uint32_t dst_seqno)
Request a destination.
void ResetStats()
Reset statistics.
void SendPreq(IePreq preq)
Send PREQ function.
Ptr< HwmpProtocol > m_protocol
protocol
std::vector< HwmpProtocol::FailedDestination > destinations
destinations
Hybrid wireless mesh protocol – a mesh routing protocol defined in IEEE 802.11-2012 standard.
std::vector< Mac48Address > receivers
receivers
uint16_t rxData
receive data
void SendPrep(IePrep prep, Mac48Address receiver)
Send PREP function.
bool Receive(Ptr< Packet > packet, const WifiMacHeader &header)
Process received frame.
Interface MAC plugin for HWMP – 802.11s routing protocol.
Ptr< MeshWifiInterfaceMac > m_parent
parent
uint16_t txData
transmit data
EventId m_preqTimer
Timer for PREQs.
std::vector< IePreq > m_myPreq
container of PREQs
See 7.3.2.97 of 802.11s draft 2.07.
uint16_t txPrep
transmit PREP
uint32_t txMgtBytes
transmit management bytes
uint32_t txDataBytes
transmit data bytes
static WifiActionHeader GetWifiActionHeader()
void UpdateBeacon(MeshWifiBeacon &beacon) const
Update beacon before it will be formed and sent.
void Report(std::ostream &os) const
Report statistics.
HwmpProtocolMac(uint32_t ifIndex, Ptr< HwmpProtocol > protocol)
Constructor.
uint16_t txPerr
transmit PERR
uint32_t rxDataBytes
receive data bytes
Statistics m_stats
statistics
uint16_t txPreq
transmit PREQ
uint16_t rxPerr
receive PERR