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
Container: interface number, EventId.
virtual void StartApplication()
Start the application.
RadvdInterfaceList m_configurations
List of configuration for interface.
Router advertisement daemon.
std::list< Ptr< RadvdInterface > >::const_iterator RadvdInterfaceListCI
Container Const Iterator: Ptr to RadvdInterface.
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
Container Iterator: Ptr to RadvdInterface.
std::map< uint32_t, EventId >::const_iterator EventIdMapCI
Container Const Iterator: interface number, EventId.
int64_t AssignStreams(int64_t stream)
Assign a fixed random variable stream number to the random variables used by this model...
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
Container Iterator: interface number, EventId.
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
Container: Ptr to RadvdInterface.
a unique identifier for an interface.