Keep track of a set of IPv6 interfaces. More...
#include <ipv6-interface-container.h>
Public Types | |
typedef std::vector< std::pair < Ptr< Ipv6 >, uint32_t > >::const_iterator | Iterator |
Public Member Functions | |
Ipv6InterfaceContainer () | |
Constructor. | |
void | Add (Ptr< Ipv6 > ipv6, uint32_t interface) |
Add a couple IPv6/interface. | |
void | Add (Ipv6InterfaceContainer &c) |
Fusion with another Ipv6InterfaceContainer. | |
void | Add (std::string ipv6Name, uint32_t interface) |
Add a couple of name/interface. | |
Iterator | Begin (void) const |
Get an iterator which refers to the first pair in the container. | |
Iterator | End (void) const |
Get an iterator which indicates past-the-last Node in the container. | |
Ipv6Address | GetAddress (uint32_t i, uint32_t j) const |
Get the address for the specified index. | |
uint32_t | GetInterfaceIndex (uint32_t i) const |
Get the interface index for the specified node index. | |
uint32_t | GetN (void) const |
void | SetDefaultRoute (uint32_t i, uint32_t router) |
Set the default route for the specified index. | |
void | SetRouter (uint32_t i, bool router) |
Set the state of the stack (act as a router or not) for the specified index. |
Private Types | |
typedef std::vector< std::pair < Ptr< Ipv6 >, uint32_t > > | InterfaceVector |
Private Attributes | |
InterfaceVector | m_interfaces |
List of IPv6 stack and interfaces index. |
Keep track of a set of IPv6 interfaces.
Definition at line 38 of file ipv6-interface-container.h.
|
private |
Definition at line 162 of file ipv6-interface-container.h.
typedef std::vector<std::pair<Ptr<Ipv6>, uint32_t> >::const_iterator ns3::Ipv6InterfaceContainer::Iterator |
Definition at line 41 of file ipv6-interface-container.h.
ns3::Ipv6InterfaceContainer::Ipv6InterfaceContainer | ( | ) |
Constructor.
Definition at line 30 of file ipv6-interface-container.cc.
Add a couple IPv6/interface.
ipv6 | IPv6 address |
interface | interface index |
Definition at line 63 of file ipv6-interface-container.cc.
References m_interfaces.
Referenced by ns3::Ipv6AddressHelper::Assign(), ns3::PointToPointStarHelper::AssignIpv6Addresses(), ns3::PointToPointGridHelper::AssignIpv6Addresses(), ns3::CsmaStarHelper::AssignIpv6Addresses(), and ns3::PointToPointDumbbellHelper::AssignIpv6Addresses().
void ns3::Ipv6InterfaceContainer::Add | ( | Ipv6InterfaceContainer & | c | ) |
Fusion with another Ipv6InterfaceContainer.
c | container |
Definition at line 74 of file ipv6-interface-container.cc.
References m_interfaces.
void ns3::Ipv6InterfaceContainer::Add | ( | std::string | ipv6Name, |
uint32_t | interface | ||
) |
Add a couple of name/interface.
ipv6Name | name of a node |
interface | interface index to add |
Definition at line 68 of file ipv6-interface-container.cc.
References m_interfaces.
Ipv6InterfaceContainer::Iterator ns3::Ipv6InterfaceContainer::Begin | ( | void | ) | const |
Get an iterator which refers to the first pair in the container.
Pairs can be retrieved from the container in two ways. First, directly by an index into the container, and second, using an iterator. This method is used in the iterator method and is typically used in a for-loop to run through the pairs
Definition at line 35 of file ipv6-interface-container.cc.
References m_interfaces.
Referenced by ns3::PointToPointDumbbellHelper::AssignIpv6Addresses(), ns3::AsciiTraceHelperForIpv6::EnableAsciiIpv6Impl(), and ns3::PcapHelperForIpv6::EnablePcapIpv6().
Ipv6InterfaceContainer::Iterator ns3::Ipv6InterfaceContainer::End | ( | void | ) | const |
Get an iterator which indicates past-the-last Node in the container.
Nodes can be retrieved from the container in two ways. First, directly by an index into the container, and second, using an iterator. This method is used in the iterator method and is typically used in a for-loop to run through the Nodes
Definition at line 41 of file ipv6-interface-container.cc.
References m_interfaces.
Referenced by ns3::AsciiTraceHelperForIpv6::EnableAsciiIpv6Impl(), and ns3::PcapHelperForIpv6::EnablePcapIpv6().
Ipv6Address ns3::Ipv6InterfaceContainer::GetAddress | ( | uint32_t | i, |
uint32_t | j | ||
) | const |
Get the address for the specified index.
i | interface index |
j | address index, generally index 0 is the link-local address |
Definition at line 56 of file ipv6-interface-container.cc.
References ns3::Ipv6InterfaceAddress::GetAddress(), ns3::Ipv6::GetAddress(), and m_interfaces.
Referenced by IpAddressHelperTestCasev6::DoRun(), ns3::PointToPointStarHelper::GetHubIpv6Address(), ns3::CsmaStarHelper::GetHubIpv6Address(), ns3::PointToPointDumbbellHelper::GetLeftIpv6Address(), ns3::PointToPointDumbbellHelper::GetRightIpv6Address(), ns3::PointToPointStarHelper::GetSpokeIpv6Address(), and ns3::CsmaStarHelper::GetSpokeIpv6Address().
uint32_t ns3::Ipv6InterfaceContainer::GetInterfaceIndex | ( | uint32_t | i | ) | const |
Get the interface index for the specified node index.
i | index of the node |
Definition at line 51 of file ipv6-interface-container.cc.
References m_interfaces.
uint32_t ns3::Ipv6InterfaceContainer::GetN | ( | void | ) | const |
Pairs can be retrieved from the container in two ways. First, directly by an index into the container, and second, using an iterator. This method is used in the direct method and is typically used to define an ending condition in a for-loop that runs through the stored Nodes
Definition at line 46 of file ipv6-interface-container.cc.
References m_interfaces.
void ns3::Ipv6InterfaceContainer::SetDefaultRoute | ( | uint32_t | i, |
uint32_t | router | ||
) |
Set the default route for the specified index.
i | index |
router | the default router |
Definition at line 108 of file ipv6-interface-container.cc.
References ns3::Ipv6InterfaceAddress::GetAddress(), ns3::Ipv6::GetAddress(), ns3::Ipv6StaticRoutingHelper::GetStaticRouting(), and m_interfaces.
void ns3::Ipv6InterfaceContainer::SetRouter | ( | uint32_t | i, |
bool | router | ||
) |
Set the state of the stack (act as a router or not) for the specified index.
i | index |
router | true : is a router, false : is an host |
Definition at line 82 of file ipv6-interface-container.cc.
References ns3::Ipv6InterfaceAddress::GetAddress(), ns3::Ipv6::GetAddress(), ns3::Ipv6StaticRoutingHelper::GetStaticRouting(), m_interfaces, and ns3::Ipv6::SetForwarding().
Referenced by main().
|
private |
List of IPv6 stack and interfaces index.
Definition at line 168 of file ipv6-interface-container.h.
Referenced by Add(), Begin(), End(), GetAddress(), GetInterfaceIndex(), GetN(), SetDefaultRoute(), and SetRouter().