Simple Module NetworkProtocolBase

Package: inet.networklayer.base
File: src/inet/networklayer/base/NetworkProtocolBase.ned

C++ definition

Module base for different network protocols.

NetworkProtocolBase

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.

Extends:

Name Type Description
LayeredProtocolBase simple module

Module base for different layered protocols.

Known subclasses:

Name Type Description
Flood simple module

A simple flooding protocol for network-level broadcast.

ProbabilisticBroadcast simple module

Multi-hop ad-hoc data dissemination protocol based on probabilistic broadcast.

WiseRoute simple module

Wiseroute is a simple loop-free routing algorithm that builds a routing tree from a central network point, designed for sensor networks and convergecast traffic.

Parameters:

Name Type Default value Description
interfaceTableModule string

Properties:

Name Value Description
display i=block/fork

Gates:

Name Direction Size Description
upperLayerIn [ ] input
upperLayerOut [ ] output
lowerLayerIn [ ] input
lowerLayerOut [ ] output

Signals:

Name Type Unit
packetReceivedFromUpper cPacket
packetReceivedFromLower cPacket
packetFromLowerDropped cPacket
packetFromUpperDropped cPacket
packetSentToLower cPacket
packetSentToUpper cPacket

Source code:

//
// Module base for different network protocols.
//
simple NetworkProtocolBase extends LayeredProtocolBase
{
    parameters:
        string interfaceTableModule;
        @display("i=block/fork");
    gates:
        input upperLayerIn[] @labels(ITransportPacket/down);
        output upperLayerOut[] @labels(ITransportPacket/up);
        input lowerLayerIn[] @labels(INetworkDatagram/up);
        output lowerLayerOut[] @labels(INetworkDatagram/down);
}