NextHopForwarding

Package: inet.networklayer.nexthop

NextHopForwarding

simple module

C++ definition

A simplified next hop forwarding that routes datagrams using different kinds of network addresses.

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

Provides a network layer for the next hop forwarding.

Extends

Name Type Description
SimpleModule simple module

Base module for all INET simple modules.

Parameters

Name Type Default value Description
displayStringTextFormat string ""

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

interfaceTableModule string

The path to the InterfaceTable module

routingTableModule string
arpModule string
procDelay double 0s
hopLimit int 32
headerLength int 10B

Properties

Name Value Description
class NextHopForwarding
display i=block/routing

Gates

Name Direction Size Description
transportIn input
transportOut output
queueIn input
queueOut output

Signals

Name Type Unit Description
packetDropped inet::Packet
packetSentToUpper inet::Packet

Source code

//
// A simplified next hop forwarding that routes
// datagrams using different kinds of network addresses.
//
simple NextHopForwarding extends SimpleModule
{
    parameters:
        @class(NextHopForwarding);
        string interfaceTableModule;   // The path to the InterfaceTable module
        string routingTableModule;
        string arpModule;
        double procDelay @unit(s) = default(0s);
        int hopLimit = default(32);
        int headerLength @unit(B) = default(10B);
        @display("i=block/routing");
        @signal[packetDropped](type=inet::Packet);
        @signal[packetSentToUpper](type=inet::Packet);
    gates:
        input transportIn @labels(TcpHeader,UdpHeader);
        output transportOut @labels(TcpHeader,UdpHeader);
        input queueIn @labels(NextHopDatagram);
        output queueOut @labels(NextHopDatagram);
}

File: src/inet/networklayer/nexthop/NextHopForwarding.ned