NED File src/inet/linklayer/configurator/common/L2NodeConfigurator.ned¶
Name |
Type |
Description |
|---|---|---|
simple module |
Has one instance per network node, and it acts like a bridge between the node and the network’s global configurator module, L2NetworkConfigurator. |
Source code¶
//
// Copyright (C) 2013 OpenSim Ltd.
//
// SPDX-License-Identifier: LGPL-3.0-or-later
//
package inet.linklayer.configurator.common;
import inet.common.SimpleModule;
import inet.linklayer.configurator.contract.IL2NodeConfigurator;
//
// 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 extends SimpleModule like IL2NodeConfigurator
{
parameters:
@class(L2NodeConfigurator);
@display("i=block/cogwheel");
bool hasStp = default(false);
bool hasMrp = default(false);
string interfaceTableModule;
string l2ConfiguratorModule = default("l2NetworkConfigurator"); // The absolute path to the ~L2NetworkConfigurator; use "" if there is no configurator
}