Ospfv3¶
Package: inet.routing.ospfv3
compound module Ospfv3
Implements the OSPFv3 (Open Shortest Path First version 3) routing protocol for IPv4 and IPv6 networks. This module supports dynamic routing based on link state advertisements, allowing routers to discover and maintain routes to all destinations in an autonomous system.
Usage diagram¶
Inheritance diagram¶
Parameters¶
Name |
Type |
Default value |
Description |
|---|---|---|---|
interfaceTableModule |
string |
The path to the InterfaceTable module |
|
routingTableModule |
string |
||
routingTableModule6 |
string |
||
checksumMode |
string |
“declared” |
checksum mode for outgoing OSPFv3 packets and originated LSAs; set to “computed” for RFC-correct, Wireshark-verifiable checksums |
Properties¶
Name |
Value |
Description |
|---|---|---|
display |
bgb=510,238;i=block/network2 |
Gates¶
Name |
Direction |
Size |
Description |
|---|---|---|---|
ipIn |
input |
||
ipOut |
output |
Unassigned submodule parameters¶
Name |
Type |
Default value |
Description |
|---|---|---|---|
ospfv3Splitter.displayStringTextFormat |
string |
“” |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
ospfv3Splitter.ospfv3RoutingConfig |
xml |
||
ospfv3Splitter.ospfv3IntConfig |
xml |
||
ospfv3Splitter.interfaceTableModule |
string |
||
ospfv3Splitter.routingTableModule |
string |
||
ospfv3Splitter.routingTableModule6 |
string |
||
ospfv3Splitter.checksumMode |
string |
“declared” |
passed on to each Ospfv3Process |
Source code¶
//
// Implements the OSPFv3 (Open Shortest Path First version 3) routing protocol for
// IPv4 and IPv6 networks. This module supports dynamic routing based on link state
// advertisements, allowing routers to discover and maintain routes to all
// destinations in an autonomous system.
//
module Ospfv3 like IOspf
{
parameters:
string interfaceTableModule; // The path to the InterfaceTable module
string routingTableModule;
string routingTableModule6;
string checksumMode @enum("declared", "computed") = default("declared"); // checksum mode for outgoing OSPFv3 packets and originated LSAs; set to "computed" for RFC-correct, Wireshark-verifiable checksums
*.interfaceTableModule = default(absPath(this.interfaceTableModule));
*.routingTableModule = default(absPath(this.routingTableModule));
*.routingTableModule6 = default(absPath(this.routingTableModule6));
*.checksumMode = default(this.checksumMode);
@display("bgb=510,238;i=block/network2");
gates:
input ipIn @labels(Ipv6ControlInfo/up);
output ipOut @labels(Ipv6ControlInfo/down);
submodules:
ospfv3Splitter: Ospfv3Splitter {
@display("p=254,176");
}
connections:
ipIn --> ospfv3Splitter.ipIn;
ipOut <-- ospfv3Splitter.ipOut;
}