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.

Used in compound modules

Name Type Description
Ipv6NetworkLayer compound module

Represents an IPv6 network layer (L3).

Parameters

Name Type Default value Description
interfaceTableModule string

The path to the InterfaceTable module

ipv6TunnelingModule string "^.ipv6.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
routeDeleted inet::Ipv6Route
mrouteChanged inet::IPv6MulticastRoute
mrouteDeleted inet::IPv6MulticastRoute
routeChanged inet::Ipv6Route
mrouteAdded inet::IPv6MulticastRoute
routeAdded inet::Ipv6Route

Direct method calls (observed)

call tofunctioninfo
InterfaceTableinet::InterfaceTable::interfaceChangedinterfaceChanged
EigrpIpv4Pdminet::eigrp::EigrpIpv4Pdm::receiveSignalrouteDeleted
EigrpIpv6Pdminet::eigrp::EigrpIpv6Pdm::receiveSignalrouteDeleted

Called methods (observed)

functioninfocall from
inet::Ipv6RoutingTable::doLongestPrefixMatchdoLongestPrefixMatch(%s)Ipv6NeighbourDiscovery, Ipv6, Dymo, Sctp
inet::Ipv6RoutingTable::getInterfaceByAddressgetInterfaceByAddress(%s)=?Ipv6
inet::Ipv6RoutingTable::isLocalAddressisLocalAddress(%s)Ipv6, Dymo, Gpsr, Rip
inet::Ipv6RoutingTable::lookupDestCachelookupDestCache(%s)Ipv6
inet::Ipv6RoutingTable::receiveSignalinterfaceConfigChangedInterfaceTable
inet::Ipv6RoutingTable::receiveSignalinterfaceIpv6ConfigChangedInterfaceTable
inet::Ipv6RoutingTable::receiveSignalinterfaceStateChangedInterfaceTable

Tagging operations (observed)

tagTypetagAction
inet::Ipv6InterfaceDataaddTag, findTag, getTag, getTagForUpdate
inet::NextHopInterfaceDatafindTag

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("^.ipv6.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[routeAdded](type=inet::Ipv6Route);
        @signal[routeChanged](type=inet::Ipv6Route);
        @signal[routeDeleted](type=inet::Ipv6Route);
        @signal[mrouteAdded](type=inet::IPv6MulticastRoute);
        @signal[mrouteDeleted](type=inet::IPv6MulticastRoute);
        @signal[mrouteChanged](type=inet::IPv6MulticastRoute);
}

File: src/inet/networklayer/ipv6/Ipv6RoutingTable.ned