Package: inet.linklayer.ethernet.modular
EthernetFcsChecker
simple module(no description)
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Extends
| Name | Type | Description |
|---|---|---|
| PacketFilterBase | simple module |
This is a base module for various packet filter modules. Derived modules must implement a single packet matcher function which determines if a packet is to be passed through or filtered out. |
Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
| displayStringTextFormat | string | "dropped %d/%p pk (%k/%l)" |
determines the text that is written on top of the submodule |
| backpressure | bool | false | |
| popFcs | bool | true |
Properties
| Name | Value | Description |
|---|---|---|
| display | i=block/checker | |
| class | EthernetFcsChecker |
Gates
| Name | Direction | Size | Description |
|---|---|---|---|
| in | input | ||
| out | output |
Signals
| Name | Type | Unit |
|---|---|---|
| packetPushedIn | inet::Packet | |
| packetPulledIn | inet::Packet | |
| packetDropped | inet::Packet | |
| packetPushedOut | inet::Packet | |
| packetPulledOut | inet::Packet |
Statistics
| Name | Title | Source | Record | Unit | Interpolation Mode |
|---|---|---|---|---|---|
| flowDroppedPacketLengths | flow specific dropped packet lengths | packetLength(demuxFlow(packetDropped)) | sum, histogram, vector | b | none |
| incomingDataRate | incoming data rate | throughput(merge(packetPushedIn, packetPulledIn)) | vector | bps | linear |
| droppedPacketLengths | dropped packet lengths | packetLength(packetDropped) | sum, histogram, vector | b | none |
| incomingPacketLengths | incoming packet lengths | packetLength(merge(packetPushedIn, packetPulledIn)) | sum, histogram, vector | b | none |
| droppedDataRate | dropped data rate | throughput(packetDropped) | vector | bps | linear |
| flowOutgoingPacketLengths | flow specific outgoing packet lengths | packetLength(demuxFlow(merge(packetPushedOut, packetPulledOut))) | sum, histogram, vector | b | none |
| flowDroppedDataRate | flow specific dropped data rate | throughput(demuxFlow(packetDropped)) | vector | bps | linear |
| droppedPackets | dropped packets | packetDropped | count | pk | |
| 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 |
| 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 |
| incomingPackets | incoming packets | merge(packetPushedIn, packetPulledIn) | count | pk | |
| outgoingPackets | outgoing packets | merge(packetPushedOut, packetPulledOut) | count | pk |
Direct method calls (observed)
| call to | function | info |
|---|---|---|
| MessageDispatcher | inet::MessageDispatcher::handleRegisterProtocol | handleRegisterProtocol |
| LayeredEthernetInterface | inet::NetworkInterface::pushPacket | pushPacket |
| EthernetMacHeaderChecker | inet::EthernetMacHeaderChecker::pushPacket | pushPacket |
| FlowMeasurementRecorder | inet::queueing::FlowMeasurementRecorder::pushPacket | pushPacket |
Called methods (observed)
| function | info | call from |
|---|---|---|
| inet::EthernetFcsChecker::pushPacket | pushPacket | MessageDispatcher, PacketEmitter |
Pushed in messages (observed)
| gate | msg | kind | ctrl | srcModule | tags |
|---|---|---|---|---|---|
| in | Packet | 0 | MessageDispatcher | DirectionTag, DispatchProtocolReq, InterfaceInd, PacketProtocolTag, GptpIngressTimeInd? | |
| in | Packet | 0 | PacketEmitter | DirectionTag, DispatchProtocolReq, InterfaceInd, PacketProtocolTag, GptpIngressTimeInd? |
Push out messages (observed)
Packet operations (observed)
| chunkType | packetAction |
|---|---|
| peekData, peekDataAsBytes | |
| EthernetFcs | peekAtBack, popAtBack |
Shared Tagging operations (observed)
| tagType | tagAction |
|---|---|
| PacketProtocolTag | getTagForUpdate |
Region Tagging operations (observed)
| tagType | tagAction |
|---|---|
| FlowTag | mapAllTags |
Source code
simple EthernetFcsChecker extends PacketFilterBase like IPacketFilter { parameters: bool popFcs = default(true); @class(EthernetFcsChecker); @display("i=block/checker"); }File: src/inet/linklayer/ethernet/modular/EthernetFcsChecker.ned