Radvd application helper. More...
#include "radvd-helper.h"
Public Member Functions | |
RadvdHelper () | |
Constructor. | |
void | AddAnnouncedPrefix (uint32_t interface, const Ipv6Address &prefix, uint32_t prefixLength) |
Add a new prefix to be announced through an interface. | |
void | ClearPrefixes () |
Clear the stored Prefixes. | |
void | DisableDefaultRouterForInterface (uint32_t interface) |
Disable the router as default router for the interface. | |
void | EnableDefaultRouterForInterface (uint32_t interface) |
Enable the router as default router for the interface. | |
Ptr< RadvdInterface > | GetRadvdInterface (uint32_t interface) |
Get the low-level RadvdInterface specification for an interface. | |
Public Member Functions inherited from ns3::ApplicationHelper | |
ApplicationHelper (const std::string &typeId) | |
Create an application of a given type ID. | |
ApplicationHelper (TypeId typeId) | |
Create an application of a given type ID. | |
int64_t | AssignStreams (NodeContainer c, int64_t stream) |
Assigns a unique (monotonically increasing) stream number to all applications that match the configured type of this application helper instance. | |
ApplicationContainer | Install (const std::string &nodeName) |
Install an application on the node configured with all the attributes set with SetAttribute. | |
ApplicationContainer | Install (NodeContainer c) |
Install an application on each node of the input container configured with all the attributes set with SetAttribute. | |
ApplicationContainer | Install (Ptr< Node > node) |
Install an application on the node configured with all the attributes set with SetAttribute. | |
void | SetAttribute (const std::string &name, const AttributeValue &value) |
Helper function used to set the underlying application attributes. | |
void | SetTypeId (const std::string &typeId) |
Allow the helper to be repurposed for another application type. | |
void | SetTypeId (TypeId typeId) |
Allow the helper to be repurposed for another application type. | |
Private Types | |
typedef std::map< uint32_t, Ptr< RadvdInterface > > | RadvdInterfaceMap |
Container: interface index, RadvdInterface. | |
typedef std::map< uint32_t, Ptr< RadvdInterface > >::iterator | RadvdInterfaceMapI |
Container Iterator: interface index, RadvdInterface. | |
Private Member Functions | |
Ptr< Application > | DoInstall (Ptr< Node > node) override |
Install an application on the node configured with all the attributes set with SetAttribute. | |
Private Attributes | |
RadvdInterfaceMap | m_radvdInterfaces |
RadvdInterface(s) | |
Additional Inherited Members | |
Static Public Member Functions inherited from ns3::ApplicationHelper | |
static int64_t | AssignStreamsToAllApps (NodeContainer c, int64_t stream) |
Assign a fixed random variable stream number to the random variables used by all the applications. | |
Protected Attributes inherited from ns3::ApplicationHelper | |
ObjectFactory | m_factory |
Object factory. | |
Radvd application helper.
Definition at line 25 of file radvd-helper.h.
|
private |
Container: interface index, RadvdInterface.
Definition at line 72 of file radvd-helper.h.
|
private |
Container Iterator: interface index, RadvdInterface.
Definition at line 74 of file radvd-helper.h.
ns3::RadvdHelper::RadvdHelper | ( | ) |
Constructor.
Definition at line 22 of file radvd-helper.cc.
void ns3::RadvdHelper::AddAnnouncedPrefix | ( | uint32_t | interface, |
const Ipv6Address & | prefix, | ||
uint32_t | prefixLength ) |
Add a new prefix to be announced through an interface.
interface | outgoing interface |
prefix | announced IPv6 prefix |
prefixLength | announced IPv6 prefix length |
Definition at line 28 of file radvd-helper.cc.
References ns3::Create(), m_radvdInterfaces, NS_LOG_FUNCTION, NS_LOG_LOGIC, and NS_LOG_WARN.
Referenced by RadvdTestCase::DoRun().
void ns3::RadvdHelper::ClearPrefixes | ( | ) |
Clear the stored Prefixes.
Definition at line 98 of file radvd-helper.cc.
References m_radvdInterfaces.
void ns3::RadvdHelper::DisableDefaultRouterForInterface | ( | uint32_t | interface | ) |
Disable the router as default router for the interface.
The effect is to set the Router Lifetime to zero
interface | outgoing interface |
Definition at line 78 of file radvd-helper.cc.
References ns3::Create(), and m_radvdInterfaces.
|
overrideprivatevirtual |
Install an application on the node configured with all the attributes set with SetAttribute.
node | The node on which an application will be installed. |
Reimplemented from ns3::ApplicationHelper.
Definition at line 104 of file radvd-helper.cc.
References ns3::Radvd::AddConfiguration(), ns3::ObjectFactory::Create(), ns3::ApplicationHelper::m_factory, and m_radvdInterfaces.
void ns3::RadvdHelper::EnableDefaultRouterForInterface | ( | uint32_t | interface | ) |
Enable the router as default router for the interface.
The effect is to set the Router Lifetime to the default value (30 minutes)
interface | outgoing interface |
Definition at line 67 of file radvd-helper.cc.
References ns3::Create(), and m_radvdInterfaces.
Ptr< RadvdInterface > ns3::RadvdHelper::GetRadvdInterface | ( | uint32_t | interface | ) |
Get the low-level RadvdInterface specification for an interface.
This method is provided to enable fine-grain parameter setup.
interface | outgoing interface |
Definition at line 88 of file radvd-helper.cc.
References ns3::Create(), and m_radvdInterfaces.
Referenced by RadvdTestCase::DoRun().
|
private |
RadvdInterface(s)
Definition at line 76 of file radvd-helper.h.
Referenced by AddAnnouncedPrefix(), ClearPrefixes(), DisableDefaultRouterForInterface(), DoInstall(), EnableDefaultRouterForInterface(), and GetRadvdInterface().