Package: inet.queueing.marker
ContentBasedTagger
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 | [] | |
packetFilter | object | "*" |
packet filter expressions, matches all packets by default |
Properties
Name | Value | Description |
---|---|---|
display | i=block/star | |
class | ContentBasedTagger |
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::ContentBasedTagger::handleCanPushPacketChanged | handleCanPushPacketChanged | PassivePacketSink |
inet::queueing::ContentBasedTagger::pushPacket | pushPacket | ActivePacketSource |
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, PacketProtocolTag, HopLimitReq? |
Packet operations (observed)
chunkType | packetAction |
---|---|
peekData, setBackOffset, setFrontOffset |
Shared Tagging operations (observed)
tagType | tagAction |
---|---|
HopLimitReq | addTagIfAbsent |
PacketProtocolTag | findTag |
Region Tagging operations (observed)
tagType | tagAction |
---|---|
FlowTag | mapAllTags |
Source code
// // This module attaches various request tags to packets. // simple ContentBasedTagger extends PacketTaggerBase like IPacketMarker { parameters: object packetFilter = default("*"); // packet filter expressions, matches all packets by default @class(ContentBasedTagger); }File: src/inet/queueing/marker/ContentBasedTagger.ned