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"
50 class PointToPointHelper;
64 std::string newseedFile);
82 void AssignStreams (int64_t streamNumber);
107 uint32_t GetNLeafNodesForAs (uint32_t asNum);
116 Ptr<Node> GetLeafNodeForAs (uint32_t asNum, uint32_t leafNum);
124 uint32_t GetNNodesForAs (uint32_t asNum);
133 Ptr<Node> GetNodeForAs (uint32_t asNum, uint32_t nodeNum);
140 uint32_t
GetNAs (
void)
const;
184 static const int mbpsToBps = 1000000;
248 std::string m_confFile;
251 std::string m_seedFile;
254 std::string m_newSeedFile;
260 std::vector<NetDeviceContainer*> m_netDevices;
263 std::vector<NodeContainer*> m_asLeafNodes;
266 std::vector<NodeContainer*> m_nodesByAs;
269 std::vector<int> m_systemForAs;
271 brite::Topology* m_topology;
285 typedef std::vector<BriteEdgeInfo> BriteEdgeInfoList;
288 BriteEdgeInfoList m_briteEdgeInfoList;
Node information from BRITE.
std::vector< BriteNodeInfo > BriteNodeInfoList
Edge information from BRITE.
uint32_t GetNAs(void) const
aggregate IP/TCP/UDP functionality to existing Nodes.
void AssignIpv6Addresses(Ipv6AddressHelper &address)
Build a set of PointToPointNetDevice objects.
void ConstructTopology(void)
uint32_t GetNEdgesTopology() const
void BuildBriteNodeInfoList(void)
void AssignIpv4Addresses(Ipv4AddressHelper &address)
uint32_t GetNNodesTopology() const
void BuildBriteEdgeInfoList(void)
keep track of a set of node pointers.
void GenerateBriteTopology(void)
Helper class to auto-assign global IPv6 unicast addresses.
uint32_t GetSystemNumberForAs(uint32_t asNum) const
A helper class to make life easier while doing simple IPv4 address assignment in scripts.