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;
}

File: src/inet/linklayer/ieee8021r/Ieee8021rLayer.ned