20 #include "ns3/dot11s-installer.h"
21 #include "ns3/peer-management-protocol.h"
22 #include "ns3/hwmp-protocol.h"
23 #include "ns3/wifi-net-device.h"
24 #include "ns3/mesh-wifi-interface-mac.h"
27 using namespace dot11s;
35 .SetGroupName (
"Mesh")
37 .AddAttribute (
"Root",
38 "The MAC address of root mesh point.",
41 MakeMac48AddressChecker ());
60 pmp->SetMeshId (
"mesh");
61 bool install_ok = pmp->Install (mp);
68 install_ok = hwmp->Install (mp);
73 if (mp->GetAddress () ==
m_root)
88 std::vector<Ptr<NetDevice> > ifaces = mp->GetInterfaces ();
89 for (std::vector<
Ptr<NetDevice> >::const_iterator i = ifaces.begin (); i != ifaces.end (); ++i)
110 std::vector<Ptr<NetDevice> > ifaces = mp->GetInterfaces ();
111 for (std::vector<
Ptr<NetDevice> >::const_iterator i = ifaces.begin (); i != ifaces.end (); ++i)
Smart pointer class similar to boost::intrusive_ptr.
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
void DoDispose()
Break any reference cycles in the installer helper.
#define NS_ASSERT(condition)
At runtime, in debugging builds, if this condition is not true, the program prints the source file...
U * PeekPointer(const Ptr< U > &p)
Helper class to allow easy installation of 802.11s stack.
Prototype for class, which helps to install MAC-layer routing stack to ns3::MeshPointDevice.
~Dot11sStack()
Destroy a Dot11sStack() installer helper.
std::vector< Mac48Address > GetPeers(uint32_t interface) const
Get list of active peers of my given interface.
Hybrid wireless mesh protocol – a routing protocol of IEEE 802.11s draft.
void Report(const Ptr< MeshPointDevice > mp, std::ostream &)
Iterate through the referenced devices and protocols and print their statistics.
Hold together all Wifi-related objects.
Callback< R > MakeCallback(R(T::*memPtr)(void), OBJ objPtr)
Dot11sStack()
Create a Dot11sStack() installer helper.
AttributeValue implementation for Mac48Address.
static TypeId GetTypeId()
void ResetStats(const Ptr< MeshPointDevice > mp)
Reset the statistics on the referenced devices and protocols.
bool InstallStack(Ptr< MeshPointDevice > mp)
Install an 802.11s stack.
void PeerLinkStatus(Mac48Address meshPontAddress, Mac48Address peerAddress, uint32_t interface, bool status)
a unique identifier for an interface.
TypeId SetParent(TypeId tid)
Set the parent TypeId.
Basic MAC of mesh point Wi-Fi interface.
802.11s Peer Management Protocol model