Simple Module MultiNetworkLayerLowerMultiplexer

Package: inet.networklayer.multi
File: src/inet/networklayer/multi/MultiNetworkLayer.ned

C++ definition

This module provides network protocol specific multiplexing. It's part of MultiNetworkLayer and it's meant to be used there.

MultiNetworkLayerLowerMultiplexer

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
MultiNetworkLayer compound module

This module supports multiple different network layers simultaneously. Packets received through the transport gates are handed over to the corresponding network layer based on the attached control info. Packets received from the interface gates are also handed over to the corresponding network layer based on their runtime type.

Properties:

Name Value Description
display i=block/fork

Gates:

Name Direction Size Description
ifUpperIn [ ] input
ifUpperOut [ ] output
ifLowerIn [ ] input
ifLowerOut [ ] output

Source code:

//
// This module provides network protocol specific multiplexing.
// It's part of MultiNetworkLayer and it's meant to be used there.
//
simple MultiNetworkLayerLowerMultiplexer
{
    parameters:
        @display("i=block/fork");

    gates:
        input ifUpperIn[] @labels(INetworkDatagram);
        output ifUpperOut[] @labels(INetworkDatagram);
        input ifLowerIn[] @labels(INetworkDatagram);
        output ifLowerOut[] @labels(INetworkDatagram);
}