Simple Module MultiNetworkLayerUpperMultiplexer

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.

MultiNetworkLayerUpperMultiplexer

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
transportUpperIn [ ] input
transportUpperOut [ ] output
transportLowerIn [ ] input
transportLowerOut [ ] output
pingUpperIn [ ] input
pingUpperOut [ ] output
pingLowerIn [ ] input
pingLowerOut [ ] output

Source code:

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

    gates:
        input transportUpperIn[];
        output transportUpperOut[];
        input transportLowerIn[];
        output transportLowerOut[];
        input pingUpperIn[];
        output pingUpperOut[];
        input pingLowerIn[];
        output pingLowerOut[];
}