28 #include "ns3/application.h" 
   29 #include "ns3/socket.h" 
   30 #include "ns3/random-variable-stream.h" 
keep track of time values and allow control of global simulation resolution 
 
std::map< uint32_t, EventId > EventIdMap
 
virtual void StartApplication()
Start the application. 
 
RadvdInterfaceList m_configurations
List of configuration for interface. 
 
Router advertisement daemon. 
 
std::list< Ptr< RadvdInterface > >::const_iterator RadvdInterfaceListCI
 
void ScheduleTransmit(Time dt, Ptr< RadvdInterface > config, EventId &eventId, Ipv6Address dst=Ipv6Address::GetAllNodesMulticast(), bool reschedule=false)
Schedule sending a packet. 
 
std::list< Ptr< RadvdInterface > >::iterator RadvdInterfaceListI
 
std::map< uint32_t, EventId >::const_iterator EventIdMapCI
 
int64_t AssignStreams(int64_t stream)
 
virtual ~Radvd()
Destructor. 
 
EventIdMap m_eventIds
Event ID map. 
 
The base class for all ns3 applications. 
 
virtual void DoDispose()
Dispose the instance. 
 
Ptr< Socket > m_socket
Raw socket to send RA. 
 
void HandleRead(Ptr< Socket > socket)
Handle received packet, especially router solicitation. 
 
static const uint32_t MAX_RA_DELAY_TIME
Default value for maximum delay of RA (ms) 
 
std::map< uint32_t, EventId >::iterator EventIdMapI
 
static Ipv6Address GetAllNodesMulticast()
Get the "all nodes multicast" address. 
 
void Send(Ptr< RadvdInterface > config, Ipv6Address dst=Ipv6Address::GetAllNodesMulticast(), bool reschedule=false)
Send a packet. 
 
virtual void StopApplication()
Stop the application. 
 
Describes an IPv6 address. 
 
void AddConfiguration(Ptr< RadvdInterface > routerInterface)
Add configuration for an interface;. 
 
an identifier for simulation events. 
 
Ptr< UniformRandomVariable > m_jitter
Variable to provide jitter in advertisement interval. 
 
static TypeId GetTypeId(void)
Get the type ID. 
 
std::list< Ptr< RadvdInterface > > RadvdInterfaceList
 
a unique identifier for an interface.