A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
ns3::RadvdHelper Class Reference

Radvd application helper. More...

#include "radvd-helper.h"

+ Inheritance diagram for ns3::RadvdHelper:
+ Collaboration diagram for ns3::RadvdHelper:

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< RadvdInterfaceGetRadvdInterface (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< ApplicationDoInstall (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.
 

Detailed Description

Radvd application helper.

Definition at line 25 of file radvd-helper.h.

Member Typedef Documentation

◆ RadvdInterfaceMap

Container: interface index, RadvdInterface.

Definition at line 72 of file radvd-helper.h.

◆ RadvdInterfaceMapI

typedef std::map<uint32_t,Ptr<RadvdInterface>>::iterator ns3::RadvdHelper::RadvdInterfaceMapI
private

Container Iterator: interface index, RadvdInterface.

Definition at line 74 of file radvd-helper.h.

Constructor & Destructor Documentation

◆ RadvdHelper()

ns3::RadvdHelper::RadvdHelper ( )

Constructor.

Definition at line 22 of file radvd-helper.cc.

Member Function Documentation

◆ AddAnnouncedPrefix()

void ns3::RadvdHelper::AddAnnouncedPrefix ( uint32_t interface,
const Ipv6Address & prefix,
uint32_t prefixLength )

Add a new prefix to be announced through an interface.

Parameters
interfaceoutgoing interface
prefixannounced IPv6 prefix
prefixLengthannounced 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().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ClearPrefixes()

void ns3::RadvdHelper::ClearPrefixes ( )

Clear the stored Prefixes.

Definition at line 98 of file radvd-helper.cc.

References m_radvdInterfaces.

◆ DisableDefaultRouterForInterface()

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

Parameters
interfaceoutgoing interface

Definition at line 78 of file radvd-helper.cc.

References ns3::Create(), and m_radvdInterfaces.

+ Here is the call graph for this function:

◆ DoInstall()

Ptr< Application > ns3::RadvdHelper::DoInstall ( Ptr< Node > node)
overrideprivatevirtual

Install an application on the node configured with all the attributes set with SetAttribute.

Parameters
nodeThe node on which an application will be installed.
Returns
Ptr to the application 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.

+ Here is the call graph for this function:

◆ EnableDefaultRouterForInterface()

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)

Parameters
interfaceoutgoing interface

Definition at line 67 of file radvd-helper.cc.

References ns3::Create(), and m_radvdInterfaces.

+ Here is the call graph for this function:

◆ GetRadvdInterface()

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.

Parameters
interfaceoutgoing interface
Returns
the RadvdInterface

Definition at line 88 of file radvd-helper.cc.

References ns3::Create(), and m_radvdInterfaces.

Referenced by RadvdTestCase::DoRun().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ m_radvdInterfaces

RadvdInterfaceMap ns3::RadvdHelper::m_radvdInterfaces
private

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