Simple Module OSPFRouting

Package: inet.routing.ospfv2
File: src/inet/routing/ospfv2/OSPFRouting.ned

C++ definition

Implements the OSPFv4 routing protocol.

OSPFRouting

Usage diagram:

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.

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
BGPRouterEx compound module

Example IP router with BGPv4 and OSPFv4 support.

Parameters:

Name Type Default value Description
interfaceTableModule string
routingTableModule string
ospfConfig xml

xml containing the full OSPF AS configuration

helloInterval int 10s

default values for attributes of interface xml entries:

pollInterval int 120s
routerDeadInterval int 40s
retransmissionInterval int 5s
interfaceOutputCost int 1
interfaceTransmissionDelay int 1
routerPriority int 1
authenticationType string "NullType"

SimplePasswordType|CrytographicType|NullType

authenticationKey string "0x00"

0xnn..nn

linkCost int 1
RFC1583Compatible bool false
areaID string ""
externalInterfaceOutputCost int 1
externalInterfaceOutputType string ""

Type1|Type2

Properties:

Name Value Description
display i=block/network2

Gates:

Name Direction Size Description
ipIn input
ipOut output

Source code:

//
// Implements the OSPFv4 routing protocol.
//
simple OSPFRouting like IIPRouting
{
    parameters:
        string interfaceTableModule;
        string routingTableModule;
        xml ospfConfig; // xml containing the full OSPF AS configuration

        // default values for attributes of interface xml entries:
        int helloInterval @unit(s) = default(10s);
        int pollInterval @unit(s) = default(120s);
        int routerDeadInterval @unit(s) = default(40s);
        int retransmissionInterval @unit(s) = default(5s);
        int interfaceOutputCost = default(1);
        int interfaceTransmissionDelay = default(1);
        int routerPriority = default(1);
        string authenticationType = default("NullType");    // SimplePasswordType|CrytographicType|NullType
        string authenticationKey = default("0x00");         // 0xnn..nn
        int linkCost = default(1);
        bool RFC1583Compatible = default(false);

        string areaID = default("");
        int externalInterfaceOutputCost = default(1);
        string externalInterfaceOutputType = default("");  // Type1|Type2

        @display("i=block/network2");
    gates:
        input ipIn @labels(IPv4ControlInfo/up);
        output ipOut @labels(IPv4ControlInfo/down);
}