Simple Module IPv6RoutingTable

Package: inet.networklayer.ipv6
File: src/inet/networklayer/ipv6/IPv6RoutingTable.ned

C++ definition

IPv6 Routing Table and Neighbour Discovery data structures. NOTE: This component MUST be named as "routingTable6" inside a StandardHost/Router etc. in order to be accessible by the IPv6 and other modules

See also: IPv6, IPv6NeighbourDiscovery, ICMPv6

IPv6RoutingTable

Usage diagram:

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.

Inheritance diagram:

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Parameters:

Name Type Default value Description
interfaceTableModule string

The path to the InterfaceTable module

ipv6TunnelingModule string "^.networkLayer.iptunneling"
routes xml xml("")
forwarding bool false
isRouter bool this.forwarding
multicastForwarding bool false
useAdminDist bool false

Use Cisco like administrative distances

Properties:

Name Value Description
display i=block/table

Signals:

Name Type Unit
NF_ROUTE_DELETED IPv6Route
NF_MROUTE_ADDED IPv6MulticastRoute
NF_MROUTE_CHANGED IPv6MulticastRoute
NF_ROUTE_ADDED IPv6Route
NF_MROUTE_DELETED IPv6MulticastRoute
NF_ROUTE_CHANGED IPv6Route

Source code:

//
// IPv6 Routing Table and Neighbour Discovery data structures.
// NOTE: This component MUST be named as "routingTable6" inside
// a StandardHost/Router etc. in order to be accessible by the
// ~IPv6 and other modules
//
// @see ~IPv6, ~IPv6NeighbourDiscovery, ~ICMPv6
//
simple IPv6RoutingTable like IRoutingTable
{
    parameters:
        string interfaceTableModule;   // The path to the InterfaceTable module
        string ipv6TunnelingModule = default("^.networkLayer.iptunneling");
        @display("i=block/table");
        xml routes = default(xml("<routingTable/>"));
        bool forwarding = default(false);
        bool isRouter = default(this.forwarding);
        bool multicastForwarding = default(false);
        bool useAdminDist = default(false);     // Use Cisco like administrative distances
        @signal[NF_ROUTE_ADDED](type=IPv6Route);
        @signal[NF_ROUTE_CHANGED](type=IPv6Route);
        @signal[NF_ROUTE_DELETED](type=IPv6Route);
        @signal[NF_MROUTE_ADDED](type=IPv6MulticastRoute);
        @signal[NF_MROUTE_DELETED](type=IPv6MulticastRoute);
        @signal[NF_MROUTE_CHANGED](type=IPv6MulticastRoute);
}