A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ns3::PointToPointDumbbellHelper Class Reference

A helper to make it easier to create a dumbbell topology with p2p links. More...

#include <point-to-point-dumbbell.h>

Public Member Functions

 PointToPointDumbbellHelper (uint32_t nLeftLeaf, PointToPointHelper leftHelper, uint32_t nRightLeaf, PointToPointHelper rightHelper, PointToPointHelper bottleneckHelper)
 
void AssignIpv4Addresses (Ipv4AddressHelper leftIp, Ipv4AddressHelper rightIp, Ipv4AddressHelper routerIp)
 
void AssignIpv6Addresses (Ipv6Address network, Ipv6Prefix prefix)
 
void BoundingBox (double ulx, double uly, double lrx, double lry)
 
Ptr< NodeGetLeft () const
 
Ptr< NodeGetLeft (uint32_t i) const
 
Ipv4Address GetLeftIpv4Address (uint32_t i) const
 
Ipv6Address GetLeftIpv6Address (uint32_t i) const
 
Ptr< NodeGetRight () const
 
Ptr< NodeGetRight (uint32_t i) const
 
Ipv4Address GetRightIpv4Address (uint32_t i) const
 
Ipv6Address GetRightIpv6Address (uint32_t i) const
 
void InstallStack (InternetStackHelper stack)
 
uint32_t LeftCount () const
 
uint32_t RightCount () const
 

Private Attributes

NodeContainer m_leftLeaf
 
NetDeviceContainer m_leftLeafDevices
 
Ipv4InterfaceContainer m_leftLeafInterfaces
 
Ipv6InterfaceContainer m_leftLeafInterfaces6
 
NetDeviceContainer m_leftRouterDevices
 
Ipv4InterfaceContainer m_leftRouterInterfaces
 
Ipv6InterfaceContainer m_leftRouterInterfaces6
 
NodeContainer m_rightLeaf
 
NetDeviceContainer m_rightLeafDevices
 
Ipv4InterfaceContainer m_rightLeafInterfaces
 
Ipv6InterfaceContainer m_rightLeafInterfaces6
 
NetDeviceContainer m_rightRouterDevices
 
Ipv4InterfaceContainer m_rightRouterInterfaces
 
Ipv6InterfaceContainer m_rightRouterInterfaces6
 
NetDeviceContainer m_routerDevices
 
Ipv4InterfaceContainer m_routerInterfaces
 
Ipv6InterfaceContainer m_routerInterfaces6
 
NodeContainer m_routers
 

Detailed Description

A helper to make it easier to create a dumbbell topology with p2p links.

Definition at line 41 of file point-to-point-dumbbell.h.

Constructor & Destructor Documentation

ns3::PointToPointDumbbellHelper::PointToPointDumbbellHelper ( uint32_t  nLeftLeaf,
PointToPointHelper  leftHelper,
uint32_t  nRightLeaf,
PointToPointHelper  rightHelper,
PointToPointHelper  bottleneckHelper 
)

Create a PointToPointDumbbellHelper in order to easily create dumbbell topologies using p2p links

Parameters
nLeftLeafnumber of left side leaf nodes in the dumbbell
leftHelperPointToPointHelper used to install the links between the left leaf nodes and the left-most router
nRightLeafnumber of right side leaf nodes in the dumbbell
rightHelperPointToPointHelper used to install the links between the right leaf nodes and the right-most router
bottleneckHelperPointToPointHelper used to install the link between the inner-routers, usually known as the bottleneck link

Definition at line 39 of file point-to-point-dumbbell.cc.

References ns3::NetDeviceContainer::Add(), ns3::NodeContainer::Create(), ns3::NetDeviceContainer::Get(), ns3::NodeContainer::Get(), and ns3::PointToPointHelper::Install().

Member Function Documentation

void ns3::PointToPointDumbbellHelper::AssignIpv4Addresses ( Ipv4AddressHelper  leftIp,
Ipv4AddressHelper  rightIp,
Ipv4AddressHelper  routerIp 
)
Parameters
leftIpIpv4AddressHelper to assign Ipv4 addresses to the interfaces on the left side of the dumbbell
rightIpIpv4AddressHelper to assign Ipv4 addresses to the interfaces on the right side of the dumbbell
routerIpIpv4AddressHelper to assign Ipv4 addresses to the interfaces on the bottleneck link

Definition at line 132 of file point-to-point-dumbbell.cc.

References ns3::Ipv4InterfaceContainer::Add(), ns3::NetDeviceContainer::Add(), ns3::Ipv4AddressHelper::Assign(), ns3::Ipv4InterfaceContainer::Get(), ns3::NetDeviceContainer::Get(), LeftCount(), ns3::Ipv4AddressHelper::NewNetwork(), and RightCount().

void ns3::PointToPointDumbbellHelper::AssignIpv6Addresses ( Ipv6Address  network,
Ipv6Prefix  prefix 
)
void ns3::PointToPointDumbbellHelper::BoundingBox ( double  ulx,
double  uly,
double  lrx,
double  lry 
)

Sets up the node canvas locations for every node in the dumbbell. This is needed for use with the animation interface

Parameters
ulxupper left x value
ulyupper left y value
lrxlower right x value
lrylower right y value

Definition at line 209 of file point-to-point-dumbbell.cc.

References ns3::Object::AggregateObject(), GetLeft(), ns3::Object::GetObject(), GetRight(), LeftCount(), RightCount(), ns3::Vector3D::x, and ns3::Vector3D::y.

Ptr< Node > ns3::PointToPointDumbbellHelper::GetLeft ( ) const
Returns
pointer to the node of the left side bottleneck router

Definition at line 75 of file point-to-point-dumbbell.cc.

References ns3::NodeContainer::Get().

Referenced by BoundingBox().

Ptr< Node > ns3::PointToPointDumbbellHelper::GetLeft ( uint32_t  i) const
Returns
pointer to the i'th left side leaf node

Definition at line 80 of file point-to-point-dumbbell.cc.

References ns3::NodeContainer::Get().

Ipv4Address ns3::PointToPointDumbbellHelper::GetLeftIpv4Address ( uint32_t  i) const
Returns
an Ipv4Address of the i'th left leaf

Definition at line 95 of file point-to-point-dumbbell.cc.

References ns3::Ipv4InterfaceContainer::GetAddress().

Ipv6Address ns3::PointToPointDumbbellHelper::GetLeftIpv6Address ( uint32_t  i) const
Returns
an Ipv6Address of the i'th left leaf

Definition at line 105 of file point-to-point-dumbbell.cc.

References ns3::Ipv6InterfaceContainer::GetAddress().

Ptr< Node > ns3::PointToPointDumbbellHelper::GetRight ( ) const
Returns
pointer to the node of the right side bottleneck router

Definition at line 85 of file point-to-point-dumbbell.cc.

References ns3::NodeContainer::Get().

Referenced by BoundingBox().

Ptr< Node > ns3::PointToPointDumbbellHelper::GetRight ( uint32_t  i) const
Returns
pointer to the i'th left side leaf node

Definition at line 90 of file point-to-point-dumbbell.cc.

References ns3::NodeContainer::Get().

Ipv4Address ns3::PointToPointDumbbellHelper::GetRightIpv4Address ( uint32_t  i) const
Returns
an Ipv4Address of the i'th right leaf

Definition at line 100 of file point-to-point-dumbbell.cc.

References ns3::Ipv4InterfaceContainer::GetAddress().

Ipv6Address ns3::PointToPointDumbbellHelper::GetRightIpv6Address ( uint32_t  i) const
Returns
an Ipv6Address of the i'th right leaf

Definition at line 110 of file point-to-point-dumbbell.cc.

References ns3::Ipv6InterfaceContainer::GetAddress().

void ns3::PointToPointDumbbellHelper::InstallStack ( InternetStackHelper  stack)
Parameters
stackan InternetStackHelper which is used to install on every node in the dumbbell

Definition at line 125 of file point-to-point-dumbbell.cc.

References ns3::InternetStackHelper::Install().

uint32_t ns3::PointToPointDumbbellHelper::LeftCount ( ) const
Returns
total number of left side leaf nodes

Definition at line 115 of file point-to-point-dumbbell.cc.

References ns3::NodeContainer::GetN().

Referenced by AssignIpv4Addresses(), AssignIpv6Addresses(), and BoundingBox().

uint32_t ns3::PointToPointDumbbellHelper::RightCount ( ) const
Returns
total number of right side leaf nodes

Definition at line 120 of file point-to-point-dumbbell.cc.

References ns3::NodeContainer::GetN().

Referenced by AssignIpv4Addresses(), AssignIpv6Addresses(), and BoundingBox().


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