Compound Module RouterPerfNetwork

File: Examples/INET/RouterPerf/RouterPerf.ned

(no description)

channelInstaller: ChannelInstaller configurator: FlatNetworkConfigurator sender: BurstHost recip: BurstHost router: 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.

BurstHost

Definition of an IP node with a transport generator that connects to IP directly, without TCP or UDP.

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.

Networks:

routerPerfNetwork (no description)

Parameters:

Name Type Description
nodeNo numeric const

Unassigned submodule parameters:

Name Type Description
sender[*].trafGenType string
sender[*].IPForward bool
sender[*].routingFile string
sender[*].networkLayer.proxyARP bool
sender[*].networkLayer.ip.procDelay numeric const
sender[*].networkLayer.arp.retryTimeout numeric

number seconds ARP waits between retries to resolve an IP address

sender[*].networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

sender[*].networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

sender[*].ppp[*].queueType string
recip[*].trafGenType string
recip[*].IPForward bool
recip[*].routingFile string
recip[*].networkLayer.proxyARP bool
recip[*].networkLayer.ip.procDelay numeric const
recip[*].networkLayer.arp.retryTimeout numeric

number seconds ARP waits between retries to resolve an IP address

recip[*].networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

recip[*].networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

recip[*].ppp[*].queueType string
router.routingFile string
router.networkLayer.proxyARP bool
router.networkLayer.ip.procDelay numeric const
router.networkLayer.arp.retryTimeout numeric

number seconds ARP waits between retries to resolve an IP address

router.networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

router.networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

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

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

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

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

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

router.eth[*].mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

router.eth[*].encap.writeScalars bool

enable/disable recording statistics in omnetpp.sca

Source code:

module RouterPerfNetwork
    parameters:
        nodeNo: numeric const;
    submodules:
        channelInstaller: ChannelInstaller;
            parameters:
                channelClass = "ThruputMeteringChannel",
                channelAttrs = "format=u";
            display: "p=59,211;i=block/cogwheel_s";
        configurator: FlatNetworkConfigurator;
            parameters:
                moduleTypes = "Router BurstHost",
                nonIPModuleTypes = "",
                networkAddress = "145.236.0.0",
                netmask = "255.255.0.0";
            display: "p=61,163;i=block/cogwheel_s";
        sender: BurstHost[nodeNo];
            display: "p=100,300,row,100;i=device/pc3,yellow,10";
        recip: BurstHost[nodeNo];
            display: "p=100,80,row,100;i=device/pc3";
        router: Router;
            display: "p=210,190;i=abstract/router";
    connections nocheck:
        for i=0..nodeNo-1 do
            sender[i].out++ --> datarate 1000000 --> router.in++;
            sender[i].in++ <-- datarate 1000000 <-- router.out++;

            recip[i].out++ --> datarate 1000000 --> router.in++;
            recip[i].in++ <-- datarate 1000000 <-- router.out++;
        endfor;

endmodule