LoopbackInterface

Package: inet.linklayer.loopback

LoopbackInterface

compound module

Loopback interface. Complements the Loopback module.

outputHook[numOutputHooks] : like IHook

Nop: Just lets messages through without any change or delay.

IHook: Generic module that can be inserted in some points in the model

Source:
outputHook[numOutputHooks]: <default("Nop")> like IHook if numOutputHooks>0 {
    @display("p=42,33");
} inputHook[numInputHooks] : like IHook

Nop: Just lets messages through without any change or delay.

IHook: Generic module that can be inserted in some points in the model

Source:
inputHook[numInputHooks]: <default("Nop")> like IHook if numInputHooks>0 {
    @display("p=177,33");
} lo : Loopback

Loopback interface module implementation.

Source:
lo: Loopback {
    parameters:
        @display("p=98,207");
}

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.

Used in compound modules

Name Type Description
LDP_LSR compound module

An LDP-capable router.

NodeBase compound module

Contains the common lower layers (linklayer and networklayer) of Router, StandardHost, WirelessHost etc.

RSVP_LSR compound module

An RSVP-TE capable router.

Parameters

Name Type Default value Description
interfaceTableModule string
numOutputHooks int 0
numInputHooks int 0

Properties

Name Value Description
display i=block/ifcard;bgb=214,249;bgl=53

Gates

Name Direction Size Description
upperLayerIn input
upperLayerOut output

Unassigned submodule parameters

Name Type Default value Description
lo.interfaceTableModule string

The path to the InterfaceTable module

lo.mtu int 4470B

Source code

//
// Loopback interface. Complements the ~Loopback module.
//
module LoopbackInterface like INic
{
    parameters:
        @display("i=block/ifcard;bgb=214,249;bgl=53");
        string interfaceTableModule;
        int numOutputHooks = default(0);
        int numInputHooks = default(0);
        *.interfaceTableModule = default(absPath(this.interfaceTableModule));
    gates:
        input upperLayerIn;
        output upperLayerOut;
    submodules:
        outputHook[numOutputHooks]: <default("Nop")> like IHook if numOutputHooks>0 {
            @display("p=42,33");
        }
        inputHook[numInputHooks]: <default("Nop")> like IHook if numInputHooks>0 {
            @display("p=177,33");
        }
        lo: Loopback {
            parameters:
                @display("p=98,207");
        }
    connections:
        upperLayerIn --> { @display("m=n"); } --> outputHook[0].in if numOutputHooks > 0;
        upperLayerIn --> { @display("m=n"); } --> lo.netwIn if numOutputHooks == 0;

        for i=0..numOutputHooks-2 {
            outputHook[i].out --> outputHook[i+1].in;
        }
        outputHook[numOutputHooks-1].out --> lo.netwIn if numOutputHooks > 0;

        lo.netwOut --> { @display("m=n"); } --> upperLayerOut if numInputHooks == 0;

        lo.netwOut --> inputHook[0].in if numInputHooks > 0;

        for i=0..numInputHooks-2 {
            inputHook[i].out --> inputHook[i+1].in;
        }
        inputHook[numInputHooks-1].out --> { @display("m=n"); } --> upperLayerOut if numInputHooks > 0;
}

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