EigrpProcessDS¶
Package: inet.routing.eigrp
compound module EigrpProcessDS
(no description)
Usage diagram¶
Inheritance diagram¶
Used in compound modules¶
Name |
Type |
Description |
|---|---|---|
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;
}