NextHopForwarding

Package: inet.networklayer.nexthop

NextHopForwarding

simple module

This module is a simplified next hop forwarding that routes datagrams using different kind of network addresses.

Author: Andras Varga

NextHopForwarding

Used in compound modules

Name Type Description
NextHopNetworkLayer compound module

This module provides a network layer for the next hop forwarding.

Parameters

Name Type Default value Description
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
display i=block/routing

Gates

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

Signals

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

Source code

//
// This module is a simplified next hop forwarding that routes
// datagrams using different kind of network addresses.
//
// @author Andras Varga
//
simple NextHopForwarding
{
    parameters:
        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