A Discrete-Event Network Simulator
API
ns3::RadvdHelper Class Reference

Radvd application helper. More...

#include "radvd-helper.h"

+ Collaboration diagram for ns3::RadvdHelper:

Public Member Functions

 RadvdHelper ()
 Constructor. More...
 
void AddAnnouncedPrefix (uint32_t interface, Ipv6Address prefix, uint32_t prefixLength)
 Add a new prefix to be announced through an interface. More...
 
void ClearPrefixes ()
 Clear the stored Prefixes. More...
 
void DisableDefaultRouterForInterface (uint32_t interface)
 Disable the router as default router for the interface. More...
 
void EnableDefaultRouterForInterface (uint32_t interface)
 Enable the router as default router for the interface. More...
 
Ptr< RadvdInterfaceGetRadvdInterface (uint32_t interface)
 Get the low-level RadvdInterface specification for an interface. More...
 
ApplicationContainer Install (Ptr< Node > node)
 Install the application in a Node. More...
 
void SetAttribute (std::string name, const AttributeValue &value)
 Set some attributes. More...
 

Private Types

typedef std::map< uint32_t, Ptr< RadvdInterface > > RadvdInterfaceMap
 Container: interface index, RadvdInterface. More...
 
typedef std::map< uint32_t, Ptr< RadvdInterface > >::iterator RadvdInterfaceMapI
 Container Iterator: interface index, RadvdInterface. More...
 

Private Attributes

ObjectFactory m_factory
 An object factory. More...
 
RadvdInterfaceMap m_radvdInterfaces
 RadvdInterface(s) More...
 

Detailed Description

Radvd application helper.

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

Member Typedef Documentation

◆ RadvdInterfaceMap

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

Container: interface index, RadvdInterface.

Definition at line 105 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 107 of file radvd-helper.h.

Constructor & Destructor Documentation

◆ RadvdHelper()

ns3::RadvdHelper::RadvdHelper ( )

Constructor.

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

References ns3::Radvd::GetTypeId(), m_factory, and ns3::ObjectFactory::SetTypeId().

+ Here is the call graph for this function:

Member Function Documentation

◆ AddAnnouncedPrefix()

void ns3::RadvdHelper::AddAnnouncedPrefix ( uint32_t  interface,
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 39 of file radvd-helper.cc.

References m_radvdInterfaces, NS_LOG_FUNCTION, NS_LOG_LOGIC, and NS_LOG_WARN.

Referenced by RadvdTestCase::DoRun().

+ Here is the caller graph for this function:

◆ ClearPrefixes()

void ns3::RadvdHelper::ClearPrefixes ( )

Clear the stored Prefixes.

Definition at line 101 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 83 of file radvd-helper.cc.

References m_radvdInterfaces.

◆ 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 73 of file radvd-helper.cc.

References m_radvdInterfaces.

◆ 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 92 of file radvd-helper.cc.

References m_radvdInterfaces.

Referenced by RadvdTestCase::DoRun().

+ Here is the caller graph for this function:

◆ Install()

ApplicationContainer ns3::RadvdHelper::Install ( Ptr< Node node)

Install the application in a Node.

Parameters
nodethe Node
Returns
application container

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

References ns3::ApplicationContainer::Add(), ns3::Node::AddApplication(), ns3::ObjectFactory::Create(), m_factory, and m_radvdInterfaces.

Referenced by RadvdTestCase::DoRun().

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

◆ SetAttribute()

void ns3::RadvdHelper::SetAttribute ( std::string  name,
const AttributeValue value 
)

Set some attributes.

Parameters
nameattribute name
valueattribute value

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

References m_factory, and ns3::ObjectFactory::Set().

+ Here is the call graph for this function:

Member Data Documentation

◆ m_factory

ObjectFactory ns3::RadvdHelper::m_factory
private

An object factory.

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

Referenced by RadvdHelper(), Install(), and SetAttribute().

◆ m_radvdInterfaces

RadvdInterfaceMap ns3::RadvdHelper::m_radvdInterfaces
private

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