Compound Module ARPTest

File: Examples/Ethernet/ARPTest/ARPTest.ned

(no description)

server: StandardHost router8: Router router7: Router router6: Router bus2: EtherBus router5: Router bus1: EtherBus router4: Router router3: Router router2: Router router1: Router client: StandardHost configurator: FlatNetworkConfigurator

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.

EtherBus

A generic bus model.

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.

StandardHost

IP host with TCP, UDP layers and applications.

Networks:

arpTest (no description)

Unassigned submodule parameters:

Name Type Description
server.numTcpApps numeric const
server.numUdpApps numeric const
server.tcpAppType string
server.udpAppType string
server.IPForward bool
server.namid numeric const
server.routingFile string
server.tcp.mss numeric const

maximum segment size

server.tcp.advertisedWindow numeric const

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

server.tcp.tcpAlgorithmClass string

TCPTahoe/TCPReno/TCPNoCongestionControl/DumbTCP

server.tcp.sendQueueClass string

TCPVirtualDataSendQueue/TCPMsgBasedSendQueue

server.tcp.receiveQueueClass string

TCPVirtualDataRcvQueue/TCPMsgBasedRcvQueue

server.tcp.recordStats bool

recording seqNum etc. into output vectors on/off

server.pingApp.destAddr string

destination IP or IPv6 address

server.pingApp.srcAddr string

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

server.pingApp.packetSize numeric const

of ping payload, in bytes

server.pingApp.interval numeric

time to wait between pings (can be random)

server.pingApp.hopLimit numeric const

TTL or hopLimit for IP packets

server.pingApp.count numeric const

stop after count ping requests, 0 means continuously

server.pingApp.startTime numeric const

send first ping at startTime

server.pingApp.stopTime numeric const

send no pings after stopTime, 0 means forever

server.pingApp.printPing bool

dump on stdout

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

number seconds ARP waits between retries to resolve an IP address

server.networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

server.networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

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

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

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

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

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

server.eth[*].mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

server.eth[*].encap.writeScalars bool

enable/disable recording statistics in omnetpp.sca

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

number seconds ARP waits between retries to resolve an IP address

router8.networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

router8.networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

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

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

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

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

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

router8.eth[*].mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

router8.eth[*].encap.writeScalars bool

enable/disable recording statistics in omnetpp.sca

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

number seconds ARP waits between retries to resolve an IP address

router7.networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

router7.networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

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

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

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

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

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

router7.eth[*].mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

router7.eth[*].encap.writeScalars bool

enable/disable recording statistics in omnetpp.sca

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

number seconds ARP waits between retries to resolve an IP address

router6.networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

router6.networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

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

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

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

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

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

router6.eth[*].mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

router6.eth[*].encap.writeScalars bool

enable/disable recording statistics in omnetpp.sca

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

number seconds ARP waits between retries to resolve an IP address

router5.networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

router5.networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

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

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

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

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

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

router5.eth[*].mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

router5.eth[*].encap.writeScalars bool

enable/disable recording statistics in omnetpp.sca

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

number seconds ARP waits between retries to resolve an IP address

router4.networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

router4.networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

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

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

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

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

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

router4.eth[*].mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

router4.eth[*].encap.writeScalars bool

enable/disable recording statistics in omnetpp.sca

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

number seconds ARP waits between retries to resolve an IP address

router3.networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

router3.networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

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

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

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

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

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

router3.eth[*].mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

router3.eth[*].encap.writeScalars bool

enable/disable recording statistics in omnetpp.sca

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

number seconds ARP waits between retries to resolve an IP address

router2.networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

router2.networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

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

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

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

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

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

router2.eth[*].mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

router2.eth[*].encap.writeScalars bool

enable/disable recording statistics in omnetpp.sca

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

number seconds ARP waits between retries to resolve an IP address

router1.networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

router1.networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

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

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

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

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

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

router1.eth[*].mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

router1.eth[*].encap.writeScalars bool

enable/disable recording statistics in omnetpp.sca

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

maximum segment size

client.tcp.advertisedWindow numeric const

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

client.tcp.tcpAlgorithmClass string

TCPTahoe/TCPReno/TCPNoCongestionControl/DumbTCP

client.tcp.sendQueueClass string

TCPVirtualDataSendQueue/TCPMsgBasedSendQueue

client.tcp.receiveQueueClass string

TCPVirtualDataRcvQueue/TCPMsgBasedRcvQueue

client.tcp.recordStats bool

recording seqNum etc. into output vectors on/off

client.pingApp.destAddr string

destination IP or IPv6 address

client.pingApp.srcAddr string

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

client.pingApp.packetSize numeric const

of ping payload, in bytes

client.pingApp.interval numeric

time to wait between pings (can be random)

client.pingApp.hopLimit numeric const

TTL or hopLimit for IP packets

client.pingApp.count numeric const

stop after count ping requests, 0 means continuously

client.pingApp.startTime numeric const

send first ping at startTime

client.pingApp.stopTime numeric const

send no pings after stopTime, 0 means forever

client.pingApp.printPing bool

dump on stdout

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

number seconds ARP waits between retries to resolve an IP address

client.networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

client.networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

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

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

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

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

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

client.eth[*].mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

client.eth[*].encap.writeScalars bool

enable/disable recording statistics in omnetpp.sca

Source code:

module ARPTest
    submodules:
        server: StandardHost;
            display: "p=480,198;i=device/server_l";
        router8: Router;
            display: "p=478,100;i=abstract/router";
        router7: Router;
            display: "p=329,100;i=abstract/router";
        router6: Router;
            display: "p=254,100;i=abstract/router";
        bus2: EtherBus;
            parameters:
                positions = "",
                propagationSpeed = 2e8,
                writeScalars = false;
            display: "p=260,40;b=260,10";
        router5: Router;
            display: "p=187,98;i=abstract/router";
        bus1: EtherBus;
            parameters:
                positions = "",
                propagationSpeed = 2e8,
                writeScalars = false;
            display: "p=280,170;b=260,10";
        router4: Router;
            display: "p=386,240;i=abstract/router";
        router3: Router;
            display: "p=320,240;i=abstract/router";
        router2: Router;
            display: "p=247,240;i=abstract/router";
        router1: Router;
            display: "p=182,283;i=abstract/router";
        client: StandardHost;
            display: "p=54,274;i=device/laptop_l";
        configurator: FlatNetworkConfigurator;
            parameters:
                moduleTypes = "Router StandardHost EtherBus",
                nonIPModuleTypes = "EtherBus",
                networkAddress = "10.0.0.0",
                netmask = "255.255.0.0";
            display: "p=46,111;i=block/cogwheel";
    connections:
        server.ethOut++ --> router8.ethIn++;
        router8.ethOut++ --> server.ethIn++;

        bus2.out++ --> router5.ethIn++;
        router5.ethOut++ --> bus2.in++;

        bus2.out++ --> router6.ethIn++;
        router6.ethOut++ --> bus2.in++;

        bus2.out++ --> router7.ethIn++;
        router7.ethOut++ --> bus2.in++;

        router8.ethOut++ --> router7.ethIn++;
        router7.ethOut++ --> router8.ethIn++;

        bus1.out++ --> router1.ethIn++;
        router1.ethOut++ --> bus1.in++;

        bus1.out++ --> router5.ethIn++;
        router5.ethOut++ --> bus1.in++;

        bus1.out++ --> router2.ethIn++;
        router2.ethOut++ --> bus1.in++;

        bus1.out++ --> router3.ethIn++;
        router3.ethOut++ --> bus1.in++;

        bus1.out++ --> router4.ethIn++;
        router4.ethOut++ --> bus1.in++;

        client.ethOut++ --> router1.ethIn++;
        router1.ethOut++ --> client.ethIn++;
endmodule