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, bool slaac=true) |
| 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 76 of file radvd-helper.h.
|
private |
Container Iterator: interface index, RadvdInterface.
Definition at line 78 of file radvd-helper.h.
| ns3::RadvdHelper::RadvdHelper | ( | ) |
Constructor.
Definition at line 22 of file radvd-helper.cc.
References ns3::ApplicationHelper::ApplicationHelper().
Here is the call graph for this function:| void ns3::RadvdHelper::AddAnnouncedPrefix | ( | uint32_t | interface, |
| const Ipv6Address & | prefix, | ||
| uint32_t | prefixLength, | ||
| bool | slaac = true ) |
Add a new prefix to be announced through an interface.
| interface | outgoing interface |
| prefix | announced IPv6 prefix |
| prefixLength | announced IPv6 prefix length |
| slaac | available for autoconfiguration |
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 Dhcp6TestCase::DoRun(), and RadvdTestCase::DoRun().
Here is the call graph for this function:
Here is the caller graph for this function:| void ns3::RadvdHelper::ClearPrefixes | ( | ) |
Clear the stored Prefixes.
Definition at line 100 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 80 of file radvd-helper.cc.
References ns3::Create(), and m_radvdInterfaces.
Here is the call graph for this function:
|
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 106 of file radvd-helper.cc.
References 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 69 of file radvd-helper.cc.
References ns3::Create(), and m_radvdInterfaces.
Here is the call graph for this function:| 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 90 of file radvd-helper.cc.
References ns3::Create(), and m_radvdInterfaces.
Referenced by Dhcp6TestCase::DoRun(), and RadvdTestCase::DoRun().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
RadvdInterface(s)
Definition at line 80 of file radvd-helper.h.
Referenced by AddAnnouncedPrefix(), ClearPrefixes(), DisableDefaultRouterForInterface(), DoInstall(), EnableDefaultRouterForInterface(), and GetRadvdInterface().