Package: inet.queueing.sink
PcapFilePacketConsumer
simple moduleThis module is a passive packet sink which is pushed with packets by the connected packet producer. All pushed packets are written to a PCAP file.
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Extends
Name | Type | Description |
---|---|---|
PacketSinkBase | simple module |
This is a base module for various packet sink modules. |
Parameters
Name | Type | Default value | Description |
---|---|---|---|
displayStringTextFormat | string | "dropped %p pk (%l)" |
determines the text that is written on top of the submodule |
filename | string |
the PCAP file to be written |
|
networkType | int |
the network type header field in the PCAP file, see http://www.tcpdump.org/linktypes.html (1=ethernet, 204=ppp, 105=IEEE 802.11, ...) |
|
snaplen | int | 65535 |
maximum number of bytes to record per packet |
alwaysFlush | bool | false |
flush the PCAP file after each write to ensure that all packets are captured in case of a crash |
Properties
Name | Value | Description |
---|---|---|
display | i=block/sink | |
class | PcapFilePacketConsumer |
Gates
Name | Direction | Size | Description |
---|---|---|---|
in | input |
Signals
Name | Type | Unit |
---|---|---|
packetPushed | inet::Packet |
Statistics
Name | Title | Source | Record | Unit | Interpolation Mode |
---|---|---|---|---|---|
packetPushed | packets pushed | count, sum(packetBytes), vector(packetBytes) | none |
Source code
// // This module is a passive packet sink which is pushed with packets by the // connected packet producer. All pushed packets are written to a PCAP file. // simple PcapFilePacketConsumer extends PacketSinkBase like IPassivePacketSink { parameters: string filename; // the PCAP file to be written int networkType; // the network type header field in the PCAP file, see http://www.tcpdump.org/linktypes.html (1=ethernet, 204=ppp, 105=IEEE 802.11, ...) int snaplen = default(65535); // maximum number of bytes to record per packet bool alwaysFlush = default(false); // flush the PCAP file after each write to ensure that all packets are captured in case of a crash @class(PcapFilePacketConsumer); @signal[packetPushed](type=inet::Packet); @statistic[packetPushed](title="packets pushed"; record=count,sum(packetBytes),vector(packetBytes); interpolationmode=none); gates: input in @labels(push); }File: src/inet/queueing/sink/PcapFilePacketConsumer.ned