Package: inet.linklayer.configurator
L2NodeConfigurator
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, L2NetworkConfigurator.
L2NetworkConfigurator only computes and remembers configuration data (port priority, link cost, 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: L2NetworkConfigurator 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 |
---|---|---|
EthernetSwitch | compound module |
Model of an Ethernet switch. |
Parameters
Name | Type | Default value | Description |
---|---|---|---|
interfaceTableModule | string | ||
l2ConfiguratorModule | string | "l2NetworkConfigurator" |
the absolute path to the L2NetworkConfigurator; use "" if there is no configurator |
Properties
Name | Value | Description |
---|---|---|
display | i=block/cogwheel |
Direct method calls (observed)
call to | function | info |
---|---|---|
InterfaceTable | inet::InterfaceTable::interfaceChanged | interfaceChanged |
Called methods (observed)
function | info | call from |
---|---|---|
inet::L2NodeConfigurator::handleOperationStage | handleOperationStage | ScenarioManager |
inet::L2NodeConfigurator::receiveSignal | interfaceCreated | LayeredEthernetInterface |
Tagging operations (observed)
tagType | tagAction |
---|---|
inet::Ieee8021dInterfaceData | addTag, getTagForUpdate |
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, // ~L2NetworkConfigurator. // // ~L2NetworkConfigurator only computes and remembers configuration data // (port priority, link cost, 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: // ~L2NetworkConfigurator 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 L2NodeConfigurator { parameters: @display("i=block/cogwheel"); string interfaceTableModule; string l2ConfiguratorModule = default("l2NetworkConfigurator"); // the absolute path to the ~L2NetworkConfigurator; use "" if there is no configurator }File: src/inet/linklayer/configurator/L2NodeConfigurator.ned