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