Loopback

Package: inet.linklayer.loopback

Loopback

simple module

Loopback interface module implementation.

See also: LoopbackInterface

Used in compound modules

Name Type Description
LoopbackInterface compound module

This module implements a loopback network interface.

Parameters

Name Type Default value Description
interfaceTableModule string

The path to the InterfaceTable module

mtu int 4470B

Properties

Name Value Description
display i=block/rxtx

Gates

Name Direction Size Description
upperLayerIn input
upperLayerOut output

Signals

Name Type Unit
packetReceivedFromUpper cPacket
packetSentToUpper cPacket

Statistics

Name Title Source Record Unit Interpolation Mode
rcvdPkFromHl packets received from higher layer packetReceivedFromUpper count, sum(packetBytes), vector(packetBytes) none
passedUpPk packets passed to higher layer packetSentToUpper count, sum(packetBytes), vector(packetBytes) none

Direct method calls (observed)

call tofunctioninfo
MessageDispatcherinet::MessageDispatcher::arrivedarrived
InterfaceTableinet::InterfaceTable::interfaceChangedinterfaceChanged

Called methods (observed)

functioninfocall from
inet::Loopback::handleOperationStagehandleOperationStageScenarioManager, SimpleEpEnergyManagement, SimpleEpEnergyStorage

Incoming messages (observed)

gatemsgkindctrlsrcModuletags
upperLayerInPacket0Ipv4DispatchProtocolInd, InterfaceReq, NetworkProtocolInd, PacketProtocolTag, MulticastReq?, SocketReq?, TransportProtocolInd?

Outgoing messages (observed)

gatemsgkindctrldestModuletags
upperLayerOutPacket0Ipv4DispatchProtocolReq, InterfaceInd, PacketProtocolTag

Shared Tagging operations (observed)

tagTypetagAction
clearTags
DispatchProtocolReqaddTag
InterfaceIndaddTag
PacketProtocolTagaddTag, getTag

Source code

//
// Loopback interface module implementation.
//
// @see ~LoopbackInterface
//
simple Loopback
{
    parameters:
        string interfaceTableModule;   // The path to the InterfaceTable module
        int mtu @unit(B) = default(4470B);
        @display("i=block/rxtx");

        @signal[packetSentToUpper](type=cPacket);
        @signal[packetReceivedFromUpper](type=cPacket);
        @statistic[rcvdPkFromHl](title="packets received from higher layer"; source=packetReceivedFromUpper; record=count,"sum(packetBytes)","vector(packetBytes)"; interpolationmode=none);
        @statistic[passedUpPk](title="packets passed to higher layer"; source=packetSentToUpper; record=count,"sum(packetBytes)","vector(packetBytes)"; interpolationmode=none);

    gates:
        input upperLayerIn;
        output upperLayerOut;
}

File: src/inet/linklayer/loopback/Loopback.ned