File: Network/AutoRouting/NetworkConfigurator.ned
C++ definition: click here
Configures IP addresses and routing tables for a network.
This module does't connect to any other modules (it has no gates), and should have only one instance in the whole model. The module will only run once, at the beginning of the simulation. When it runs, it will:
How does it know which modules are routers, hosts, et.c that need to be configured, and what is the network topology? The configurator picks all modules of types listed in the moduleTypes parameter and their connections, and builds a graph from it. Then it runs Dijstra's shortest path algorithm on it.
To avoid interference with the above algorithm, it's recommended that no host or router should have its address set explicitly, and no routes are set up manually. Practically, routing files (.irt, .mrt) should be missing or empty.
All the above takes place in initialization stage 2. (In stage 0, interfaces register themselves in the InterfaceTable modules, and in stage 1, routing files are read.)
The following diagram shows usage relationships between modules, networks and channels. Unresolved module (and channel) types are missing from the diagram. Click here to see the full picture.
Name | Type | Description |
---|---|---|
moduleTypes | string | space-separated list of module types to be considered part of the topology |
simple NetworkConfigurator parameters: moduleTypes: string; // space-separated list of module types to be // considered part of the topology endsimple