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 .AddConstructor<Dot11sStack> ()
36 .AddAttribute (
"Root",
37 "The MAC address of root mesh point.",
59 pmp->SetMeshId (
"mesh");
60 bool install_ok = pmp->Install (mp);
67 install_ok = hwmp->Install (mp);
72 if (mp->GetAddress () ==
m_root)
87 std::vector<Ptr<NetDevice> > ifaces = mp->GetInterfaces ();
88 for (std::vector<
Ptr<NetDevice> >::const_iterator i = ifaces.begin (); i != ifaces.end (); ++i)
109 std::vector<Ptr<NetDevice> > ifaces = mp->GetInterfaces ();
110 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)
Ptr< const AttributeChecker > MakeMac48AddressChecker(void)
Ptr< const AttributeAccessor > MakeMac48AddressAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method...
~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.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
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.
A base class which provides memory management and object aggregation.
void PeerLinkStatus(Mac48Address meshPontAddress, Mac48Address peerAddress, uint32_t interface, bool status)
a unique identifier for an interface.
TypeId SetParent(TypeId tid)
Basic MAC of mesh point Wi-Fi interface.
802.11s Peer Management Protocol model