Package: inet.networklayer.configurator.ipv4
IPv4NodeConfigurator
simple moduleThis module has one instance per network node, and it acts like a bridge between the node and the network's global configurator module, IPv4NetworkConfigurator.
IPv4NetworkConfigurator only computes and remembers configuration data (assigned IP addresses, static routes, etc), but doesn't configure the nodes' routing tables and interfaces accordingly. The actual configuration is carried out by this module, at network initialization time and also when the node restarts (i.e. after a shutdown or a crash.)
This module is needed because of failure/restart scenarios: IPv4NetworkConfigurator would not be able to configure the node after a restart, because being a global module, it doesn't know about node lifecycle events.
Used in compound modules
Name | Type | Description |
---|---|---|
IPv4NetworkLayer | compound module |
Network layer of an IPv4 node. |
Parameters
Name | Type | Default value | Description |
---|---|---|---|
interfaceTableModule | string |
The path to the InterfaceTable module |
|
networkConfiguratorModule | string | "configurator" |
TODO: eventually rename to networkConfigurator |
configureRoutingTable | bool | true |
add routing entries to routing table (uses the configurator module) |
Properties
Name | Value | Description |
---|---|---|
display | i=block/cogwheel_s |
Source code
// // This module has one instance per network node, and it acts like a bridge // between the node and the network's global configurator module, // ~IPv4NetworkConfigurator. // // ~IPv4NetworkConfigurator only computes and remembers configuration data // (assigned IP addresses, static routes, etc), but doesn't configure the nodes' // routing tables and interfaces accordingly. The actual configuration is // carried out by this module, at network initialization time and also when // the node restarts (i.e. after a shutdown or a crash.) // // This module is needed because of failure/restart scenarios: // ~IPv4NetworkConfigurator would not be able to configure the node after // a restart, because being a global module, it doesn't know about node // lifecycle events. // simple IPv4NodeConfigurator { parameters: string interfaceTableModule; // The path to the InterfaceTable module // TODO: eventually rename to networkConfigurator string networkConfiguratorModule = default("configurator"); // the absolute path to the IPv4NetworkConfigurator; use "" if there is no configurator bool configureRoutingTable = default(true); // add routing entries to routing table (uses the configurator module) @display("i=block/cogwheel_s"); }File: src/inet/networklayer/configurator/ipv4/IPv4NodeConfigurator.ned