Ipv4RoutingTable.ned
NED File src/inet/networklayer/ipv4/Ipv4RoutingTable.ned
| Name | Type | Description |
|---|---|---|
| Ipv4RoutingTable | simple module |
Stores the routing table. (Per-interface configuration is stored in ~InterfaceTable.) |
Source code
// // Copyright (C) 2004 OpenSim Ltd. // Copyright (C) 2000 Institut fuer Telematik, Universitaet Karlsruhe // // SPDX-License-Identifier: LGPL-3.0-or-later // package inet.networklayer.ipv4; import inet.common.SimpleModule; import inet.networklayer.contract.IRoutingTable; // // 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 IPv4 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 <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 // simple Ipv4RoutingTable extends SimpleModule like IRoutingTable { parameters: @class(Ipv4RoutingTable); string interfaceTableModule; // The path to the InterfaceTable module string routerId = default("auto"); // For routers, the router id using IPv4 address dotted // notation; specify "auto" to select the highest // interface address; should be left empty ("") for hosts string netmaskRoutes = default("*"); // Maintain netmask routes for interfaces bool forwarding = default(true); // Turns IP forwarding on/off bool multicastForwarding = default(false); // Turns multicast forwarding on/off bool useAdminDist = default(false); // Use Cisco-like administrative distances string routingFile = default(""); // Routing table file name @display("i=block/table"); @signal[routeAdded](type=inet::Ipv4Route); @signal[routeDeleted](type=inet::Ipv4Route); @signal[routeChanged](type=inet::Ipv4Route); @signal[mrouteAdded](type=inet::Ipv4MulticastRoute); @signal[mrouteDeleted](type=inet::Ipv4MulticastRoute); @signal[mrouteChanged](type=inet::Ipv4MulticastRoute); }