Ieee8021rLayer¶
Package: inet.linklayer.ieee8021r
compound module Ieee8021rLayer
(no description)
Usage diagram¶
Inheritance diagram¶
Parameters¶
Name |
Type |
Default value |
Description |
|---|---|---|---|
interfaceTableModule |
string |
Properties¶
Name |
Value |
Description |
|---|---|---|
display |
i=block/layer |
Gates¶
Name |
Direction |
Size |
Description |
|---|---|---|---|
upperLayerIn |
input |
||
upperLayerOut |
output |
||
lowerLayerIn |
input |
||
lowerLayerOut |
output |
Unassigned submodule parameters¶
Name |
Type |
Default value |
Description |
|---|---|---|---|
policy.streamIdentifier.identifier.displayStringTextFormat |
string |
“processed {numProcessedPackets} pk ({processedTotalLength})” |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
policy.streamIdentifier.identifier.hasSequenceNumbering |
bool |
true |
|
policy.streamIdentifier.identifier.mapping |
object |
[] |
Array of objects, where each object specifies a stream name and a packetFilter, for example [{stream: “s0”, packetFilter: “*”}, …] |
policy.streamRelay.merger.displayStringTextFormat |
string |
“dropped {numDroppedPackets}/{numProcessedPackets} pk ({droppedTotalLength}/{processedTotalLength})” |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
policy.streamRelay.merger.backpressure |
bool |
false |
|
policy.streamRelay.merger.mapping |
object |
{} |
Map of input streams to output streams. An empty string means no stream. For example, {s0: “s1”, …} |
policy.streamRelay.merger.bufferSize |
int |
10 |
Window size for sequence numbers per stream. |
policy.streamRelay.splitter.displayStringTextFormat |
string |
“processed {numProcessedPackets} pk ({processedTotalLength})” |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
policy.streamRelay.splitter.mapping |
object |
{} |
Map from input stream names to array of output stream names, empty string means no stream |
policy.streamCoder.decoder.displayStringTextFormat |
string |
“processed {numProcessedPackets} pk ({processedTotalLength})” |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
policy.streamCoder.decoder.interfaceTableModule |
string |
Relative module path of the interface table |
|
policy.streamCoder.decoder.mapping |
object |
[] |
Array of objects, where each object maps a network interface name pattern, a source address, a destination address, a VLAN id, and a PCP value to a stream name, for example [{stream: “s1”, interface: “eth0”, destination: “dest1”, pcp: 3}, …] |
policy.streamCoder.encoder.displayStringTextFormat |
string |
“processed {numProcessedPackets} pk ({processedTotalLength})” |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
policy.streamCoder.encoder.mapping |
object |
[] |
Array of objects, where each object maps a stream name to a VLAN ID and PCP value, for example [{stream: “s1”, vlan: 12, pcp: 7}, …] |
protocol.rTagHeaderInserter.displayStringTextFormat |
string |
“processed {numProcessedPackets} pk ({processedTotalLength})” |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
protocol.rTagHeaderInserter.nextProtocol |
string |
“ieee8021qctag” |
|
protocol.rTagHeaderChecker.displayStringTextFormat |
string |
“dropped {numDroppedPackets}/{numProcessedPackets} pk ({droppedTotalLength}/{processedTotalLength})” |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
protocol.rTagHeaderChecker.backpressure |
bool |
false |
Source code¶
module Ieee8021rLayer like IIeee8021rLayer
{
parameters:
string interfaceTableModule;
*.interfaceTableModule = default(this.interfaceTableModule);
@display("i=block/layer");
gates:
input upperLayerIn;
output upperLayerOut;
input lowerLayerIn;
output lowerLayerOut;
submodules:
policy: <default("StreamPolicyLayer")> like IProtocolLayer {
@display("p=300,150");
}
protocol: <default("Ieee8021rProtocol")> like IIeee8021rLayer {
@display("p=300,300");
}
connections:
upperLayerIn --> { @display("m=n"); } --> policy.upperLayerIn;
policy.lowerLayerOut --> protocol.upperLayerIn;
protocol.lowerLayerOut --> { @display("m=s"); } --> lowerLayerOut;
lowerLayerIn --> { @display("m=s"); } --> protocol.lowerLayerIn;
protocol.upperLayerOut --> policy.lowerLayerIn;
policy.upperLayerOut --> { @display("m=n"); } --> upperLayerOut;
}