Network HubLAN

Package: inet.examples.ethernet.lans
File: examples/ethernet/lans/Networks.ned

Sample Ethernet LAN: four hosts connected by a hub.

EtherHost EtherHost EtherHost EtherHost EtherHub

Usage diagram:

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.

Inheritance diagram:

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Properties:

Name Value Description
isNetwork

Unassigned submodule parameters:

Name Type Default value Description
hostA.status.initialStatus string "UP"

TODO @signal, @statistic

hostA.cli.destAddress string ""

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

hostA.cli.startTime double this.sendInterval

time of sending the first request

hostA.cli.stopTime double -1s

time of finishing sending, negative values mean forever

hostA.cli.localSAP int 0xf0
hostA.cli.remoteSAP int 0xf1
hostA.cli.sendInterval double uniform(0s,1s)

interval between sending requests

hostA.cli.reqLength int 100B

length of request packets

hostA.cli.respLength int 1KiB

length of response packets

hostA.srv.localSAP int 0xf1
hostA.queue.pauseQueue.frameCapacity int 100
hostA.mac.promiscuous bool

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

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

hostA.mac.duplexMode bool

selects full-duplex (true) or half-duplex (false) operation

hostA.mac.txQueueLimit int

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

hostA.mac.mtu int
hostB.status.initialStatus string "UP"

TODO @signal, @statistic

hostB.cli.destAddress string ""

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

hostB.cli.startTime double this.sendInterval

time of sending the first request

hostB.cli.stopTime double -1s

time of finishing sending, negative values mean forever

hostB.cli.localSAP int 0xf0
hostB.cli.remoteSAP int 0xf1
hostB.cli.sendInterval double uniform(0s,1s)

interval between sending requests

hostB.cli.reqLength int 100B

length of request packets

hostB.cli.respLength int 1KiB

length of response packets

hostB.srv.localSAP int 0xf1
hostB.queue.pauseQueue.frameCapacity int 100
hostB.mac.promiscuous bool

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

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

hostB.mac.duplexMode bool

selects full-duplex (true) or half-duplex (false) operation

hostB.mac.txQueueLimit int

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

hostB.mac.mtu int
hostC.status.initialStatus string "UP"

TODO @signal, @statistic

hostC.cli.destAddress string ""

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

hostC.cli.startTime double this.sendInterval

time of sending the first request

hostC.cli.stopTime double -1s

time of finishing sending, negative values mean forever

hostC.cli.localSAP int 0xf0
hostC.cli.remoteSAP int 0xf1
hostC.cli.sendInterval double uniform(0s,1s)

interval between sending requests

hostC.cli.reqLength int 100B

length of request packets

hostC.cli.respLength int 1KiB

length of response packets

hostC.srv.localSAP int 0xf1
hostC.queue.pauseQueue.frameCapacity int 100
hostC.mac.promiscuous bool

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

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

hostC.mac.duplexMode bool

selects full-duplex (true) or half-duplex (false) operation

hostC.mac.txQueueLimit int

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

hostC.mac.mtu int
hostD.status.initialStatus string "UP"

TODO @signal, @statistic

hostD.cli.destAddress string ""

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

hostD.cli.startTime double this.sendInterval

time of sending the first request

hostD.cli.stopTime double -1s

time of finishing sending, negative values mean forever

hostD.cli.localSAP int 0xf0
hostD.cli.remoteSAP int 0xf1
hostD.cli.sendInterval double uniform(0s,1s)

interval between sending requests

hostD.cli.reqLength int 100B

length of request packets

hostD.cli.respLength int 1KiB

length of response packets

hostD.srv.localSAP int 0xf1
hostD.queue.pauseQueue.frameCapacity int 100
hostD.mac.promiscuous bool

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

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

hostD.mac.duplexMode bool

selects full-duplex (true) or half-duplex (false) operation

hostD.mac.txQueueLimit int

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

hostD.mac.mtu int

Source code:

//
// Sample Ethernet LAN: four hosts connected by a hub.
//
network HubLAN
{
    submodules:
        hostA: EtherHost {
            parameters:
                @display("p=161,55");
        }
        hostB: EtherHost {
            parameters:
                @display("p=253,125");
        }
        hostC: EtherHost {
            parameters:
                @display("p=158,199");
        }
        hostD: EtherHost {
            parameters:
                @display("p=59,127");
        }
        hub: EtherHub {
            parameters:
                @display("p=162,124");
            gates:
                ethg[4];
        }
    connections:
        hub.ethg[0] <--> {  delay = 0.1us; datarate = 100Mbps; } <--> hostA.ethg;
        hub.ethg[1] <--> {  delay = 0.3us; datarate = 100Mbps; } <--> hostB.ethg;
        hub.ethg[2] <--> {  delay = 0.4us; datarate = 100Mbps; } <--> hostC.ethg;
        hub.ethg[3] <--> {  delay = 0.2us; datarate = 100Mbps; } <--> hostD.ethg;
}