28 #include "ns3/application.h" 
   29 #include "ns3/socket.h" 
   30 #include "ns3/random-variable-stream.h" 
   32 #include "radvd-interface.h" 
   94   typedef std::list<Ptr<RadvdInterface> > RadvdInterfaceList;
 
   95   typedef std::list<Ptr<RadvdInterface> >::iterator RadvdInterfaceListI;
 
   96   typedef std::list<Ptr<RadvdInterface> >::const_iterator RadvdInterfaceListCI;
 
   98   typedef std::map<uint32_t, EventId> EventIdMap;
 
   99   typedef std::map<uint32_t, EventId>::iterator EventIdMapI;
 
  100   typedef std::map<uint32_t, EventId>::const_iterator EventIdMapCI;
 
virtual void StartApplication()
Start the application. 
 
RadvdInterfaceList m_configurations
List of configuration for interface. 
 
Router advertisement daemon. 
 
void ScheduleTransmit(Time dt, Ptr< RadvdInterface > config, EventId &eventId, Ipv6Address dst=Ipv6Address::GetAllNodesMulticast(), bool reschedule=false)
Schedule sending a packet. 
 
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) 
 
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. 
 
a unique identifier for an interface.