Router advertisement daemon. More...
#include <radvd.h>
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< Socket > | m_socket |
Raw socket to send RA. | |
RadvdInterfaceList | m_configurations |
List of configuration for interface. | |
EventIdMap | m_eventIds |
Event ID map. |
Router advertisement daemon.
void ns3::Radvd::AddConfiguration | ( | Ptr< RadvdInterface > | routerInterface | ) |
Add configuration for an interface;.
routerInterface | configuration |
static TypeId ns3::Radvd::GetTypeId | ( | void | ) | [static] |
Get the type ID.
This method returns the TypeId associated to ns3::Radvd.
This object is accessible through the following paths with Config::Set and Config::Connect:
No Attributes defined for this type.
No TraceSources defined for this type.
Reimplemented from ns3::Application.
Handle received packet, especially router solicitation.
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.
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.
config | interface configuration | |
dst | destination address (default ff02::1) | |
reschedule | if true another send will be reschedule (periodic) |