NextHopForwarding

Package: inet.networklayer.nexthop

simple module NextHopForwarding

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

inet.networklayer.nexthop.NextHopForwardingNextHopForwardingsimple

Usage diagram

Inheritance 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

“{nextHopStatusText}”

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);
        displayStringTextFormat = default("{nextHopStatusText}");
        @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