Compound Module KIDSNw1

File: Examples/INET/KIDSNw1/KIDSNw1.ned

(no description)

host: StandardHost fhrouter: Router irouter: Router bgrouter: Router

Usage diagram:

The following diagram shows usage relationships between modules, networks and channels. Unresolved module (and channel) types are missing from the diagram. Click here to see the full picture.

Contains the following modules:

If a module type shows up more than once, that means it has been defined in more than one NED file.

Router

IP router.

StandardHost

IP host with TCP, UDP layers and applications.

Contains the following channels:

ethernet (no description)
ethernet (no description)
ethernet (no description)
fiberrouterline (no description)

Networks:

kidsnw1 (no description)

Unassigned submodule parameters:

Name Type Description
host[*].numTcpApps numeric const
host[*].numUdpApps numeric const
host[*].tcpAppType string
host[*].udpAppType string
host[*].namid numeric const
host[*].tcp.mss numeric const

maximum segment size

host[*].tcp.advertisedWindow numeric const

in bytes (Note: normally, NIC queues should be at least this size)

host[*].tcp.tcpAlgorithmClass string

TCPTahoe/TCPReno/TCPNoCongestionControl/DumbTCP

host[*].tcp.sendQueueClass string

TCPVirtualDataSendQueue/TCPMsgBasedSendQueue

host[*].tcp.receiveQueueClass string

TCPVirtualDataRcvQueue/TCPMsgBasedRcvQueue

host[*].tcp.recordStats bool

recording seqNum etc. into output vectors on/off

host[*].pingApp.destAddr string

destination IP or IPv6 address

host[*].pingApp.srcAddr string

source IP or IPv6 address (useful with multi-homing)

host[*].pingApp.packetSize numeric const

of ping payload, in bytes

host[*].pingApp.interval numeric

time to wait between pings (can be random)

host[*].pingApp.hopLimit numeric const

TTL or hopLimit for IP packets

host[*].pingApp.count numeric const

stop after count ping requests, 0 means continuously

host[*].pingApp.startTime numeric const

send first ping at startTime

host[*].pingApp.stopTime numeric const

send no pings after stopTime, 0 means forever

host[*].pingApp.printPing bool

dump on stdout

host[*].networkLayer.ip.procDelay numeric const
host[*].networkLayer.arp.retryTimeout numeric

number seconds ARP waits between retries to resolve an IP address

host[*].networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

host[*].networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

host[*].ppp[*].queueType string
host[*].eth[*].queueType string
host[*].eth[*].mac.promiscuous bool

if true, all packets are received, otherwise only the ones with matching destination MAC address

host[*].eth[*].mac.address string

MAC address as hex string (12 hex digits), or "auto". "auto" values will be replaced by a generated MAC address in init stage 0.

host[*].eth[*].mac.txrate numeric

maximum data rate supported by this station (bit/s); actually chosen speed may be lower due to auto- configuration. 0 means fully auto-configured.

host[*].eth[*].mac.duplexEnabled bool

whether duplex mode can be enabled or not; whether MAC will actually use duplex mode depends on the result of the auto-configuration process (duplex is only possible with DTE-to-DTE connection).

host[*].eth[*].mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

host[*].eth[*].encap.writeScalars bool

enable/disable recording statistics in omnetpp.sca

fhrouter[*].networkLayer.proxyARP bool
fhrouter[*].networkLayer.ip.procDelay numeric const
fhrouter[*].networkLayer.arp.retryTimeout numeric

number seconds ARP waits between retries to resolve an IP address

fhrouter[*].networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

fhrouter[*].networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

fhrouter[*].ppp[*].queueType string
fhrouter[*].eth[*].queueType string
fhrouter[*].eth[*].mac.promiscuous bool

if true, all packets are received, otherwise only the ones with matching destination MAC address

fhrouter[*].eth[*].mac.address string

MAC address as hex string (12 hex digits), or "auto". "auto" values will be replaced by a generated MAC address in init stage 0.

fhrouter[*].eth[*].mac.txrate numeric

maximum data rate supported by this station (bit/s); actually chosen speed may be lower due to auto- configuration. 0 means fully auto-configured.

fhrouter[*].eth[*].mac.duplexEnabled bool

whether duplex mode can be enabled or not; whether MAC will actually use duplex mode depends on the result of the auto-configuration process (duplex is only possible with DTE-to-DTE connection).

fhrouter[*].eth[*].mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

fhrouter[*].eth[*].encap.writeScalars bool

enable/disable recording statistics in omnetpp.sca

irouter.networkLayer.proxyARP bool
irouter.networkLayer.ip.procDelay numeric const
irouter.networkLayer.arp.retryTimeout numeric

number seconds ARP waits between retries to resolve an IP address

irouter.networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

irouter.networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

irouter.ppp[*].queueType string
irouter.eth[*].queueType string
irouter.eth[*].mac.promiscuous bool

if true, all packets are received, otherwise only the ones with matching destination MAC address

irouter.eth[*].mac.address string

MAC address as hex string (12 hex digits), or "auto". "auto" values will be replaced by a generated MAC address in init stage 0.

irouter.eth[*].mac.txrate numeric

maximum data rate supported by this station (bit/s); actually chosen speed may be lower due to auto- configuration. 0 means fully auto-configured.

irouter.eth[*].mac.duplexEnabled bool

whether duplex mode can be enabled or not; whether MAC will actually use duplex mode depends on the result of the auto-configuration process (duplex is only possible with DTE-to-DTE connection).

irouter.eth[*].mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

irouter.eth[*].encap.writeScalars bool

enable/disable recording statistics in omnetpp.sca

bgrouter[*].networkLayer.proxyARP bool
bgrouter[*].networkLayer.ip.procDelay numeric const
bgrouter[*].networkLayer.arp.retryTimeout numeric

number seconds ARP waits between retries to resolve an IP address

bgrouter[*].networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

bgrouter[*].networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

bgrouter[*].ppp[*].queueType string
bgrouter[*].eth[*].queueType string
bgrouter[*].eth[*].mac.promiscuous bool

if true, all packets are received, otherwise only the ones with matching destination MAC address

bgrouter[*].eth[*].mac.address string

MAC address as hex string (12 hex digits), or "auto". "auto" values will be replaced by a generated MAC address in init stage 0.

bgrouter[*].eth[*].mac.txrate numeric

maximum data rate supported by this station (bit/s); actually chosen speed may be lower due to auto- configuration. 0 means fully auto-configured.

bgrouter[*].eth[*].mac.duplexEnabled bool

whether duplex mode can be enabled or not; whether MAC will actually use duplex mode depends on the result of the auto-configuration process (duplex is only possible with DTE-to-DTE connection).

bgrouter[*].eth[*].mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

bgrouter[*].eth[*].encap.writeScalars bool

enable/disable recording statistics in omnetpp.sca

Source code:

module KIDSNw1
    submodules:
        host: StandardHost[3];
            parameters:
                IPForward = false;
            parameters if index==0:
                routingFile = "host1.irt";
            parameters if index==1:
                routingFile = "host2.irt";
            parameters if index==2:
                routingFile = "host3.irt";
            gatesizes:
                in[1],
                out[1];
            display: "p=101,307,row;i=device/pc2";

        // First Hop Router
        fhrouter: Router[2];
            parameters if index==0:
                routingFile = "fhrouter1.irt";
            parameters if index==1:
                routingFile = "fhrouter5.irt";
            gatesizes:
                in[2],
                out[2];
            gatesizes if index==0:
                in[3],
                out[3];
            display: "p=119,222,row,130;i=device/router";

        // InteriorRouter
        irouter: Router;
            parameters:
                routingFile = "irouter2.irt";
            gatesizes:
                in[2],
                out[2];
            display: "p=115,144;i=device/router";
        // Border Gatgeway Router
        bgrouter: Router[2];
            parameters:
            parameters if index==0:
                routingFile = "bgrouter3.irt";
            parameters if index==1:
                routingFile = "bgrouter4.irt";
            gatesizes:
                in[2],
                out[2];
            display: "p=135,64,row;i=abstract/router";
    connections nocheck:
        // * host connections *
        host[0].out[0] --> ethernet --> fhrouter[0].in[0];
        host[0].in[0] <-- ethernet <-- fhrouter[0].out[0];
        host[1].out[0] --> ethernet --> fhrouter[0].in[1];
        host[1].in[0] <-- ethernet <-- fhrouter[0].out[1];
        host[2].out[0] --> ethernet --> fhrouter[1].in[0];
        host[2].in[0] <-- ethernet <-- fhrouter[1].out[0];

        // * Router Connections *
        fhrouter[0].out[2] --> fiberrouterline --> irouter.in[0];
        fhrouter[0].in[2] <-- fiberrouterline <-- irouter.out[0];

        irouter.out[1] --> fiberrouterline --> bgrouter[0].in[0];
        irouter.in[1] <-- fiberrouterline <-- bgrouter[0].out[0];

        bgrouter[0].out[1] --> fiberrouterline --> bgrouter[1].in[1];
        bgrouter[0].in[1] <-- fiberrouterline <-- bgrouter[1].out[1];

        bgrouter[1].out[0] --> fiberrouterline --> fhrouter[1].in[1];
        bgrouter[1].in[0] <-- fiberrouterline <-- fhrouter[1].out[1];

endmodule