|
A Discrete-Event Network Simulator
|
API
|
Go to the documentation of this file.
18 #ifndef BRITE_TOPOLOGY_HELPER_H
19 #define BRITE_TOPOLOGY_HELPER_H
24 #include "ns3/channel.h"
25 #include "ns3/node-container.h"
26 #include "ns3/node-list.h"
27 #include "ns3/point-to-point-helper.h"
28 #include "ns3/internet-stack-helper.h"
29 #include "ns3/ipv6-address-helper.h"
30 #include "ns3/random-variable-stream.h"
37 class PointToPointHelper;
71 std::string newseedFile);
147 uint32_t
GetNAs (
void)
const;
std::vector< NetDeviceContainer * > m_netDevices
stores the netdevices created for each AS
Every class exported by the ns3 library is enclosed in the ns3 namespace.
std::vector< NodeContainer * > m_asLeafNodes
stores the leaf router nodes for each AS
static const int mbpsToBps
A helper class to make life easier while doing simple IPv4 address assignment in scripts.
std::string m_confFile
brite configuration file to use
uint32_t GetNEdgesTopology() const
Returns the number of edges created within the topology.
uint32_t GetNNodesTopology() const
Returns the number of nodes created within the topology.
uint32_t m_numNodes
stores the number of nodes created in the BRITE topology
Interface with BRITE, the Boston university Representative Internet Topology gEnerator.
Helper class to auto-assign global IPv6 unicast addresses.
uint32_t GetNAs(void) const
Returns the number of AS created in the topology.
uint32_t GetNLeafNodesForAs(uint32_t asNum)
Returns the number of router leaf nodes for a given AS.
std::vector< BriteEdgeInfo > BriteEdgeInfoList
The BRITE code generates multiple nodes and edges.
Edge information from BRITE.
std::vector< NodeContainer * > m_nodesByAs
stores all of the nodes in the brite topology by AS number
Ptr< Node > GetLeafNodeForAs(uint32_t asNum, uint32_t leafNum)
Returns a given router leaf node from a given AS.
std::string m_seedFile
brite seed file to use
Ptr< UniformRandomVariable > m_uv
random variable stream for brite seed file
BriteEdgeInfoList m_briteEdgeInfoList
The BRITE code generates multiple nodes and edges.
void BuildBriteNodeInfoList(void)
void AssignIpv6Addresses(Ipv6AddressHelper &address)
uint32_t m_numEdges
stores the number of edges created in the BRITE topology
uint32_t GetSystemNumberForAs(uint32_t asNum) const
Returns the system number for the MPI instance that this AS is assigned to.
std::vector< int > m_systemForAs
stores the MPI system number each AS assigned to. All assigned to 0 if MPI not used.
brite::Topology * m_topology
the Brite topology
uint32_t GetNNodesForAs(uint32_t asNum)
Returns the total number of nodes for a given AS.
std::vector< BriteNodeInfo > BriteNodeInfoList
The BRITE code generates multiple nodes and edges.
void AssignIpv4Addresses(Ipv4AddressHelper &address)
BriteNodeInfoList m_briteNodeInfoList
The BRITE code generates multiple nodes and edges.
Build a set of PointToPointNetDevice objects.
keep track of a set of node pointers.
void BuildBriteTopology(InternetStackHelper &stack)
Create NS3 topology using information generated from BRITE.
std::string m_newSeedFile
brite seed file to generate for next run
void GenerateBriteTopology(void)
void ConstructTopology(void)
BriteTopologyHelper(std::string confFile, std::string seedFile, std::string newseedFile)
Construct a BriteTopologyHelper.
aggregate IP/TCP/UDP functionality to existing Nodes.
void AssignStreams(int64_t streamNumber)
Assigns stream number to UniformRandomVariable used to generate brite seed file.
uint32_t m_numAs
stores the number of AS in the BRITE generated topology
PointToPointHelper m_britePointToPointHelper
used to create the links within the topology
void BuildBriteEdgeInfoList(void)
Node information from BRITE.
Ptr< Node > GetNodeForAs(uint32_t asNum, uint32_t nodeNum)
Returns a given router node for a given AS.