Simple Module RoutingTable

File: Network/IPv4/RoutingTable.ned

C++ definition: click here

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

Usage diagram:

The following diagram shows usage relationships between modules, networks and channels. Unresolved module (and channel) 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.

TCPSpoofingHost

IP host with TCPSpoof in the application layer.

BurstHost

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

StandardHost

IP host with TCP, UDP layers and applications.

Router

IP router.

QuaggaRouter

Quagga-based IP router.

OSPFRouter

IP router.

RSVP_LSR

An RSVP-TE capable router.

LDP_LSR

An LDP-capable router.

WirelessHostSimplified

Models a host with one wireless (802.11b) card in infrastructure mode, but using a simplified NIC that does not support handovers. This module is basically a StandardHost with an Ieee80211NicSTASimplified added. It should be used in conjunction with WirelessAPSimplified, or any other AP model which contains Ieee80211NicAPSimplified.

WirelessHost

Models a host with one wireless (802.11b) card in infrastructure mode. This module is basically a StandardHost with an Ieee80211NicSTA added. It should be used in conjunction with WirelessAP, or any other AP model which contains Ieee80211NicAP.

MobileHost

Models a mobile host with a wireless (802.11b) card in ad-hoc mode. This model contains the new IEEE 802.11 implementation, Ieee80211Nic, and IP, TCP and UDP protocols. The mobility model can be dynamically specified with the mobilityType parameter.

MFMobileHost

Models a mobile host with a wireless (802.11b) card in ad-hoc mode. This model contains the Mobility Framework's 802.11 implementation, Nic80211, and IP, TCP and UDP protocols. The mobility model can be dynamically specified with the mobilityType parameter.

Parameters:

Name Type Description
routerId string

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

turns IP forwarding on/off

routingFile string

routing table file name

Source code:

simple RoutingTable
    parameters:
        routerId: string, // 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,  // turns IP forwarding on/off
        routingFile: string;  // routing table file name
endsimple