Compound Module REDTestTh

File: Examples/INET/REDTest/REDTestTh.ned

(no description)

channelInstaller: ChannelInstaller configurator: FlatNetworkConfigurator scenarioManager: ScenarioManager r1: Router r2: Router s1: StandardHost s2: StandardHost s3: StandardHost s4: StandardHost th: ThruputMeter

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.

ChannelInstaller

Replaces channel objects in the network.

FlatNetworkConfigurator

Configures IP addresses and routing tables for a "flat" network, "flat" meaning that all hosts and routers will have the same network address and will only differ in the host part.

Router

IP router.

ScenarioManager

ScenarioManager is for setting up and controlling simulation experiments. You can schedule certain events to take place at specified times, like changing a parameter value, changing the bit error rate of a connection, removing or adding connections, removing or adding routes in a routing table, etc, so that you can observe the transient behaviour.

StandardHost

IP host with TCP, UDP layers and applications.

ThruputMeter

Thruput measurement utility module.

Networks:

redTestTh (no description)

Unassigned submodule parameters:

Name Type Description
scenarioManager.script xml
r1.routingFile string
r1.networkLayer.proxyARP bool
r1.networkLayer.ip.procDelay numeric const
r1.networkLayer.arp.retryTimeout numeric

number seconds ARP waits between retries to resolve an IP address

r1.networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

r1.networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

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

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

r1.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.

r1.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.

r1.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).

r1.eth[*].mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

r1.eth[*].encap.writeScalars bool

enable/disable recording statistics in omnetpp.sca

r2.routingFile string
r2.networkLayer.proxyARP bool
r2.networkLayer.ip.procDelay numeric const
r2.networkLayer.arp.retryTimeout numeric

number seconds ARP waits between retries to resolve an IP address

r2.networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

r2.networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

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

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

r2.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.

r2.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.

r2.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).

r2.eth[*].mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

r2.eth[*].encap.writeScalars bool

enable/disable recording statistics in omnetpp.sca

s1.numTcpApps numeric const
s1.numUdpApps numeric const
s1.tcpAppType string
s1.udpAppType string
s1.IPForward bool
s1.namid numeric const
s1.routingFile string
s1.tcp.mss numeric const

maximum segment size

s1.tcp.advertisedWindow numeric const

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

s1.tcp.tcpAlgorithmClass string

TCPTahoe/TCPReno/TCPNoCongestionControl/DumbTCP

s1.tcp.sendQueueClass string

TCPVirtualDataSendQueue/TCPMsgBasedSendQueue

s1.tcp.receiveQueueClass string

TCPVirtualDataRcvQueue/TCPMsgBasedRcvQueue

s1.tcp.recordStats bool

recording seqNum etc. into output vectors on/off

s1.pingApp.destAddr string

destination IP or IPv6 address

s1.pingApp.srcAddr string

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

s1.pingApp.packetSize numeric const

of ping payload, in bytes

s1.pingApp.interval numeric

time to wait between pings (can be random)

s1.pingApp.hopLimit numeric const

TTL or hopLimit for IP packets

s1.pingApp.count numeric const

stop after count ping requests, 0 means continuously

s1.pingApp.startTime numeric const

send first ping at startTime

s1.pingApp.stopTime numeric const

send no pings after stopTime, 0 means forever

s1.pingApp.printPing bool

dump on stdout

s1.networkLayer.ip.procDelay numeric const
s1.networkLayer.arp.retryTimeout numeric

number seconds ARP waits between retries to resolve an IP address

s1.networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

s1.networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

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

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

s1.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.

s1.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.

s1.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).

s1.eth[*].mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

s1.eth[*].encap.writeScalars bool

enable/disable recording statistics in omnetpp.sca

s2.numTcpApps numeric const
s2.numUdpApps numeric const
s2.tcpAppType string
s2.udpAppType string
s2.IPForward bool
s2.namid numeric const
s2.routingFile string
s2.tcp.mss numeric const

maximum segment size

s2.tcp.advertisedWindow numeric const

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

s2.tcp.tcpAlgorithmClass string

TCPTahoe/TCPReno/TCPNoCongestionControl/DumbTCP

s2.tcp.sendQueueClass string

TCPVirtualDataSendQueue/TCPMsgBasedSendQueue

s2.tcp.receiveQueueClass string

TCPVirtualDataRcvQueue/TCPMsgBasedRcvQueue

s2.tcp.recordStats bool

recording seqNum etc. into output vectors on/off

s2.pingApp.destAddr string

destination IP or IPv6 address

s2.pingApp.srcAddr string

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

s2.pingApp.packetSize numeric const

of ping payload, in bytes

s2.pingApp.interval numeric

time to wait between pings (can be random)

s2.pingApp.hopLimit numeric const

TTL or hopLimit for IP packets

s2.pingApp.count numeric const

stop after count ping requests, 0 means continuously

s2.pingApp.startTime numeric const

send first ping at startTime

s2.pingApp.stopTime numeric const

send no pings after stopTime, 0 means forever

s2.pingApp.printPing bool

dump on stdout

s2.networkLayer.ip.procDelay numeric const
s2.networkLayer.arp.retryTimeout numeric

number seconds ARP waits between retries to resolve an IP address

s2.networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

s2.networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

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

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

s2.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.

s2.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.

s2.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).

s2.eth[*].mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

s2.eth[*].encap.writeScalars bool

enable/disable recording statistics in omnetpp.sca

s3.numTcpApps numeric const
s3.numUdpApps numeric const
s3.tcpAppType string
s3.udpAppType string
s3.IPForward bool
s3.namid numeric const
s3.routingFile string
s3.tcp.mss numeric const

maximum segment size

s3.tcp.advertisedWindow numeric const

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

s3.tcp.tcpAlgorithmClass string

TCPTahoe/TCPReno/TCPNoCongestionControl/DumbTCP

s3.tcp.sendQueueClass string

TCPVirtualDataSendQueue/TCPMsgBasedSendQueue

s3.tcp.receiveQueueClass string

TCPVirtualDataRcvQueue/TCPMsgBasedRcvQueue

s3.tcp.recordStats bool

recording seqNum etc. into output vectors on/off

s3.pingApp.destAddr string

destination IP or IPv6 address

s3.pingApp.srcAddr string

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

s3.pingApp.packetSize numeric const

of ping payload, in bytes

s3.pingApp.interval numeric

time to wait between pings (can be random)

s3.pingApp.hopLimit numeric const

TTL or hopLimit for IP packets

s3.pingApp.count numeric const

stop after count ping requests, 0 means continuously

s3.pingApp.startTime numeric const

send first ping at startTime

s3.pingApp.stopTime numeric const

send no pings after stopTime, 0 means forever

s3.pingApp.printPing bool

dump on stdout

s3.networkLayer.ip.procDelay numeric const
s3.networkLayer.arp.retryTimeout numeric

number seconds ARP waits between retries to resolve an IP address

s3.networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

s3.networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

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

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

s3.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.

s3.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.

s3.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).

s3.eth[*].mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

s3.eth[*].encap.writeScalars bool

enable/disable recording statistics in omnetpp.sca

s4.numTcpApps numeric const
s4.numUdpApps numeric const
s4.tcpAppType string
s4.udpAppType string
s4.IPForward bool
s4.namid numeric const
s4.routingFile string
s4.tcp.mss numeric const

maximum segment size

s4.tcp.advertisedWindow numeric const

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

s4.tcp.tcpAlgorithmClass string

TCPTahoe/TCPReno/TCPNoCongestionControl/DumbTCP

s4.tcp.sendQueueClass string

TCPVirtualDataSendQueue/TCPMsgBasedSendQueue

s4.tcp.receiveQueueClass string

TCPVirtualDataRcvQueue/TCPMsgBasedRcvQueue

s4.tcp.recordStats bool

recording seqNum etc. into output vectors on/off

s4.pingApp.destAddr string

destination IP or IPv6 address

s4.pingApp.srcAddr string

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

s4.pingApp.packetSize numeric const

of ping payload, in bytes

s4.pingApp.interval numeric

time to wait between pings (can be random)

s4.pingApp.hopLimit numeric const

TTL or hopLimit for IP packets

s4.pingApp.count numeric const

stop after count ping requests, 0 means continuously

s4.pingApp.startTime numeric const

send first ping at startTime

s4.pingApp.stopTime numeric const

send no pings after stopTime, 0 means forever

s4.pingApp.printPing bool

dump on stdout

s4.networkLayer.ip.procDelay numeric const
s4.networkLayer.arp.retryTimeout numeric

number seconds ARP waits between retries to resolve an IP address

s4.networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

s4.networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

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

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

s4.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.

s4.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.

s4.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).

s4.eth[*].mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

s4.eth[*].encap.writeScalars bool

enable/disable recording statistics in omnetpp.sca

th.startTime numeric const
th.batchSize numeric const
th.maxInterval numeric const

Source code:

module REDTestTh
    submodules:
        channelInstaller: ChannelInstaller;
            parameters:
                channelClass = "ThruputMeteringChannel",
                channelAttrs = "format=b (u)";
            display: "p=327,40;i=block/cogwheel_s";
        configurator: FlatNetworkConfigurator;
            parameters:
                moduleTypes = "Router StandardHost ThruputMeter",
                nonIPModuleTypes = "ThruputMeter",
                networkAddress = "145.236.0.0",
                netmask = "255.255.0.0";
            display: "p=149,40;i=block/cogwheel_s";
        scenarioManager: ScenarioManager;
            display: "p=236,40;i=block/control_s";
        r1: Router;
            display: "p=147,143;i=abstract/router";
        r2: Router;
            display: "p=317,143;i=abstract/router";
        s1: StandardHost;
            display: "p=68,64;i=device/laptop";
        s2: StandardHost;
            display: "p=65,193;i=device/laptop";
        s3: StandardHost;
            display: "p=421,83;i=device/laptop";
        s4: StandardHost;
            display: "p=420,195;i=device/laptop";
        th: ThruputMeter;
            display: "p=259,163;i=block/timer_vs";
    connections nocheck:
        r1.out++ --> datarate 1.5e6 delay 20e-3 --> th.in;
        th.out --> r2.in++;
        r1.in++ <-- datarate 1.5e6 delay 20e-3 <-- r2.out++;

        s1.out++ --> datarate 10e6 delay 2e-3 --> r1.in++;
        s1.in++ <-- datarate 10e6 delay 2e-3 <-- r1.out++;

        s2.out++ --> datarate 10e6 delay 3e-3 --> r1.in++;
        s2.in++ <-- datarate 10e6 delay 3e-3 <-- r1.out++;

        s3.out++ --> datarate 10e6 delay 4e-3 --> r2.in++;
        s3.in++ <-- datarate 10e6 delay 4e-3 <-- r2.out++;

        s4.out++ --> datarate 10e6 delay 5e-3 --> r2.in++;
        s4.in++ <-- datarate 10e6 delay 5e-3 <-- r2.out++;

endmodule