Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Private Member Functions | Private Attributes

ns3::Radvd Class Reference
[Radvd]

Router advertisement daemon. More...

#include <radvd.h>

Inheritance diagram for ns3::Radvd:
Inheritance graph
[legend]
Collaboration diagram for ns3::Radvd:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 Radvd ()
 Constructor.
virtual ~Radvd ()
 Destructor.
void AddConfiguration (Ptr< RadvdInterface > routerInterface)
 Add configuration for an interface;.

Static Public Member Functions

static TypeId GetTypeId (void)
 Get the type ID.

Static Public Attributes

static const uint32_t MAX_RA_DELAY_TIME = 500
 Default value for maximum delay of RA (ms).

Protected Member Functions

virtual void DoDispose ()
 Dispose the instance.

Private Member Functions

virtual void StartApplication ()
 Start the application.
virtual void StopApplication ()
 Stop the application.
void ScheduleTransmit (Time dt, Ptr< RadvdInterface > config, EventId &eventId, Ipv6Address dst=Ipv6Address::GetAllNodesMulticast(), bool reschedule=false)
 Schedule sending a packet.
void Send (Ptr< RadvdInterface > config, Ipv6Address dst=Ipv6Address::GetAllNodesMulticast(), bool reschedule=false)
 Send a packet.
void HandleRead (Ptr< Socket > socket)
 Handle received packet, especially router solicitation.

Private Attributes

Ptr< Socketm_socket
 Raw socket to send RA.
RadvdInterfaceList m_configurations
 List of configuration for interface.
EventIdMap m_eventIds
 Event ID map.

Detailed Description

Router advertisement daemon.


Member Function Documentation

void ns3::Radvd::AddConfiguration ( Ptr< RadvdInterface routerInterface  ) 

Add configuration for an interface;.

Parameters:
routerInterface configuration
static TypeId ns3::Radvd::GetTypeId ( void   )  [static]

Get the type ID.

This method returns the TypeId associated to ns3::Radvd.

Returns:
type ID

This object is accessible through the following paths with Config::Set and Config::Connect:

  • /NodeList/[i]/ApplicationList/[i]/$ns3::Radvd

No Attributes defined for this type.
No TraceSources defined for this type.

Reimplemented from ns3::Application.

void ns3::Radvd::HandleRead ( Ptr< Socket socket  )  [private]

Handle received packet, especially router solicitation.

Parameters:
socket socket to read data from
void ns3::Radvd::ScheduleTransmit ( Time  dt,
Ptr< RadvdInterface config,
EventId eventId,
Ipv6Address  dst = Ipv6Address::GetAllNodesMulticast(),
bool  reschedule = false 
) [private]

Schedule sending a packet.

Parameters:
dt interval between packet
config interface configuration
eventId event ID associated
dst IPv6 destination address
reschedule if true another send will be reschedule (periodic)
void ns3::Radvd::Send ( Ptr< RadvdInterface config,
Ipv6Address  dst = Ipv6Address::GetAllNodesMulticast(),
bool  reschedule = false 
) [private]

Send a packet.

Parameters:
config interface configuration
dst destination address (default ff02::1)
reschedule if true another send will be reschedule (periodic)

The documentation for this class was generated from the following files: