OverSim
|
Configures the nodes belonging to the topology before starting the actual simulation. More...
#include <RUNetworkConfigurator.h>
Public Member Functions | |
RUNetworkConfigurator () | |
virtual | ~RUNetworkConfigurator () |
Protected Member Functions | |
virtual int | numInitStages () const |
virtual void | initialize (int stage) |
Main method of the network configurator. | |
virtual void | handleMessage (cMessage *msg) |
void | createInterASPaths () |
Add Inter-AS routing paths between core nodes. | |
void | disableStubLinks (nodeInfoRL &dst, nodeInfoRL &src) |
Disable all incoming links of Stub AS except to and from dst and src. | |
void | enableStubLinks () |
Enable all incoming links of Stub AS. | |
void | extractTopology () |
Extract topology from NED file. | |
void | assignAddressAndSetDefaultRoutes (nodeInfoAS &asInfo) |
Assign IP address and add default route. | |
void | setIntraASRoutes (cTopology &topology, nodeInfoAS &asInfo) |
Add explicit Intra-AS routing paths (except of default routes) |
Protected Attributes | |
std::vector< cTopology * > | rlTopology |
cTopology | asTopology |
int | noAS |
int | nextPow |
NODE_INFO_AS_VEC | asNodeVec |
unsigned int | IP_NET_SHIFT |
uint32_t | NET_MASK |
Configures the nodes belonging to the topology before starting the actual simulation.
This class is responsible for assignment of IP addresses to all nodes of the topology. Furthermore, routing tables have to be filled and default routing paths must be created. Routing is separated into Intra-AS and Inter-AS routing.
Definition at line 252 of file RUNetworkConfigurator.h.
RUNetworkConfigurator::RUNetworkConfigurator | ( | ) |
Definition at line 34 of file RUNetworkConfigurator.cc.
|
virtual |
Definition at line 38 of file RUNetworkConfigurator.cc.
|
protected |
Assign IP address and add default route.
Assigns an IP address of the calculated prefix to each of the router-level nodes.
Additionally, default routes are added for gateway, edge, and host nodes. Core nodes are stored into an additional list for later processing.
asInfo | AS for which IP addresses should be assigned to router-level nodes. |
Definition at line 244 of file RUNetworkConfigurator.cc.
|
protected |
Add Inter-AS routing paths between core nodes.
Calculate all Inter-AS. This is achieved by calculating all shortest paths between all core routers of the whole topology. Temporarily disable all stub links during calculation of shortest paths to ensure that a stub AS is not crossed but may only be present at start or end of a routing path.
Definition at line 102 of file RUNetworkConfigurator.cc.
|
protected |
Disable all incoming links of Stub AS except to and from dst and src.
Disable all incoming links to core nodes of each stub AS that do not match on given dst or src router-level node ID.
Definition at line 151 of file RUNetworkConfigurator.cc.
|
protected |
Enable all incoming links of Stub AS.
Enable all incoming links to core nodes of each stub AS
Definition at line 166 of file RUNetworkConfigurator.cc.
|
protected |
Extract topology from NED file.
Extracts AS-level topology and each router-level topology into asTopology and rlTopology. Additionally, each AS gets assigned a unique calculated prefix
Definition at line 178 of file RUNetworkConfigurator.cc.
|
inlineprotectedvirtual |
Definition at line 278 of file RUNetworkConfigurator.h.
|
protectedvirtual |
Main method of the network configurator.
Topology is extracted from NED file, IP addresses are assigned, and routing paths are established.
Definition at line 42 of file RUNetworkConfigurator.cc.
|
inlineprotectedvirtual |
Definition at line 270 of file RUNetworkConfigurator.h.
|
protected |
Add explicit Intra-AS routing paths (except of default routes)
Calculate all Intra-AS routes that are unequal to the default routes. Therefore, all shortest paths between all router-level nodes are calculated. If the first hop is unequal to the default route, a new specific route is added.
topology | |
asInfo | AS for which Intra-AS routes should be determined |
Definition at line 324 of file RUNetworkConfigurator.cc.
|
protected |
Definition at line 259 of file RUNetworkConfigurator.h.
|
protected |
Definition at line 256 of file RUNetworkConfigurator.h.
|
protected |
Definition at line 260 of file RUNetworkConfigurator.h.
|
protected |
Definition at line 261 of file RUNetworkConfigurator.h.
|
protected |
Definition at line 258 of file RUNetworkConfigurator.h.
|
protected |
Definition at line 257 of file RUNetworkConfigurator.h.
|
protected |
Definition at line 255 of file RUNetworkConfigurator.h.