Simple Module RoutingTable

Package: inet.networklayer.ipv4
File: src/networklayer/ipv4/RoutingTable.ned

C++ definition

Stores the routing table. (Per-interface configuration is stored in InterfaceTable.)

For hosts, the routerId module parameter should be empty (""), in which case the loopback IP address will be set to 127.0.0.1/8. For routers which have a routerId set, the loopback address will be set to routerId. (See also RFC 2072 "Router Renumbering Guide".)

RouterId may also be set to the string "auto", in which case the highest interface address will be chosen as routerId; the loopback address will remain 127.0.0.1/8.

The routing table is read from a file (parameter routingFile); the file can also fill in or overwrite interface settings. The file format is documented here.

Note that many protocols don't require routerId to be routable, but some others do -- so it is probably a good idea to set up routable routerIds.

This module has no gates; all functionality can be accessed via member functions of the C++ module class. For detailed info, please see the C++ documentation of the class (Doxygen).

See also: InterfaceTable

Author:: Jochen Reber, Andras Varga

RoutingTable

Usage diagram:

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram. Click here to see the full picture.

Inheritance diagram:

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram. Click here to see the full picture.

Used in compound modules:

If a module type shows up more than once, that means it has been defined in more than one NED file.

BurstHost (compound module)

Definition of an IP node with a transport generator that connects to IP directly, without TCP or UDP.

ExtRouter (compound module)

External router.

LDP_LSR (compound module)

An LDP-capable router.

OSPFRouter (compound module)

An OSPFv2 router.

Router (compound module)

IP router.

RSVP_LSR (compound module)

An RSVP-TE capable router.

RTPHost (compound module) (no description)
StandardHost (compound module)

IP host with SCTP, TCP, UDP layers and applications.

StandardHostWithDLDuplicatesGenerator (compound module)

IP host with SCTP, TCP, UDP layers and applications AND PPPInterfaceWithDLDuplicatesGenerator.

StandardHostWithDLThruputMeter (compound module)

IP host with SCTP, TCP, UDP layers and applications AND PPPInterfaceWithDLThruputMeter.

StandardHostWithULDropsGenerator (compound module)

IP host with SCTP, TCP, UDP layers and applications AND PPPInterfaceWithULDropsGenerator.

StandardHostWithULThruputMeter (compound module)

IP host with SCTP, TCP, UDP layers and applications AND PPPInterfaceWithULThruputMeter.

TCPSpoofingHost (compound module)

IP host with TCPSpoof in the application layer.

Parameters:

Name Type Default value Description
routerId string "auto"

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

IPForward bool true

turns IP forwarding on/off

routingFile string ""

routing table file name

Properties:

Name Value Description
display i=block/table

Source code:

//
// Stores the routing table. (Per-interface configuration is stored in
// InterfaceTable.)
//
// For hosts, the routerId module parameter should be empty (""),
// in which case the loopback IP address will be set to 127.0.0.1/8.
// For routers which have a routerId set, the loopback address will be set to
// routerId. (See also RFC 2072 "\Router Renumbering Guide".)
//
// RouterId may also be set to the string <tt>"auto"</tt>, in which case the
// highest interface address will be chosen as routerId; the loopback address
// will remain 127.0.0.1/8.
//
// The routing table is read from a file (parameter routingFile);
// the file can also fill in or overwrite interface settings.
// The file format is documented <a href="irt.html">here</a>.
//
// Note that many protocols don't require routerId to be routable, but some
// others do -- so it is probably a good idea to set up routable routerIds.
//
// This module has no gates; all functionality can be accessed via member
// functions of the C++ module class. For detailed info, please see the C++
// documentation of the class (Doxygen).
//
// @see InterfaceTable
// @author: Jochen Reber, Andras Varga
//
simple RoutingTable
{
    parameters:
        string routerId = default("auto"); // for routers, the router id using IP address dotted
                          // notation; specify "auto" to select the highest
                          // interface address; should be left empty ("") for hosts
        bool IPForward = default(true);  // turns IP forwarding on/off
        string routingFile = default("");  // routing table file name
        @display("i=block/table");
}