Package: inet.applications.ethernet
EthernetApp
compound moduleThis module generates traffic as an Ethernet application. The traffic source and traffic sink modules can be built from queueing model elements.
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.
Known subclasses
Name | Type | Description |
---|---|---|
EthernetSinkApp | compound module |
This module implements an Ethernet application that only receives packets. |
EthernetSourceApp | compound module |
This module implements an Ethernet application that only sends packets. |
Parameters
Name | Type | Default value | Description |
---|---|---|---|
interfaceTableModule | string |
relative module path of the interface table |
Properties
Name | Value | Description |
---|---|---|
application | ||
display | i=block/app |
Gates
Name | Direction | Size | Description |
---|---|---|---|
socketIn | input | ||
socketOut | output |
Unassigned submodule parameters
Name | Type | Default value | Description |
---|---|---|---|
io.interfaceTableModule | string |
relative module path of the interface table |
|
io.interface | string | "" |
network interface name |
io.localAddress | string | "" |
local Ethernet MAC address |
io.remoteAddress | string | "" |
remove Ethernet MAC address |
io.stopOperationExtraTime | double | -1s |
extra time after lifecycle stop operation finished |
io.stopOperationTimeout | double | 2s |
timeout value for lifecycle stop operation |
Source code
// // This module generates traffic as an Ethernet application. The traffic source // and traffic sink modules can be built from queueing model elements. // module EthernetApp like IApp { parameters: string interfaceTableModule; // relative module path of the interface table *.interfaceTableModule = default(absPath(this.interfaceTableModule)); @application; @display("i=block/app"); gates: input socketIn; output socketOut; submodules: source: <default("ActivePacketSource")> like IActivePacketSource if typename != "" { parameters: @display("p=200,150"); } tagger: <default("")> like IPacketFlow { parameters: @display("p=200,300"); } measurementStarter: <default("")> like IPacketFlow { parameters: @display("p=200,450"); } sink: <default("PassivePacketSink")> like IPassivePacketSink if typename != "" { parameters: @display("p=500,150"); } measurementRecorder: <default("")> like IPacketFlow { parameters: @display("p=500,450"); } io: EthernetSocketIo { parameters: @display("p=400,600"); } connections allowunconnected: source.out --> tagger.in if exists(source); tagger.out --> measurementStarter.in; measurementStarter.out --> io.trafficIn; io.socketOut --> socketOut; socketIn --> io.socketIn; io.trafficOut --> measurementRecorder.in; measurementRecorder.out --> sink.in if exists(sink); }File: src/inet/applications/ethernet/EthernetApp.ned