EthernetApplication

Package: inet.applications.ethernet

EthernetApplication

simple module

****************************************************** @file EthernetApplication.cc @brief Simple traffic generator. It generates Etherapp requests and responses. Based in EtherAppCli and EtherAppSrv.

Author: Juan Luis Garrote Molinero

Version: 1.0

Date: Feb 2011

******************************************************/

Parameters

Name Type Default value Description
destAddress string ""

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

startTime double this.waitTime

time to send the first request

waitTime double uniform(0s,1s)

interval between sending requests

reqLength int 100B

length of request packets

respLength int 1KiB

length of response packets

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

//******************************************************
// @file EthernetApplication.cc
// @brief Simple traffic generator.
// It generates Etherapp requests and responses. Based in EtherAppCli and EtherAppSrv.
//
// @author Juan Luis Garrote Molinero
// @version 1.0
// @date Feb 2011
//
//
//******************************************************/
simple EthernetApplication
{
    parameters:
        string destAddress = default("");  // destination MAC address, or module path name of destination station; empty means off
        double startTime @unit("s") = default(this.waitTime);  // time to send the first request
        volatile double waitTime @unit("s") = default(uniform(0s,1s));  // interval between sending requests
        volatile int reqLength @unit(B) = default(100B);  // length of request packets
        volatile int respLength @unit(B) = default(1KiB);  // length of response packets
        @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);
        @display("i=block/app");
    gates:
        input in @labels(Ieee802Ctrl/up);
        output out @labels(Ieee802Ctrl/down);
}
File: src/inet/applications/ethernet/EthernetApplication.ned