Compound Module MixedLAN

File: Examples/Ethernet/LANs/Networks.ned

Sample Ethernet LAN containing eight hosts, a switch and a bus.

channelInstaller: ChannelInstaller bus: EtherBus busHostA: EtherHost busHostB: EtherHost busHostC: EtherHost busHostD: EtherHost switchHostA: EtherHost switchHostB: EtherHost switchHostC: EtherHost switchHostD: EtherHost switch: EtherSwitch hubHostA: EtherHost hubHostB: EtherHost hubHostC: EtherHost hub: EtherHub

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.

EtherBus

A generic bus model.

EtherHost

Example host model with one Ethernet port and several traffic generators to create traffic in the test network.

EtherHub

A generic wiring hub model.

EtherSwitch

Model of an Ethernet switch.

Networks:

mixedLAN (no description)

Unassigned submodule parameters:

Name Type Description
bus.writeScalars bool

enable/disable recording statistics in omnetpp.sca

busHostA.cli.destStation string

module path name of destination station (must be blank if destAddress is given)

busHostA.cli.destAddress string

destination MAC address (must be blank if destStation is given)

busHostA.cli.waitTime numeric

interarrival time between sending requests; may be random value

busHostA.cli.reqLength numeric

length of request packets (bytes); may be random value

busHostA.cli.respLength numeric

length of response packets (bytes); may be random value

busHostA.cli.writeScalars bool

enable/disable recording statistics in omnetpp.sca

busHostA.srv.writeScalars bool

enable/disable recording statistics in omnetpp.sca

busHostA.llc.writeScalars bool

enable/disable recording statistics in omnetpp.sca

busHostA.mac.promiscuous bool

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

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

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

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

busHostA.mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

busHostB.cli.destStation string

module path name of destination station (must be blank if destAddress is given)

busHostB.cli.destAddress string

destination MAC address (must be blank if destStation is given)

busHostB.cli.waitTime numeric

interarrival time between sending requests; may be random value

busHostB.cli.reqLength numeric

length of request packets (bytes); may be random value

busHostB.cli.respLength numeric

length of response packets (bytes); may be random value

busHostB.cli.writeScalars bool

enable/disable recording statistics in omnetpp.sca

busHostB.srv.writeScalars bool

enable/disable recording statistics in omnetpp.sca

busHostB.llc.writeScalars bool

enable/disable recording statistics in omnetpp.sca

busHostB.mac.promiscuous bool

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

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

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

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

busHostB.mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

busHostC.cli.destStation string

module path name of destination station (must be blank if destAddress is given)

busHostC.cli.destAddress string

destination MAC address (must be blank if destStation is given)

busHostC.cli.waitTime numeric

interarrival time between sending requests; may be random value

busHostC.cli.reqLength numeric

length of request packets (bytes); may be random value

busHostC.cli.respLength numeric

length of response packets (bytes); may be random value

busHostC.cli.writeScalars bool

enable/disable recording statistics in omnetpp.sca

busHostC.srv.writeScalars bool

enable/disable recording statistics in omnetpp.sca

busHostC.llc.writeScalars bool

enable/disable recording statistics in omnetpp.sca

busHostC.mac.promiscuous bool

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

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

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

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

busHostC.mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

busHostD.cli.destStation string

module path name of destination station (must be blank if destAddress is given)

busHostD.cli.destAddress string

destination MAC address (must be blank if destStation is given)

busHostD.cli.waitTime numeric

interarrival time between sending requests; may be random value

busHostD.cli.reqLength numeric

length of request packets (bytes); may be random value

busHostD.cli.respLength numeric

length of response packets (bytes); may be random value

busHostD.cli.writeScalars bool

enable/disable recording statistics in omnetpp.sca

busHostD.srv.writeScalars bool

enable/disable recording statistics in omnetpp.sca

busHostD.llc.writeScalars bool

enable/disable recording statistics in omnetpp.sca

busHostD.mac.promiscuous bool

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

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

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

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

busHostD.mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

switchHostA.cli.destStation string

module path name of destination station (must be blank if destAddress is given)

switchHostA.cli.destAddress string

destination MAC address (must be blank if destStation is given)

switchHostA.cli.waitTime numeric

interarrival time between sending requests; may be random value

switchHostA.cli.reqLength numeric

length of request packets (bytes); may be random value

switchHostA.cli.respLength numeric

length of response packets (bytes); may be random value

switchHostA.cli.writeScalars bool

enable/disable recording statistics in omnetpp.sca

switchHostA.srv.writeScalars bool

enable/disable recording statistics in omnetpp.sca

switchHostA.llc.writeScalars bool

enable/disable recording statistics in omnetpp.sca

switchHostA.mac.promiscuous bool

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

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

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

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

switchHostA.mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

switchHostB.cli.destStation string

module path name of destination station (must be blank if destAddress is given)

switchHostB.cli.destAddress string

destination MAC address (must be blank if destStation is given)

switchHostB.cli.waitTime numeric

interarrival time between sending requests; may be random value

switchHostB.cli.reqLength numeric

length of request packets (bytes); may be random value

switchHostB.cli.respLength numeric

length of response packets (bytes); may be random value

switchHostB.cli.writeScalars bool

enable/disable recording statistics in omnetpp.sca

switchHostB.srv.writeScalars bool

enable/disable recording statistics in omnetpp.sca

switchHostB.llc.writeScalars bool

enable/disable recording statistics in omnetpp.sca

switchHostB.mac.promiscuous bool

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

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

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

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

switchHostB.mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

switchHostC.cli.destStation string

module path name of destination station (must be blank if destAddress is given)

switchHostC.cli.destAddress string

destination MAC address (must be blank if destStation is given)

switchHostC.cli.waitTime numeric

interarrival time between sending requests; may be random value

switchHostC.cli.reqLength numeric

length of request packets (bytes); may be random value

switchHostC.cli.respLength numeric

length of response packets (bytes); may be random value

switchHostC.cli.writeScalars bool

enable/disable recording statistics in omnetpp.sca

switchHostC.srv.writeScalars bool

enable/disable recording statistics in omnetpp.sca

switchHostC.llc.writeScalars bool

enable/disable recording statistics in omnetpp.sca

switchHostC.mac.promiscuous bool

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

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

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

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

switchHostC.mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

switchHostD.cli.destStation string

module path name of destination station (must be blank if destAddress is given)

switchHostD.cli.destAddress string

destination MAC address (must be blank if destStation is given)

switchHostD.cli.waitTime numeric

interarrival time between sending requests; may be random value

switchHostD.cli.reqLength numeric

length of request packets (bytes); may be random value

switchHostD.cli.respLength numeric

length of response packets (bytes); may be random value

switchHostD.cli.writeScalars bool

enable/disable recording statistics in omnetpp.sca

switchHostD.srv.writeScalars bool

enable/disable recording statistics in omnetpp.sca

switchHostD.llc.writeScalars bool

enable/disable recording statistics in omnetpp.sca

switchHostD.mac.promiscuous bool

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

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

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

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

switchHostD.mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

switch.relayUnitType string

type of the MACRelayUnit; currently possible values are MACRelayUnitNP and MACRelayUnitPP

switch.relayUnit.addressTableFile string

set to empty string if not used

switch.relayUnit.addressTableSize numeric

max size of address table

switch.relayUnit.agingTime numeric

max idle time for address table entries (if expires, entry is removed from the table)

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

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

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

switch.mac[*].writeScalars bool

enable/disable recording statistics in omnetpp.sca

hubHostA.cli.destStation string

module path name of destination station (must be blank if destAddress is given)

hubHostA.cli.destAddress string

destination MAC address (must be blank if destStation is given)

hubHostA.cli.waitTime numeric

interarrival time between sending requests; may be random value

hubHostA.cli.reqLength numeric

length of request packets (bytes); may be random value

hubHostA.cli.respLength numeric

length of response packets (bytes); may be random value

hubHostA.cli.writeScalars bool

enable/disable recording statistics in omnetpp.sca

hubHostA.srv.writeScalars bool

enable/disable recording statistics in omnetpp.sca

hubHostA.llc.writeScalars bool

enable/disable recording statistics in omnetpp.sca

hubHostA.mac.promiscuous bool

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

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

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

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

hubHostA.mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

hubHostB.cli.destStation string

module path name of destination station (must be blank if destAddress is given)

hubHostB.cli.destAddress string

destination MAC address (must be blank if destStation is given)

hubHostB.cli.waitTime numeric

interarrival time between sending requests; may be random value

hubHostB.cli.reqLength numeric

length of request packets (bytes); may be random value

hubHostB.cli.respLength numeric

length of response packets (bytes); may be random value

hubHostB.cli.writeScalars bool

enable/disable recording statistics in omnetpp.sca

hubHostB.srv.writeScalars bool

enable/disable recording statistics in omnetpp.sca

hubHostB.llc.writeScalars bool

enable/disable recording statistics in omnetpp.sca

hubHostB.mac.promiscuous bool

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

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

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

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

hubHostB.mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

hubHostC.cli.destStation string

module path name of destination station (must be blank if destAddress is given)

hubHostC.cli.destAddress string

destination MAC address (must be blank if destStation is given)

hubHostC.cli.waitTime numeric

interarrival time between sending requests; may be random value

hubHostC.cli.reqLength numeric

length of request packets (bytes); may be random value

hubHostC.cli.respLength numeric

length of response packets (bytes); may be random value

hubHostC.cli.writeScalars bool

enable/disable recording statistics in omnetpp.sca

hubHostC.srv.writeScalars bool

enable/disable recording statistics in omnetpp.sca

hubHostC.llc.writeScalars bool

enable/disable recording statistics in omnetpp.sca

hubHostC.mac.promiscuous bool

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

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

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

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

hubHostC.mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

hub.writeScalars bool

enable/disable recording statistics in omnetpp.sca

Source code:

module MixedLAN
    submodules:
        channelInstaller: ChannelInstaller;
            parameters:
                channelClass = "ThruputMeteringChannel",
                channelAttrs = "format=#N";
            display: "p=75,52;i=block/cogwheel_s";
        bus: EtherBus;
            parameters:
                positions = "10 20 24 35 40 48",
                propagationSpeed = 200000000; // 1us = 200m
            gatesizes:
                in[6],
                out[6];
            display: "p=277,182;b=424,6;o=#408060";
        busHostA: EtherHost;
            display: "p=122,118;i=device/pc2";
        busHostB: EtherHost;
            display: "p=210,118;i=device/pc2";
        busHostC: EtherHost;
            display: "p=338,238;i=device/pc2";
        busHostD: EtherHost;
            display: "p=426,238;i=device/pc2";
        switchHostA: EtherHost;
            display: "p=82,300;i=device/server";
        switchHostB: EtherHost;
            display: "p=162,300;i=device/pc2";
        switchHostC: EtherHost;
            display: "p=234,300;i=device/pc2";
        switchHostD: EtherHost;
            display: "p=306,300;i=device/pc2";
        switch: EtherSwitch;
            gatesizes:
                in[5],
                out[5];
            display: "p=194,236;i=switch2";
        hubHostA: EtherHost;
            display: "p=297,55;i=device/pc2";
        hubHostB: EtherHost;
            display: "p=365,55;i=device/pc2";
        hubHostC: EtherHost;
            display: "p=430,55;i=device/pc2";
        hub: EtherHub;
            gatesizes:
                in[4],
                out[4];
            display: "p=362,132;i=device/switch";
    connections:
        bus.in[0] <-- busHostA.out;
        bus.out[0] --> busHostA.in;

        bus.in[1] <-- busHostB.out;
        bus.out[1] --> busHostB.in;

        bus.in[2] <-- switch.out[4];
        bus.out[2] --> switch.in[4];

        bus.in[3] <-- busHostC.out;
        bus.out[3] --> busHostC.in;

        bus.in[4] <-- hub.out[3];
        bus.out[4] --> hub.in[3];

        bus.in[5] <-- busHostD.out;
        bus.out[5] --> busHostD.in;

        switch.out[0] --> delay 0.1us --> switchHostA.in;
        switch.in[0] <-- delay 0.1us <-- switchHostA.out;
        switch.out[1] --> delay 0.1us --> switchHostB.in;
        switch.in[1] <-- delay 0.1us <-- switchHostB.out;
        switch.out[2] --> delay 0.1us --> switchHostC.in;
        switch.in[2] <-- delay 0.1us <-- switchHostC.out;
        switch.out[3] --> delay 0.1us --> switchHostD.in;
        switch.in[3] <-- delay 0.1us <-- switchHostD.out;

        hub.out[0] --> delay 0.1us --> hubHostA.in;
        hub.in[0] <-- delay 0.1us <-- hubHostA.out;
        hub.out[1] --> delay 0.3us --> hubHostB.in;
        hub.in[1] <-- delay 0.3us <-- hubHostB.out;
        hub.out[2] --> delay 0.2us --> hubHostC.in;
        hub.in[2] <-- delay 0.2us <-- hubHostC.out;
endmodule