Compound Module EtherHost2

Package: inet.nodes.ethernet
File: src/nodes/ethernet/EtherHost2.ned

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

EtherAppCli EtherAppSrv EtherLLC EtherMAC2

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.

Networks:

SwitchedDuplexLAN (network) (no description)

Properties:

Name Value Description
node
labels node
display b=271,262;i=device/pc2

Gates:

Name Direction Size Description
ethg inout

Unassigned submodule parameters:

Name Type Default value Description
cli.destAddress string ""

destination MAC address, or module path name of destination station; empty means off

cli.startTime double this.waitTime

time of sending the first request

cli.waitTime double uniform(0s,1s)

interval between sending requests

cli.reqLength int 100B

length of request packets

cli.respLength int 1KB

length of response packets

mac.promiscuous bool false

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

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.

mac.txQueueLimit int 1000

maximum number of frames queued up for transmission; additional frames are dropped. Only used if queueModule==""

mac.mtu int 1500

Source code:

//
// Example host model with one Ethernet port and several traffic generators
// to create traffic in the test network.
//
module EtherHost2
{
    parameters:
        @node();
        @labels(node,ethernet-node);
        @display("b=271,262;i=device/pc2");
    gates:
        inout ethg @labels(EtherFrame-conn);

    submodules:
        cli: EtherAppCli {
            parameters:
                registerSAP = true;
                @display("p=60,60,col");
        }
        srv: EtherAppSrv {
            parameters:
                registerSAP = true;
                @display("p=250,60,col");
        }
        llc: EtherLLC {
            parameters:
                @display("p=155,120");
            gates:
                upperLayerIn[2];
                upperLayerOut[2];
        }
        mac: EtherMAC2 {
            parameters:
                queueModule = "";
                @display("p=155,200;q=queue");
        }
    connections:
        llc.lowerLayerIn <-- mac.upperLayerOut;
        llc.lowerLayerOut --> mac.upperLayerIn;

        mac.phys <--> ethg;

        cli.out --> llc.upperLayerIn[0];
        cli.in <-- llc.upperLayerOut[0];

        srv.out --> llc.upperLayerIn[1];
        srv.in <-- llc.upperLayerOut[1];
}