Package: inet.queueing.marker
PacketTagger
simple moduleThis module attaches various request tags to packets.
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Extends
| Name | Type | Description |
|---|---|---|
| PacketTaggerBase | simple module |
This is a base module for various packet tagger modules. |
Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
| displayStringTextFormat | string | "tagged %p pk (%l)" |
determines the text that is written on top of the submodule |
| dscp | int | -1 |
specifies differentiated services code point |
| ecn | int | -1 |
specifies explicit congestion notification |
| tos | int | -1 |
if not -1, set the Type Of Service (IPv4) / Traffic Class (IPv6) field of sent packets to this value |
| interfaceName | string | "" |
specifies outgoing interface, unused by default |
| hopLimit | int | -1 |
specifies network layer TTL, unused by default |
| vlanId | int | -1 |
specifies VLAN, unused by default |
| pcp | int | -1 |
specifies PCP, unused by default |
| userPriority | int | -1 |
specifies user priority, unused by default |
| transmissionPower | double | nan W |
specifies signal transmission power, unused by default |
| encapsulationProtocols | object | [] | |
| filterClass | string | "inet::queueing::AnyPacketFilter" |
determines which packets are tagged |
Properties
| Name | Value | Description |
|---|---|---|
| display | i=block/star | |
| class | PacketTagger |
Gates
| Name | Direction | Size | Description |
|---|---|---|---|
| in | input | ||
| out | output |
Signals
| Name | Type | Unit |
|---|---|---|
| packetPushedIn | inet::Packet | |
| packetPulledIn | inet::Packet | |
| packetPushedOut | inet::Packet | |
| packetPulledOut | inet::Packet |
Statistics
| Name | Title | Source | Record | Unit | Interpolation Mode |
|---|---|---|---|---|---|
| flowIncomingDataRate | flow specific incoming data rate | throughput(demuxFlow(merge(packetPushedIn, packetPulledIn))) | vector | bps | linear |
| outgoingDataRate | outgoing data rate | throughput(merge(packetPushedOut, packetPulledOut)) | vector | bps | linear |
| incomingDataRate | incoming data rate | throughput(merge(packetPushedIn, packetPulledIn)) | vector | bps | linear |
| outgoingPacketLengths | outgoing packet lengths | packetLength(merge(packetPushedOut, packetPulledOut)) | sum, histogram, vector | b | none |
| flowIncomingPacketLengths | flow specific incoming packet lengths | packetLength(demuxFlow(merge(packetPushedIn, packetPulledIn))) | sum, histogram, vector | b | none |
| flowOutgoingDataRate | flow specific outgoing data rate | throughput(demuxFlow(merge(packetPushedOut, packetPulledOut))) | vector | bps | linear |
| incomingPacketLengths | incoming packet lengths | packetLength(merge(packetPushedIn, packetPulledIn)) | sum, histogram, vector | b | none |
| flowOutgoingPacketLengths | flow specific outgoing packet lengths | packetLength(demuxFlow(merge(packetPushedOut, packetPulledOut))) | sum, histogram, vector | b | none |
| incomingPackets | incoming packets | merge(packetPushedIn, packetPulledIn) | count | pk | |
| outgoingPackets | outgoing packets | merge(packetPushedOut, packetPulledOut) | count | pk |
Direct method calls (observed)
| call to | function | info |
|---|---|---|
| PassivePacketSink | inet::queueing::PassivePacketSink::pushPacket | pushPacket |
| ActivePacketSource | inet::queueing::ActivePacketSource::handleCanPushPacketChanged | handleCanPushPacketChanged |
Called methods (observed)
| function | info | call from |
|---|---|---|
| inet::queueing::PacketTagger::handleCanPushPacketChanged | handleCanPushPacketChanged | PassivePacketSink |
| inet::queueing::PacketTagger::pushPacket | pushPacket | ActivePacketSource |
Outgoing messages (observed)
| gate | msg | kind | ctrl | destModule | tags |
|---|---|---|---|---|---|
| out | Packet | 0 | UdpSocketIo | DirectionTag, PacketProtocolTag, VlanReq |
Pushed in messages (observed)
| gate | msg | kind | ctrl | srcModule | tags |
|---|---|---|---|---|---|
| in | Packet | 0 | ActivePacketSource | DirectionTag, PacketProtocolTag |
Push out messages (observed)
| gate | msg | kind | ctrl | destModule | tags |
|---|---|---|---|---|---|
| out | Packet | 0 | PassivePacketSink | DirectionTag, HopLimitReq, PacketProtocolTag |
Shared Tagging operations (observed)
| tagType | tagAction |
|---|---|
| HopLimitReq | addTagIfAbsent |
| VlanReq | addTagIfAbsent |
Region Tagging operations (observed)
| tagType | tagAction |
|---|---|
| FlowTag | mapAllTags |
Source code
// // This module attaches various request tags to packets. // simple PacketTagger extends PacketTaggerBase like IPacketMarker { parameters: string filterClass = default("inet::queueing::AnyPacketFilter"); // determines which packets are tagged @class(PacketTagger); }File: src/inet/queueing/marker/PacketTagger.ned