Simple Module IPTrafGen

Package: inet.applications.generic
File: src/applications/generic/IPTrafGen.ned

C++ definition

Sends IP or IPv6 datagrams to the given address at the given interval. The interval can be a constant or a random value (e.g. exponential(1)). If the destAddresses parameter contains more than one address, one of them is randomly for each packet. An address may be given in the dotted decimal notation (or, for IPv6, in the usual notation with colons), or with the module name. (The IPAddressResolver class is used to resolve the address.) To disable the model, set destAddresses to "".

The peer can be IPTrafSink or another IPTrafGen (it handles received packets exactly like IPTrafSink).

IPTrafGen

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.

Parameters:

Name Type Default value Description
startTime double 1s

the time application generates first packet

packetInterval double 10ms

may be a random value, e.g. exponential(1)

numPackets int 0

max number of packets to generate

protocol int

value for IPDatagram protocol field

packetLength int

in bytes (changed 2005-11-04)

destAddresses string ""

list of IP addresses, separated by spaces

Properties:

Name Value Description
display i=block/source

Gates:

Name Direction Size Description
ipIn input
ipv6In input
ipOut output
ipv6Out output

Source code:

//
// Sends IP or IPv6 datagrams to the given address at the given interval.
// The interval can be a constant or a random value (e.g. exponential(1)).
// If the destAddresses parameter contains more than one address, one
// of them is randomly for each packet. An address may be given in the
// dotted decimal notation (or, for IPv6, in the usual notation with colons),
// or with the module name. (The IPAddressResolver class is used to resolve
// the address.) To disable the model, set destAddresses to "".
//
// The peer can be IPTrafSink or another IPTrafGen (it handles received packets
// exactly like IPTrafSink).
//
simple IPTrafGen like IPTrafficGenerator
{
    parameters:
        double startTime @unit("s") = default(1s); // the time application generates first packet
        volatile double packetInterval @unit("s") = default(10ms); // may be a random value, e.g. exponential(1)
        int numPackets = default(0); // max number of packets to generate
        int protocol; // value for IPDatagram protocol field
        volatile int packetLength @unit("B"); // in bytes (changed 2005-11-04)
        string destAddresses = default(""); // list of \IP addresses, separated by spaces
        @display("i=block/source");
    gates:
        input ipIn @labels(IPControlInfo/up);
        input ipv6In @labels(IPv6ControlInfo/up);
        output ipOut @labels(IPControlInfo/down);
        output ipv6Out @labels(IPv6ControlInfo/down);
}