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).
The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
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 |
Name | Value | Description |
---|---|---|
display | i=block/source |
Name | Direction | Size | Description |
---|---|---|---|
ipIn | input | ||
ipv6In | input | ||
ipOut | output | ||
ipv6Out | output |
// // 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); }