FailureProtectionConfigurator¶
Package: inet.linklayer.configurator.common
simple module FailureProtectionConfigurator
Provides Time-Sensitive Networking (TSN) configuration using other configurators. One is used to provide the stream redundancy (stream splitting and stream merging) configuration, the other one is used to provide the gate scheduling configuration.
The key parameters are the linkFailureProtection and nodeFailureProtection
fields of the individual configuration entries. Both of these take a number
and a set of links or nodes respectively. The former specifies the number of
failed links or nodes from the given set against which the stream must be
protected.
Inheritance diagram¶
Extends¶
Name |
Type |
Description |
|---|---|---|
simple module |
Base module for all INET simple modules. |
Parameters¶
Name |
Type |
Default value |
Description |
|---|---|---|---|
displayStringTextFormat |
string |
“” |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
streamRedundancyConfiguratorModule |
string |
“streamRedundancyConfigurator” |
|
gateScheduleConfiguratorModule |
string |
“gateScheduleConfigurator” |
|
configuration |
object |
[] |
A vector of objects (e.g. [{…}, {…}]) where each object has the following fields: name, type, application, source, destination, PCP, gate index, packetFilter, packetLength, packetInterval, maxLatency, linkFailureProtection, nodeFailureProtection, maxRedundancy |
Properties¶
Name |
Value |
Description |
|---|---|---|
class |
FailureProtectionConfigurator |
|
display |
i=block/cogwheel |
here is an example: [{name: “s1”, application: “app[0]”, source: “source”, destination: “destination”, pcp: 0, gateIndex: 0, packetFilter: “*”, packetLength: 200B, packetInterval: 500us, maxLatency: 100us, linkFailureProtection: [{any: 1, of: “*”}], maxRedundancy: 2}] |
Source code¶
//
// Provides Time-Sensitive Networking (TSN) configuration using other
// configurators. One is used to provide the stream redundancy (stream splitting
// and stream merging) configuration, the other one is used to provide the gate
// scheduling configuration.
//
// The key parameters are the `linkFailureProtection` and `nodeFailureProtection`
// fields of the individual configuration entries. Both of these take a number
// and a set of links or nodes respectively. The former specifies the number of
// failed links or nodes from the given set against which the stream must be
// protected.
//
simple FailureProtectionConfigurator extends SimpleModule like INetworkConfigurator
{
parameters:
@class(FailureProtectionConfigurator);
string streamRedundancyConfiguratorModule = default("streamRedundancyConfigurator");
string gateScheduleConfiguratorModule = default("gateScheduleConfigurator");
object configuration = default([]); // A vector of objects (e.g. [{...}, {...}]) where each object has the following fields: name, type, application, source, destination, PCP, gate index, packetFilter, packetLength, packetInterval, maxLatency, linkFailureProtection, nodeFailureProtection, maxRedundancy
// here is an example: [{name: "s1", application: "app[0]", source: "source", destination: "destination", pcp: 0, gateIndex: 0, packetFilter: "*", packetLength: 200B, packetInterval: 500us, maxLatency: 100us, linkFailureProtection: [{any: 1, of: "*"}], maxRedundancy: 2}]
@display("i=block/cogwheel");
}
File: src/inet/linklayer/configurator/common/FailureProtectionConfigurator.ned