Radvd application helper. More...
#include "radvd-helper.h"
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< RadvdInterface > | GetRadvdInterface (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... | |
Radvd application helper.
Definition at line 40 of file radvd-helper.h.
|
private |
Container: interface index, RadvdInterface.
Definition at line 104 of file radvd-helper.h.
|
private |
Container Iterator: interface index, RadvdInterface.
Definition at line 106 of file radvd-helper.h.
ns3::RadvdHelper::RadvdHelper | ( | ) |
Constructor.
Definition at line 33 of file radvd-helper.cc.
References ns3::Radvd::GetTypeId(), m_factory, and ns3::ObjectFactory::SetTypeId().
void ns3::RadvdHelper::AddAnnouncedPrefix | ( | uint32_t | interface, |
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 39 of file radvd-helper.cc.
References 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 107 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 87 of file radvd-helper.cc.
References 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 76 of file radvd-helper.cc.
References 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 97 of file radvd-helper.cc.
References m_radvdInterfaces.
Referenced by RadvdTestCase::DoRun().
ApplicationContainer ns3::RadvdHelper::Install | ( | Ptr< Node > | node | ) |
Install the application in a Node.
node | the Node |
Definition at line 119 of file radvd-helper.cc.
References ns3::ApplicationContainer::Add(), ns3::Node::AddApplication(), ns3::ObjectFactory::Create(), m_factory, and m_radvdInterfaces.
Referenced by RadvdTestCase::DoRun().
void ns3::RadvdHelper::SetAttribute | ( | std::string | name, |
const AttributeValue & | value | ||
) |
Set some attributes.
name | attribute name |
value | attribute value |
Definition at line 113 of file radvd-helper.cc.
References m_factory, and ns3::ObjectFactory::Set().
|
private |
An object factory.
Definition at line 101 of file radvd-helper.h.
Referenced by RadvdHelper(), Install(), and SetAttribute().
|
private |
RadvdInterface(s)
Definition at line 108 of file radvd-helper.h.
Referenced by AddAnnouncedPrefix(), ClearPrefixes(), DisableDefaultRouterForInterface(), EnableDefaultRouterForInterface(), GetRadvdInterface(), and Install().