Package: inet.applications.ethernet
EtherTrafGen
simple moduleA simple traffic generator for the Ethernet model and the 802.11 model, and generally for any L2 model that accepts Ieee80211Ctrl control info on the packets. It should be connected directly to EtherEncap or an Ieee802NicXXX module.
Used in compound modules
Name | Type | Description |
---|---|---|
EtherHost2 | compound module |
An example host with one Ethernet interface and an Ethernet traffic generator directly connected to it. This host model does not contain higher layer protocols (IP, TCP). By default is configured to use half-duplex MAC (CSMA/CD). |
Parameters
Name | Type | Default value | Description |
---|---|---|---|
destAddress | string | "" |
destination MAC address, or module path name of destination station; empty means off |
etherType | int | 0 |
etherType to set on outgoing packets |
startTime | double | this.sendInterval |
time of sending the first packet |
stopTime | double | -1s |
time of finishing sending, negative values mean forever |
sendInterval | double |
interval between sending bursts |
|
numPacketsPerBurst | int | 1 |
number of packets to send per burst (packets within a burst are sent at the same simulation time) |
packetLength | int |
length of packets to send |
Properties
Name | Value | Description |
---|---|---|
display | i=block/app |
Gates
Name | Direction | Size | Description |
---|---|---|---|
in | input | ||
out | output |
Signals
Name | Type | Unit |
---|---|---|
sentPk | cPacket | |
rcvdPk | cPacket |
Statistics
Name | Title | Source | Record | Unit | Interpolation Mode |
---|---|---|---|---|---|
sentPk | packets sent | sentPk | count, sum(packetBytes), vector(packetBytes) | none | |
rcvdPk | packets received | rcvdPk | count, sum(packetBytes), vector(packetBytes) | none | |
endToEndDelay | end-to-end delay | messageAge(rcvdPk) | histogram, vector | s | none |
Source code
// // A simple traffic generator for the Ethernet model and the 802.11 model, // and generally for any L2 model that accepts Ieee80211Ctrl control info // on the packets. It should be connected directly to ~EtherEncap or // an Ieee802NicXXX module. // simple EtherTrafGen { parameters: string destAddress = default(""); // destination MAC address, or module path name of destination station; empty means off int etherType = default(0); // etherType to set on outgoing packets double startTime @unit(s) = default(this.sendInterval); // time of sending the first packet double stopTime @unit(s) = default(-1s); // time of finishing sending, negative values mean forever volatile double sendInterval @unit(s); // interval between sending bursts volatile int numPacketsPerBurst = default(1); // number of packets to send per burst (packets within a burst are sent at the same simulation time) volatile int packetLength @unit(B); // length of packets to send @display("i=block/app"); @signal[sentPk](type=cPacket); @signal[rcvdPk](type=cPacket); @statistic[rcvdPk](title="packets received"; source=rcvdPk; record=count,"sum(packetBytes)","vector(packetBytes)"; interpolationmode=none); @statistic[sentPk](title="packets sent"; source=sentPk; record=count,"sum(packetBytes)","vector(packetBytes)"; interpolationmode=none); @statistic[endToEndDelay](title="end-to-end delay"; source="messageAge(rcvdPk)"; unit=s; record=histogram,vector; interpolationmode=none); gates: input in @labels(Ieee802Ctrl/up); output out @labels(Ieee802Ctrl/down); }File: src/inet/applications/ethernet/EtherTrafGen.ned