EigrpProcessDS

Package: inet.routing.eigrp

compound module EigrpProcessDS

(no description)

EigrpProcessDSipIn --> eigrpSplitter.ipInipOut --> eigrpSplitter.ipOuteigrpSplitter.splitterOut --> eigrpIpv4Pdm.splitterIn conditional: enableIPv4?eigrpSplitter.splitterIn --> eigrpIpv4Pdm.splitterOut conditional: enableIPv4?eigrpIpv4Pdm.rtpOut --> eigrpRtp.pdmIn conditional: enableIPv4?eigrpIpv4Pdm.rtpIn --> eigrpRtp.pdmOut conditional: enableIPv4?eigrpSplitter.splitter6Out --> eigrpIpv6Pdm.splitterIn conditional: enableIPv6?eigrpSplitter.splitter6In --> eigrpIpv6Pdm.splitterOut conditional: enableIPv6?eigrpIpv6Pdm.rtpOut --> eigrpRtp6.pdmIn conditional: enableIPv6?eigrpIpv6Pdm.rtpIn --> eigrpRtp6.pdmOut conditional: enableIPv6?eigrpSplitter: inet.routing.eigrp.EigrpSplitter Source: eigrpSplitter: EigrpSplitter { @display("p=254,176"); }eigrpSplittereigrpIpv4Pdm: inet.routing.eigrp.pdms.EigrpIpv4Pdm Source: eigrpIpv4Pdm: EigrpIpv4Pdm if enableIPv4 { @display("p=64,66;i=block/circle"); configData = parent.configData; routingTableModule = parent.routingTableModule; interfaceTableModule = parent.interfaceTableModule; }eigrpIpv4PdmeigrpInterfaceTable: inet.routing.eigrp.tables.EigrpInterfaceTable Source: eigrpInterfaceTable: EigrpInterfaceTable if enableIPv4 { @display("p=185,180"); }eigrpInterfaceTableeigrpIpv4NeighborTable: inet.routing.eigrp.tables.EigrpIpv4NeighborTable TODO auto-generated module Source: eigrpIpv4NeighborTable: EigrpIpv4NeighborTable if enableIPv4 { @display("p=185,45"); }eigrpIpv4NeighborTableeigrpIpv4TopologyTable: inet.routing.eigrp.tables.EigrpIpv4TopologyTable Source: eigrpIpv4TopologyTable: EigrpIpv4TopologyTable if enableIPv4 { @display("p=185,112"); }eigrpIpv4TopologyTableeigrpRtp: inet.routing.eigrp.EigrpRtp Source: eigrpRtp: EigrpRtp if enableIPv4 { @display("p=64,157;i=block/dispatch"); }eigrpRtpeigrpInterfaceTable6: inet.routing.eigrp.tables.EigrpInterfaceTable Source: eigrpInterfaceTable6: EigrpInterfaceTable if enableIPv6 { @display("p=320,180"); }eigrpInterfaceTable6eigrpIpv6Pdm: inet.routing.eigrp.pdms.EigrpIpv6Pdm Source: eigrpIpv6Pdm: EigrpIpv6Pdm if enableIPv6 { @display("p=433,66;i=block/circle"); configData = parent.configData; interfaceTableModule = parent.interfaceTableModule; routingTableModule = parent.routingTableModule6; }eigrpIpv6PdmeigrpIpv6NeighborTable: inet.routing.eigrp.tables.EigrpIpv6NeighborTable TODO auto-generated module Source: eigrpIpv6NeighborTable: EigrpIpv6NeighborTable if enableIPv6 { @display("p=320,45"); }eigrpIpv6NeighborTableeigrpIpv6TopologyTable: inet.routing.eigrp.tables.EigrpIpv6TopologyTable Source: eigrpIpv6TopologyTable: EigrpIpv6TopologyTable if enableIPv6 { @display("p=320,112"); }eigrpIpv6TopologyTableeigrpRtp6: inet.routing.eigrp.EigrpRtp6 Source: eigrpRtp6: EigrpRtp6 if enableIPv6 { @display("p=433,157;i=block/dispatch"); }eigrpRtp6

Usage diagram

Inheritance diagram

Used in compound modules

Name

Type

Description

Router

compound module

A network router device with support for multiple routing protocols and network interfaces. Provides the foundation for simulating various types of routers in both wired and wireless networks.

Parameters

Name

Type

Default value

Description

enableIPv4

bool

true

enableIPv6

bool

true

configData

xml

xmldoc(“config.xml”)

interfaceTableModule

string

routingTableModule

string

routingTableModule6

string

Properties

Name

Value

Description

display

bgb=494,229,white;i=block/network2

Gates

Name

Direction

Size

Description

ipIn

input

ipOut

output

Unassigned submodule parameters

Name

Type

Default value

Description

eigrpSplitter.displayStringTextFormat

string

“”

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

eigrpIpv4Pdm.displayStringTextFormat

string

“”

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

eigrpInterfaceTable.displayStringTextFormat

string

“”

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

eigrpIpv4NeighborTable.displayStringTextFormat

string

“”

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

eigrpIpv4TopologyTable.displayStringTextFormat

string

“”

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

eigrpRtp.displayStringTextFormat

string

“”

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

eigrpInterfaceTable6.displayStringTextFormat

string

“”

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

eigrpIpv6Pdm.displayStringTextFormat

string

“”

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

eigrpIpv6NeighborTable.displayStringTextFormat

string

“”

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

eigrpIpv6TopologyTable.displayStringTextFormat

string

“”

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

eigrpRtp6.displayStringTextFormat

string

“”

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

Source code

module EigrpProcessDS like IEigrp
{
    parameters:
        @display("bgb=494,229,white;i=block/network2");
        bool enableIPv4 = default(true);
        bool enableIPv6 = default(true);
        xml configData = default(xmldoc("config.xml"));
        string interfaceTableModule;
        string routingTableModule;
        string routingTableModule6;
    gates:
        input ipIn @labels(Ipv4ControlInfo/up,Ipv6ControlInfo/up);
        output ipOut @labels(Ipv4ControlInfo/down,Ipv6ControlInfo/down);
    submodules:
        // vlevo nazev, vpravo typ
        eigrpSplitter: EigrpSplitter {
            @display("p=254,176");
        }
        eigrpIpv4Pdm: EigrpIpv4Pdm if enableIPv4 {
            @display("p=64,66;i=block/circle");
            configData = parent.configData;
            routingTableModule = parent.routingTableModule;
            interfaceTableModule = parent.interfaceTableModule;
        }
        eigrpInterfaceTable: EigrpInterfaceTable if enableIPv4 {
            @display("p=185,180");
        }
        eigrpIpv4NeighborTable: EigrpIpv4NeighborTable if enableIPv4 {
            @display("p=185,45");
        }
        eigrpIpv4TopologyTable: EigrpIpv4TopologyTable if enableIPv4 {
            @display("p=185,112");
        }
        eigrpRtp: EigrpRtp if enableIPv4 {
            @display("p=64,157;i=block/dispatch");
        }

        eigrpInterfaceTable6: EigrpInterfaceTable if enableIPv6 {
            @display("p=320,180");
        }
        eigrpIpv6Pdm: EigrpIpv6Pdm if enableIPv6 {
            @display("p=433,66;i=block/circle");
            configData = parent.configData;
            interfaceTableModule = parent.interfaceTableModule;
            routingTableModule = parent.routingTableModule6;
        }
        eigrpIpv6NeighborTable: EigrpIpv6NeighborTable if enableIPv6 {
            @display("p=320,45");
        }
        eigrpIpv6TopologyTable: EigrpIpv6TopologyTable if enableIPv6 {
            @display("p=320,112");
        }
        eigrpRtp6: EigrpRtp6 if enableIPv6 {
            @display("p=433,157;i=block/dispatch");
        }
    connections allowunconnected:
        ipIn --> eigrpSplitter.ipIn;
        ipOut <-- eigrpSplitter.ipOut;

        eigrpSplitter.splitterOut --> eigrpIpv4Pdm.splitterIn if enableIPv4;
        eigrpSplitter.splitterIn <-- eigrpIpv4Pdm.splitterOut if enableIPv4;

        eigrpIpv4Pdm.rtpOut --> eigrpRtp.pdmIn if enableIPv4;
        eigrpIpv4Pdm.rtpIn <-- eigrpRtp.pdmOut if enableIPv4;

        eigrpSplitter.splitter6Out --> eigrpIpv6Pdm.splitterIn if enableIPv6;
        eigrpSplitter.splitter6In <-- eigrpIpv6Pdm.splitterOut if enableIPv6;

        eigrpIpv6Pdm.rtpOut --> eigrpRtp6.pdmIn if enableIPv6;
        eigrpIpv6Pdm.rtpIn <-- eigrpRtp6.pdmOut if enableIPv6;

}

File: src/inet/routing/eigrp/EigrpProcessDS.ned