Network ARPTest

Package: inet.examples.ethernet.arptest2
File: examples/ethernet/arptest2/ARPTest.ned

(no description)

StandardHost Router Router Router EtherBus Router EtherBus Router Router Router Router StandardHost FlatNetworkConfigurator

Usage diagram:

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram. Click here to see the full picture.

Inheritance diagram:

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram. Click here to see the full picture.

Properties:

Name Value Description
isNetwork

Unassigned submodule parameters:

Name Type Default value Description
server.sctp.numGapReports int 3

====== SCTP Association Parameters =================================

server.sctp.rtoInitial double 3s
server.sctp.rtoMin double 1s
server.sctp.rtoMax double 60s
server.sctp.rtoAlpha double 0.125
server.sctp.rtoBeta double 0.250
server.sctp.maxBurst int 4
server.sctp.assocMaxRetrans int 10
server.sctp.pathMaxRetrans int 5
server.sctp.maxInitRetrans int 8
server.sctp.sackPeriod double 200ms
server.sctp.sackFrequency int 2
server.sctp.reactivatePrimaryPath bool false
server.sctp.sendQueueLimit int 0
server.sctp.validCookieLifetime double 10s

====== Testing =====================================================

server.sctp.enableHeartbeats bool true

====== Heartbeats ==================================================

server.sctp.hbInterval double 30s
server.sctp.nagleEnabled bool true

====== Nagle Algorithm =============================================

server.sctp.naglePoint int 1468
server.sctp.fastRecoverySupported bool true

====== Congestion Control ==========================================

server.sctp.sctpAlgorithmClass string "SCTPAlg"
server.sctp.ccModule int 0

RFC4960=0

server.sctp.ssModule int 0

ROUND_ROBIN=0

server.sctp.arwnd int 65535
server.sctp.swsLimit int 3000

Limit for SWS

server.sctp.udpEncapsEnabled bool false
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 double 56B

of ping payload, in bytes

server.pingApp.interval double 1s

time to wait between pings (can be random)

server.pingApp.hopLimit double 32

TTL or hopLimit for IP packets

server.pingApp.count double 0

stop after count ping requests, 0 means continuously

server.pingApp.startTime double uniform(0s,this.interval)

send first ping at startTime

server.pingApp.stopTime double 0s

send no pings after stopTime, 0 means forever

server.pingApp.printPing bool true

dump on stdout

server.networkLayer.ip.procDelay double 0s
server.networkLayer.arp.retryTimeout double 1s

number seconds ARP waits between retries to resolve an IP address

server.networkLayer.arp.retryCount int 3

number of times ARP will attempt to resolve an IP address

server.networkLayer.arp.cacheTimeout double 120s

number seconds unused entries in the cache will time out

server.ppp.ppp.mtu int 4470
server.eth.mac.promiscuous bool false

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

server.eth.mac.address string "auto"

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 double 100Mbps

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 true

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.mtu int 1500
server.ext.filterString string
server.ext.device string
server.ext.mtu int 1500
server.tcpdump.dumpFile string ""
server.tcpdump.threadEnable bool false
server.tcpdump.snaplen int 65535
server.tcpdump.verbosity int 0
router8.networkLayer.ip.procDelay double 0s
router8.networkLayer.arp.retryTimeout double 1s

number seconds ARP waits between retries to resolve an IP address

router8.networkLayer.arp.retryCount int 3

number of times ARP will attempt to resolve an IP address

router8.networkLayer.arp.cacheTimeout double 120s

number seconds unused entries in the cache will time out

router8.ppp.ppp.mtu int 4470
router8.eth.mac.promiscuous bool false

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

router8.eth.mac.address string "auto"

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 double 100Mbps

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 true

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.mtu int 1500
router7.networkLayer.ip.procDelay double 0s
router7.networkLayer.arp.retryTimeout double 1s

number seconds ARP waits between retries to resolve an IP address

router7.networkLayer.arp.retryCount int 3

number of times ARP will attempt to resolve an IP address

router7.networkLayer.arp.cacheTimeout double 120s

number seconds unused entries in the cache will time out

router7.ppp.ppp.mtu int 4470
router7.eth.mac.promiscuous bool false

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

router7.eth.mac.address string "auto"

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 double 100Mbps

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 true

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.mtu int 1500
router6.networkLayer.ip.procDelay double 0s
router6.networkLayer.arp.retryTimeout double 1s

number seconds ARP waits between retries to resolve an IP address

router6.networkLayer.arp.retryCount int 3

number of times ARP will attempt to resolve an IP address

router6.networkLayer.arp.cacheTimeout double 120s

number seconds unused entries in the cache will time out

router6.ppp.ppp.mtu int 4470
router6.eth.mac.promiscuous bool false

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

router6.eth.mac.address string "auto"

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 double 100Mbps

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 true

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.mtu int 1500
router5.networkLayer.ip.procDelay double 0s
router5.networkLayer.arp.retryTimeout double 1s

number seconds ARP waits between retries to resolve an IP address

router5.networkLayer.arp.retryCount int 3

number of times ARP will attempt to resolve an IP address

router5.networkLayer.arp.cacheTimeout double 120s

number seconds unused entries in the cache will time out

router5.ppp.ppp.mtu int 4470
router5.eth.mac.promiscuous bool false

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

router5.eth.mac.address string "auto"

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 double 100Mbps

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 true

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.mtu int 1500
router4.networkLayer.ip.procDelay double 0s
router4.networkLayer.arp.retryTimeout double 1s

number seconds ARP waits between retries to resolve an IP address

router4.networkLayer.arp.retryCount int 3

number of times ARP will attempt to resolve an IP address

router4.networkLayer.arp.cacheTimeout double 120s

number seconds unused entries in the cache will time out

router4.ppp.ppp.mtu int 4470
router4.eth.mac.promiscuous bool false

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

router4.eth.mac.address string "auto"

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 double 100Mbps

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 true

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.mtu int 1500
router3.networkLayer.ip.procDelay double 0s
router3.networkLayer.arp.retryTimeout double 1s

number seconds ARP waits between retries to resolve an IP address

router3.networkLayer.arp.retryCount int 3

number of times ARP will attempt to resolve an IP address

router3.networkLayer.arp.cacheTimeout double 120s

number seconds unused entries in the cache will time out

router3.ppp.ppp.mtu int 4470
router3.eth.mac.promiscuous bool false

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

router3.eth.mac.address string "auto"

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 double 100Mbps

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 true

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.mtu int 1500
router2.networkLayer.ip.procDelay double 0s
router2.networkLayer.arp.retryTimeout double 1s

number seconds ARP waits between retries to resolve an IP address

router2.networkLayer.arp.retryCount int 3

number of times ARP will attempt to resolve an IP address

router2.networkLayer.arp.cacheTimeout double 120s

number seconds unused entries in the cache will time out

router2.ppp.ppp.mtu int 4470
router2.eth.mac.promiscuous bool false

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

router2.eth.mac.address string "auto"

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 double 100Mbps

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 true

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.mtu int 1500
router1.networkLayer.ip.procDelay double 0s
router1.networkLayer.arp.retryTimeout double 1s

number seconds ARP waits between retries to resolve an IP address

router1.networkLayer.arp.retryCount int 3

number of times ARP will attempt to resolve an IP address

router1.networkLayer.arp.cacheTimeout double 120s

number seconds unused entries in the cache will time out

router1.ppp.ppp.mtu int 4470
router1.eth.mac.promiscuous bool false

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

router1.eth.mac.address string "auto"

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 double 100Mbps

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 true

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.mtu int 1500
client.sctp.numGapReports int 3

====== SCTP Association Parameters =================================

client.sctp.rtoInitial double 3s
client.sctp.rtoMin double 1s
client.sctp.rtoMax double 60s
client.sctp.rtoAlpha double 0.125
client.sctp.rtoBeta double 0.250
client.sctp.maxBurst int 4
client.sctp.assocMaxRetrans int 10
client.sctp.pathMaxRetrans int 5
client.sctp.maxInitRetrans int 8
client.sctp.sackPeriod double 200ms
client.sctp.sackFrequency int 2
client.sctp.reactivatePrimaryPath bool false
client.sctp.sendQueueLimit int 0
client.sctp.validCookieLifetime double 10s

====== Testing =====================================================

client.sctp.enableHeartbeats bool true

====== Heartbeats ==================================================

client.sctp.hbInterval double 30s
client.sctp.nagleEnabled bool true

====== Nagle Algorithm =============================================

client.sctp.naglePoint int 1468
client.sctp.fastRecoverySupported bool true

====== Congestion Control ==========================================

client.sctp.sctpAlgorithmClass string "SCTPAlg"
client.sctp.ccModule int 0

RFC4960=0

client.sctp.ssModule int 0

ROUND_ROBIN=0

client.sctp.arwnd int 65535
client.sctp.swsLimit int 3000

Limit for SWS

client.sctp.udpEncapsEnabled bool false
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 double 56B

of ping payload, in bytes

client.pingApp.interval double 1s

time to wait between pings (can be random)

client.pingApp.hopLimit double 32

TTL or hopLimit for IP packets

client.pingApp.count double 0

stop after count ping requests, 0 means continuously

client.pingApp.startTime double uniform(0s,this.interval)

send first ping at startTime

client.pingApp.stopTime double 0s

send no pings after stopTime, 0 means forever

client.pingApp.printPing bool true

dump on stdout

client.networkLayer.ip.procDelay double 0s
client.networkLayer.arp.retryTimeout double 1s

number seconds ARP waits between retries to resolve an IP address

client.networkLayer.arp.retryCount int 3

number of times ARP will attempt to resolve an IP address

client.networkLayer.arp.cacheTimeout double 120s

number seconds unused entries in the cache will time out

client.ppp.ppp.mtu int 4470
client.eth.mac.promiscuous bool false

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

client.eth.mac.address string "auto"

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 double 100Mbps

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 true

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.mtu int 1500
client.ext.filterString string
client.ext.device string
client.ext.mtu int 1500
client.tcpdump.dumpFile string ""
client.tcpdump.threadEnable bool false
client.tcpdump.snaplen int 65535
client.tcpdump.verbosity int 0
configurator.networkAddress string "192.168.0.0"

network part of the address (see netmask parameter)

configurator.netmask string "255.255.0.0"

host part of addresses are autoconfigured

Source code:

network ARPTest
{
    submodules:
        server: StandardHost {
            @display("p=480,198;i=device/server_l");
        }
        router8: Router {
            @display("p=478,100");
        }
        router7: Router {
            @display("p=329,100");
        }
        router6: Router {
            @display("p=254,100");
        }
        bus2: EtherBus {
            positions = "";
            propagationSpeed = 2e8 mps;
            @display("p=260,40;b=260,10");
        }
        router5: Router {
            @display("p=187,98");
        }
        bus1: EtherBus {
            positions = "";
            propagationSpeed = 2e8 mps;
            @display("p=280,170;b=260,10");
        }
        router4: Router {
            @display("p=386,240");
        }
        router3: Router {
            @display("p=320,240");
        }
        router2: Router {
            @display("p=247,240");
        }
        router1: Router {
            @display("p=182,283");
        }
        client: StandardHost {
            @display("p=54,274;i=device/laptop_l");
        }
        configurator: FlatNetworkConfigurator {
            @display("p=46,111");
        }
    connections:
        server.ethg++ <--> router8.ethg++;
        bus2.ethg++ <--> router5.ethg++;
        bus2.ethg++ <--> router6.ethg++;
        bus2.ethg++ <--> router7.ethg++;
        router8.ethg++ <--> router7.ethg++;
        bus1.ethg++ <--> router1.ethg++;
        bus1.ethg++ <--> router5.ethg++;
        bus1.ethg++ <--> router2.ethg++;
        bus1.ethg++ <--> router3.ethg++;
        bus1.ethg++ <--> router4.ethg++;
        client.ethg++ <--> router1.ethg++;
}