14#include "ns3/mac48-address.h"
15#include "ns3/nstime.h"
static Mac48Address GetBroadcast()
A base class which provides memory management and object aggregation.
Simulation virtual time values and global simulation resolution.
a unique identifier for an interface.
Routing table for HWMP – 802.11s routing protocol.
void DeleteReactivePath(Mac48Address destination)
Delete the reactive paths toward a destination.
void DoDispose() override
Destructor implementation.
static const uint32_t INTERFACE_ANY
Means all interfaces.
static const uint32_t MAX_METRIC
Maximum (the best?) path metric.
LookupResult LookupReactive(Mac48Address destination)
Lookup path to destination.
LookupResult LookupReactiveExpired(Mac48Address destination)
Return all reactive paths, including expired.
static TypeId GetTypeId()
Get the type ID.
std::map< Mac48Address, ReactiveRoute > m_routes
List of routes.
PrecursorList GetPrecursors(Mac48Address destination)
Get the precursors list.
void DeleteProactivePath()
Delete all the proactive paths.
LookupResult LookupProactiveExpired()
Return all proactive paths, including expired.
std::vector< std::pair< uint32_t, Mac48Address > > PrecursorList
Path precursor = {MAC, interface ID}.
std::vector< HwmpProtocol::FailedDestination > GetUnreachableDestinations(Mac48Address peerAddress)
When peer link with a given MAC-address fails - it returns list of unreachable destination addresses.
ProactiveRoute m_root
Path to proactive tree root MP.
LookupResult LookupProactive()
Find proactive path to tree root.
void AddPrecursor(Mac48Address destination, uint32_t precursorInterface, Mac48Address precursorAddress, Time lifetime)
Add a precursor.
void AddProactivePath(uint32_t metric, Mac48Address root, Mac48Address retransmitter, uint32_t interface, Time lifetime, uint32_t seqnum)
Add a proactive path.
void AddReactivePath(Mac48Address destination, Mac48Address retransmitter, uint32_t interface, uint32_t metric, Time lifetime, uint32_t seqnum)
Add a reactive path.
Time Seconds(double value)
Construct a Time in the indicated unit.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Route lookup result, return type of LookupXXX methods.
LookupResult(Mac48Address r=Mac48Address::GetBroadcast(), uint32_t i=INTERFACE_ANY, uint32_t m=MAX_METRIC, uint32_t s=0, Time l=Seconds(0.0))
Lookup result function.
bool operator==(const LookupResult &o) const
Compare route lookup results, used by tests.
uint32_t seqnum
sequence number
uint32_t ifIndex
IF index.
Mac48Address retransmitter
retransmitter
Route found in reactive mode.
Mac48Address address
address
uint32_t interface
interface
Time whenExpire
expire time
Route found in proactive mode.
std::vector< Precursor > precursors
precursors
uint32_t interface
interface
Time whenExpire
expire time
Mac48Address retransmitter
retransmitter
uint32_t seqnum
sequence number
Route found in reactive mode.
Time whenExpire
expire time
Mac48Address retransmitter
transmitter
std::vector< Precursor > precursors
precursors
uint32_t interface
interface
uint32_t seqnum
sequence number