EigrpProcessDS

Package: inet.routing.eigrp

EigrpProcessDS

compound module

(no description)

EigrpSplitter EigrpIpv4Pdm EigrpInterfaceTable EigrpIpv4NeighborTable EigrpIpv4TopologyTable EigrpRtp EigrpInterfaceTable EigrpIpv6Pdm EigrpIpv6NeighborTable EigrpIpv6TopologyTable EigrpRtp6

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.

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

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