Simple Module IPvXTrafSink

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

C++ definition

Consumes and prints packets received from the IP module. Compatible with both IPv4 and IPv6.

IPvXTrafSink

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
protocol int

value for IPv4ControlInfo / IPv6ControlInfo protocol field

Properties:

Name Value Description
display i=block/sink

Gates:

Name Direction Size Description
ipIn input
ipOut output

Signals:

Name Type Unit
rcvdPk cPacket

Statistics:

Name Title Source Record Unit Interpolation Mode
rcvdPk packets received rcvdPk count, sum(packetBytes), vector(packetBytes) none
endToEndDelay end-to-end delay messageAge(rcvdPk) histogram, vector s none

Source code:

//
// Consumes and prints packets received from the IP module.
// Compatible with both ~IPv4 and ~IPv6.
//
simple IPvXTrafSink like IIPvXTrafficGenerator
{
    parameters:
        int protocol; // value for ~IPv4ControlInfo / ~IPv6ControlInfo protocol field
        @display("i=block/sink");
        @signal[rcvdPk](type=cPacket);
        @statistic[rcvdPk](title="packets received"; source=rcvdPk; 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 ipIn @labels(IPv4ControlInfo/up,IPv6ControlInfo/up);
        output ipOut @labels(IPv4ControlInfo/down,IPv6ControlInfo/down);
}