Package: inet.networklayer.ipv6
Ipv6RoutingTable
simple moduleIPv6 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 to | function | info |
---|---|---|
InterfaceTable | inet::InterfaceTable::interfaceChanged | interfaceChanged |
EigrpIpv4Pdm | inet::eigrp::EigrpIpv4Pdm::receiveSignal | routeDeleted |
EigrpIpv6Pdm | inet::eigrp::EigrpIpv6Pdm::receiveSignal | routeDeleted |
Called methods (observed)
function | info | call from |
---|---|---|
inet::Ipv6RoutingTable::doLongestPrefixMatch | doLongestPrefixMatch(%s) | Ipv6NeighbourDiscovery, Ipv6, Dymo, Sctp |
inet::Ipv6RoutingTable::getInterfaceByAddress | getInterfaceByAddress(%s)=? | Ipv6 |
inet::Ipv6RoutingTable::isLocalAddress | isLocalAddress(%s) | Ipv6, Dymo, Gpsr, Rip |
inet::Ipv6RoutingTable::lookupDestCache | lookupDestCache(%s) | Ipv6 |
inet::Ipv6RoutingTable::receiveSignal | interfaceConfigChanged | InterfaceTable |
inet::Ipv6RoutingTable::receiveSignal | interfaceIpv6ConfigChanged | InterfaceTable |
inet::Ipv6RoutingTable::receiveSignal | interfaceStateChanged | InterfaceTable |
Tagging operations (observed)
tagType | tagAction |
---|---|
inet::Ipv6InterfaceData | addTag, findTag, getTag, getTagForUpdate |
inet::NextHopInterfaceData | findTag |
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