IPv6RoutingTable

Package: inet.networklayer.ipv6

IPv6RoutingTable

simple module

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

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 inet::IPv6Route
NF_MROUTE_ADDED inet::IPv6MulticastRoute
NF_MROUTE_CHANGED inet::IPv6MulticastRoute
NF_ROUTE_ADDED inet::IPv6Route
NF_MROUTE_DELETED inet::IPv6MulticastRoute
NF_ROUTE_CHANGED inet::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=inet::IPv6Route);
        @signal[NF_ROUTE_CHANGED](type=inet::IPv6Route);
        @signal[NF_ROUTE_DELETED](type=inet::IPv6Route);
        @signal[NF_MROUTE_ADDED](type=inet::IPv6MulticastRoute);
        @signal[NF_MROUTE_DELETED](type=inet::IPv6MulticastRoute);
        @signal[NF_MROUTE_CHANGED](type=inet::IPv6MulticastRoute);
}
File: src/inet/networklayer/ipv6/IPv6RoutingTable.ned