Ieee8022LlcApp

Package: inet.applications.ieee8022

Ieee8022LlcApp

compound module

This module generates traffic as an IEEE 802.2 LLC application. The traffic source and traffic sink modules can be built from queueing model elements.

source : like IActivePacketSource

ActivePacketSource: This module is an active packet source which pushes packets into the connected module.

IActivePacketSource: This module interface must be implemented by active packet source modules.

Source:
source: <default("ActivePacketSource")> like IActivePacketSource if typename != "" {
    parameters:
        @display("p=200,150");
} tagger : like IPacketFlow

IPacketFlow: This module interface is implemented by packet flows.

Source:
tagger: <default("")> like IPacketFlow {
    parameters:
        @display("p=200,300");
} measurementStarter : like IPacketFlow

IPacketFlow: This module interface is implemented by packet flows.

Source:
measurementStarter: <default("")> like IPacketFlow {
    parameters:
        @display("p=200,450");
} sink : like IPassivePacketSink

PassivePacketSink: This module is a passive packet sink which is pushed with packets by the connected packet producer.

IPassivePacketSink: This module interface must be implemented by passive packet sink modules.

Source:
sink: <default("PassivePacketSink")> like IPassivePacketSink if typename != "" {
    parameters:
        @display("p=500,150");
} measurementRecorder : like IPacketFlow

IPacketFlow: This module interface is implemented by packet flows.

Source:
measurementRecorder: <default("")> like IPacketFlow {
    parameters:
        @display("p=500,450");
} io : Ieee8022LlcSocketIo

This module provides IEEE 802.2 LLC socket handling for generic applications.

Source:
io: Ieee8022LlcSocketIo {
    parameters:
        @display("p=400,600");
}

Usage diagram

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.

Inheritance diagram

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Known subclasses

Name Type Description
Ieee8022LlcSinkApp compound module

This module implements an IEEE 802.2 LLC application that only receives packets.

Ieee8022LlcSourceApp compound module

This module implements an IEEE 802.2 LLC application that only sends packets.

Parameters

Name Type Default value Description
interfaceTableModule string

Properties

Name Value Description
application
display i=block/app

Gates

Name Direction Size Description
socketIn input
socketOut output

Unassigned submodule parameters

Name Type Default value Description
io.interfaceTableModule string
io.interface string ""
io.localAddress string ""
io.remoteAddress string ""
io.localSap int -1
io.remoteSap int -1
io.stopOperationExtraTime double -1s

extra time after lifecycle stop operation finished

io.stopOperationTimeout double 2s

timeout value for lifecycle stop operation

Source code

//
// This module generates traffic as an IEEE 802.2 LLC application. The traffic
// source and traffic sink modules can be built from queueing model elements.
//
module Ieee8022LlcApp like IApp
{
    parameters:
        string interfaceTableModule;
        *.interfaceTableModule = default(absPath(this.interfaceTableModule));
        @application;
        @display("i=block/app");
    gates:
        input socketIn;
        output socketOut;
    submodules:
        source: <default("ActivePacketSource")> like IActivePacketSource if typename != "" {
            parameters:
                @display("p=200,150");
        }
        tagger: <default("")> like IPacketFlow {
            parameters:
                @display("p=200,300");
        }
        measurementStarter: <default("")> like IPacketFlow {
            parameters:
                @display("p=200,450");
        }
        sink: <default("PassivePacketSink")> like IPassivePacketSink if typename != "" {
            parameters:
                @display("p=500,150");
        }
        measurementRecorder: <default("")> like IPacketFlow {
            parameters:
                @display("p=500,450");
        }
        io: Ieee8022LlcSocketIo {
            parameters:
                @display("p=400,600");
        }
    connections allowunconnected:
        source.out --> tagger.in if exists(source);
        tagger.out --> measurementStarter.in;
        measurementStarter.out --> io.trafficIn;
        io.socketOut --> socketOut;

        socketIn --> io.socketIn;
        io.trafficOut --> measurementRecorder.in;
        measurementRecorder.out --> sink.in if exists(sink);
}
File: src/inet/applications/ieee8022/Ieee8022LlcApp.ned