Network NClients2

Package: inet.examples.inet.nclients
File: examples/inet/nclients/NClients2.ned

(no description)

FlatNetworkConfigurator Router StandardHost StandardHost

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.

Parameters:

Name Type Default value Description
numRouters int
hostsPerRouter int

Properties:

Name Value Description
isNetwork

Unassigned submodule parameters:

Name Type Default value Description
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

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

number seconds ARP waits between retries to resolve an IP address

r.networkLayer.arp.retryCount int 3

number of times ARP will attempt to resolve an IP address

r.networkLayer.arp.cacheTimeout double 120s

number seconds unused entries in the cache will time out

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

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

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

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

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

r.eth.mac.mtu int 1500
cli.sctp.numGapReports int 3

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

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

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

cli.sctp.enableHeartbeats bool true

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

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

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

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

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

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

RFC4960=0

cli.sctp.ssModule int 0

ROUND_ROBIN=0

cli.sctp.arwnd int 65535
cli.sctp.swsLimit int 3000

Limit for SWS

cli.sctp.udpEncapsEnabled bool false
cli.pingApp.destAddr string ""

destination IP or IPv6 address

cli.pingApp.srcAddr string ""

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

cli.pingApp.packetSize double 56B

of ping payload, in bytes

cli.pingApp.interval double 1s

time to wait between pings (can be random)

cli.pingApp.hopLimit double 32

TTL or hopLimit for IP packets

cli.pingApp.count double 0

stop after count ping requests, 0 means continuously

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

send first ping at startTime

cli.pingApp.stopTime double 0s

send no pings after stopTime, 0 means forever

cli.pingApp.printPing bool true

dump on stdout

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

number seconds ARP waits between retries to resolve an IP address

cli.networkLayer.arp.retryCount int 3

number of times ARP will attempt to resolve an IP address

cli.networkLayer.arp.cacheTimeout double 120s

number seconds unused entries in the cache will time out

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

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

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

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

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

cli.eth.mac.mtu int 1500
cli.ext.filterString string
cli.ext.device string
cli.ext.mtu int 1500
cli.tcpdump.dumpFile string ""
cli.tcpdump.threadEnable bool false
cli.tcpdump.snaplen int 65535
cli.tcpdump.verbosity int 0
srv.sctp.numGapReports int 3

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

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

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

srv.sctp.enableHeartbeats bool true

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

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

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

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

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

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

RFC4960=0

srv.sctp.ssModule int 0

ROUND_ROBIN=0

srv.sctp.arwnd int 65535
srv.sctp.swsLimit int 3000

Limit for SWS

srv.sctp.udpEncapsEnabled bool false
srv.pingApp.destAddr string ""

destination IP or IPv6 address

srv.pingApp.srcAddr string ""

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

srv.pingApp.packetSize double 56B

of ping payload, in bytes

srv.pingApp.interval double 1s

time to wait between pings (can be random)

srv.pingApp.hopLimit double 32

TTL or hopLimit for IP packets

srv.pingApp.count double 0

stop after count ping requests, 0 means continuously

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

send first ping at startTime

srv.pingApp.stopTime double 0s

send no pings after stopTime, 0 means forever

srv.pingApp.printPing bool true

dump on stdout

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

number seconds ARP waits between retries to resolve an IP address

srv.networkLayer.arp.retryCount int 3

number of times ARP will attempt to resolve an IP address

srv.networkLayer.arp.cacheTimeout double 120s

number seconds unused entries in the cache will time out

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

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

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

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

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

srv.eth.mac.mtu int 1500
srv.ext.filterString string
srv.ext.device string
srv.ext.mtu int 1500
srv.tcpdump.dumpFile string ""
srv.tcpdump.threadEnable bool false
srv.tcpdump.snaplen int 65535
srv.tcpdump.verbosity int 0

Source code:

network NClients2
{
    parameters:
        int numRouters;
        int hostsPerRouter;
    types:
        channel ethernetline2 extends DatarateChannel
        {
            delay = 0.1us;
            datarate = 100Mbps;
        }
        channel gigabitline2 extends DatarateChannel
        {
            delay = 0.1us;
            datarate = 1Gbps;
        }
    submodules:
        configurator: FlatNetworkConfigurator;
        r[numRouters]: Router;
        cli[numRouters*hostsPerRouter]: StandardHost {
            parameters:
                @display("i=device/laptop_vs");
        }
        srv: StandardHost {
            parameters:
                @display("i=device/server_l");
        }
    connections:
        for i=0..numRouters-1, for j=0..hostsPerRouter-1 {
            cli[i*hostsPerRouter+j].pppg++ <--> ethernetline2 <--> r[i].pppg++;
        }
        for i=0..numRouters-2 {
            r[i].pppg++ <--> gigabitline2 <--> r[i+1].pppg++;
        }
        r[numRouters-1].pppg++ <--> ethernetline2 <--> srv.pppg++;
}