NextHopRoutingTable

Package: inet.networklayer.nexthop

NextHopRoutingTable

simple module

This module stores next hop routes used by the next hop forwarding protocol.

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

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

addressType string "modulepath"
routerId string "auto"

for routers, the router id using address dotted notation; specify "auto" to select the highest interface address; should be left empty ("") for hosts

forwarding bool true

turns IP forwarding on/off

multicastForwarding bool false

turns multicast forwarding on/off

Properties

Name Value Description
display i=block/table

Signals

Name Type Unit
routeDeleted inet::NextHopRoute
routeChanged inet::NextHopRoute
routeAdded inet::NextHopRoute

Direct method calls (observed)

call tofunctioninfo
InterfaceTableinet::InterfaceTable::interfaceChangedinterfaceChanged

Called methods (observed)

functioninfocall from
inet::NextHopRoutingTable::addRouteaddRoute(...)NextHopNetworkConfigurator, Dymo
inet::NextHopRoutingTable::findBestMatchingRoutefindBestMatchingRoute(%s)NextHopForwarding, Dymo
inet::NextHopRoutingTable::getInterfaceByAddressgetInterfaceByAddress(%s)NextHopForwarding
inet::NextHopRoutingTable::isLocalAddressisLocalAddress(%s)NextHopForwarding, Dymo, Gpsr
inet::NextHopRoutingTable::isLocalMulticastAddressisLocalMulticastAddress(%s)NextHopForwarding
inet::NextHopRoutingTable::receiveSignalinterfaceConfigChangedInterfaceTable
inet::NextHopRoutingTable::receiveSignalinterfaceCreatedEthernetInterface, Ieee80211Interface, LoopbackInterface, PppInterface
inet::NextHopRoutingTable::receiveSignalinterfaceIpv4ConfigChangedInterfaceTable
inet::NextHopRoutingTable::receiveSignalinterfaceStateChangedInterfaceTable
inet::NextHopRoutingTable::removeRouteremoveRoute(...)Dymo

Tagging operations (observed)

tagTypetagAction
inet::NextHopInterfaceDataaddTag, findTag, getTag

Source code

//
// This module stores next hop routes used by the next hop forwarding protocol.
//
simple NextHopRoutingTable like IRoutingTable
{
    parameters:
        string interfaceTableModule;   // The path to the InterfaceTable module
        @display("i=block/table");
        string addressType @enum("mac","modulepath","moduleid") = default("modulepath");
        string routerId = default("auto"); // for routers, the router id using address dotted
                          // notation; specify "auto" to select the highest
                          // interface address; should be left empty ("") for hosts
        bool forwarding = default(true);  // turns IP forwarding on/off
        bool multicastForwarding = default(false); // turns multicast forwarding on/off
        @signal[routeAdded](type=inet::NextHopRoute);
        @signal[routeDeleted](type=inet::NextHopRoute);
        @signal[routeChanged](type=inet::NextHopRoute);
}

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