21 #ifndef PEER_MANAGEMENT_PROTOCOL_MAC_H
22 #define PEER_MANAGEMENT_PROTOCOL_MAC_H
24 #include "ns3/mesh-wifi-interface-mac-plugin.h"
27 class MeshWifiInterfaceMac;
29 class PeerManagementProtocol;
30 class IeConfiguration;
31 class IePeerManagement;
32 class PeerManagementProtocol;
56 void Report (std::ostream &)
const;
120 void Print (std::ostream & os)
const;
Ptr< Packet > CreatePeerLinkOpenFrame()
Parses the start of the frame, where no WifiInformationElements exist.
Simulation virtual time values and global simulation resolution.
Smart pointer class similar to boost::intrusive_ptr.
void SetBeaconShift(Time shift)
BCA functionality.
void SetPeerManagerProtcol(Ptr< PeerManagementProtocol > protocol)
struct Statistics m_stats
int64_t AssignStreams(int64_t stream)
Assign a fixed random variable stream number to the random variables used by this model...
The Supported Rates Information ElementThis class knows how to serialise and deserialise the Supporte...
This structure keeps all fields in peer link management frame, which are not subclasses of WifiInform...
See 7.3.2.85 of draft 2.07.
PeerManagementProtocolMac(uint32_t interface, Ptr< PeerManagementProtocol > protocol)
bool UpdateOutcomingFrame(Ptr< Packet > packet, WifiMacHeader &header, Mac48Address from, Mac48Address to)
Update frame before it will be forwarded down.
uint32_t GetLinkMetric(Mac48Address peerAddress)
Ptr< Packet > CreatePeerLinkCloseFrame()
Parses the start of the frame, where no WifiInformationElements exist.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Common interface for mesh point interface MAC plugins.
void SendPeerLinkManagementFrame(Mac48Address peerAddress, Mac48Address peerMpAddress, uint16_t aid, IePeerManagement peerElement, IeConfiguration meshConfig)
Mac48Address GetAddress() const
debug only, used to print established links
Beacon is beacon header + list of arbitrary information elements.
Ptr< MeshWifiInterfaceMac > m_parent
void TxOk(WifiMacHeader const &hdr)
PlinkFrameStart ParsePlinkFrame(Ptr< const Packet > packet)
Parses the start of the frame, where no WifiInformationElements exist.
PeerManagementProtocolMac & operator=(const PeerManagementProtocolMac &)
void UpdateBeacon(MeshWifiBeacon &beacon) const
Update beacon before it will be formed and sent.
void Report(std::ostream &) const
Describes Mesh Configuration Element see 7.3.2.86 of 802.11s draft 3.0.
Peer link model for 802.11s Peer Management protocol.
This is plugin to Mesh WiFi MAC, which implements interface to dot11s peer management protocol: it ta...
bool Receive(Ptr< Packet > packet, const WifiMacHeader &header)
Process received frame.
~PeerManagementProtocolMac()
void SetParent(Ptr< MeshWifiInterfaceMac > parent)
Each plugin must be installed on interface to work.
void TxError(WifiMacHeader const &hdr)
Closes link when a proper number of successive transmissions have failed.
Ptr< PeerManagementProtocol > m_protocol
Ptr< Packet > CreatePeerLinkConfirmFrame()
Parses the start of the frame, where no WifiInformationElements exist.
void Print(std::ostream &os) const
802.11s Peer Management Protocol model