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;
92 void Report (std::ostream &)
const;
211 void Print (std::ostream & os)
const;
Ptr< Packet > CreatePeerLinkOpenFrame()
Create peer link open frame function.
Simulation virtual time values and global simulation resolution.
uint32_t txMgtBytes
transmit management bytes
Smart pointer class similar to boost::intrusive_ptr.
void SetBeaconShift(Time shift)
Set beacon shift function.
void UpdateBeacon(MeshWifiBeacon &beacon) const
Add beacon timing and mesh ID information elements, and notify beacon sent.
uint16_t rxClose
receive close
void SetPeerManagerProtcol(Ptr< PeerManagementProtocol > protocol)
Set peer manager protocol function.
uint16_t rxConfirm
receive confirm
struct Statistics m_stats
statistics
int64_t AssignStreams(int64_t stream)
Assign the streams.
uint16_t txOpen
transmit open
The Supported Rates Information ElementThis class knows how to serialise and deserialise the Supporte...
uint16_t beaconShift
beacon shift
This structure keeps all fields in peer link management frame, which are not subclasses of WifiInform...
SupportedRates rates
rates
uint16_t txConfirm
transmit confirm
uint16_t txClose
transmit close
according to IEEE 802.11 - 2012
uint32_t rxMgtBytes
receive management bytes
PeerManagementProtocolMac(uint32_t interface, Ptr< PeerManagementProtocol > protocol)
Constructor.
uint16_t rxMgt
receive management
uint32_t m_ifIndex
IF index.
uint16_t brokenMgt
broken management
bool UpdateOutcomingFrame(Ptr< Packet > packet, WifiMacHeader &header, Mac48Address from, Mac48Address to)
This method appears to test a few conditions.
uint32_t GetLinkMetric(Mac48Address peerAddress)
PeerManagementProtocolMac & operator=(const PeerManagementProtocolMac &peer)
assignment operator
Ptr< Packet > CreatePeerLinkCloseFrame()
Create peer link clode frame function.
uint16_t txMgt
transmit management
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)
Send peer link management frame function.
uint16_t rxOpen
receive open
void Print(std::ostream &os) const
Print function.
Beacon is beacon header + list of arbitrary information elements.
Ptr< MeshWifiInterfaceMac > m_parent
parent
void TxOk(WifiMacHeader const &hdr)
Transmit OK function.
PlinkFrameStart ParsePlinkFrame(Ptr< const Packet > packet)
Parses the start of the frame, where no WifiInformationElements exist.
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 the interface to dot11s peer management protocol: i...
void Report(std::ostream &) const
bool Receive(Ptr< Packet > packet, const WifiMacHeader &header)
Receive and process a packet.
~PeerManagementProtocolMac()
Mac48Address GetAddress() const
debug only, used to print established links
void SetParent(Ptr< MeshWifiInterfaceMac > parent)
Set pointer to parent.
void TxError(WifiMacHeader const &hdr)
Closes link when a proper number of successive transmissions have failed.
Ptr< PeerManagementProtocol > m_protocol
protocol
Ptr< Packet > CreatePeerLinkConfirmFrame()
Create peer link confirm frame function.
802.11s Peer Management Protocol model