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;
}

File: src/inet/routing/ospfv3/Ospfv3.ned