Package: inet.linklayer.ethernet.common
EthernetFrameClassifier
simple moduleClassifier that forwards Ethernet PAUSE frames to the pauseOut gate, and other frames to the defaultOut gate.
This component can be used to build a QoS queue that gives the PAUSE frames the highest priority.
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Extends
| Name | Type | Description |
|---|---|---|
| PacketClassifierBase | simple module |
This is a base module for various packet classifier modules. Derived modules must implement a single packet classifier function which determines the index of the output gate for the next pushed packet. |
Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
| displayStringTextFormat | string | "classified %p pk (%l)" |
determines the text that is written on top of the submodule |
| reverseOrder | bool | false |
Properties
| Name | Value | Description |
|---|---|---|
| display | i=block/classifier | |
| class | EthernetFrameClassifier |
Gates
| Name | Direction | Size | Description |
|---|---|---|---|
| in | input | ||
| out [ ] | output |
Signals
| Name | Type | Unit |
|---|---|---|
| packetPushed | inet::Packet |
Statistics
| Name | Title | Source | Record | Unit | Interpolation Mode |
|---|---|---|---|---|---|
| packetLengths | packet lengths | packetLength(packetPushed) | sum, histogram, vector | b | none |
| dataRate | data rate | throughput(packetPushed) | vector | bps | linear |
| packets | packets | packetPushed | count | pk |
Direct method calls (observed)
| call to | function | info |
|---|---|---|
| EthernetFrameClassifier | inet::EthernetFrameClassifier::pushPacket | pushPacket |
| DropTailQueue | inet::queueing::PacketQueue::pushPacket | pushPacket |
Called methods (observed)
| function | info | call from |
|---|---|---|
| inet::EthernetFrameClassifier::handleCanPushPacketChanged | handleCanPushPacketChanged | DropTailQueue |
| inet::EthernetFrameClassifier::pushPacket | pushPacket | EthernetFrameClassifier |
Incoming messages (observed)
| gate | msg | kind | ctrl | srcModule | tags |
|---|---|---|---|---|---|
| in | Packet | 0 | EthernetEncapsulation | InterfaceReq, MacAddressReq, PacketProtocolTag, DirectionTag?, DispatchProtocolInd?, EcnInd?, Ieee802SapReq?, InterfaceInd?, MacAddressInd?, MulticastReq?, NetworkProtocolInd?, TransportProtocolInd? |
Push out messages (observed)
| gate | msg | kind | ctrl | destModule | tags |
|---|---|---|---|---|---|
| out[] | Packet | 0 | DropTailQueue | InterfaceReq, MacAddressReq, PacketProtocolTag, DirectionTag?, DispatchProtocolInd?, EcnInd?, Ieee802SapReq?, InterfaceInd?, MacAddressInd?, MulticastReq?, NetworkProtocolInd?, TransportProtocolInd? |
Packet operations (observed)
| chunkType | packetAction |
|---|---|
| EthernetMacHeader | peekAtFront |
Source code
// // Classifier that forwards Ethernet PAUSE frames // to the pauseOut gate, and other frames to the defaultOut // gate. // // This component can be used to build a QoS queue that gives // the PAUSE frames the highest priority. // simple EthernetFrameClassifier extends PacketClassifierBase like IPacketClassifier { parameters: @class(EthernetFrameClassifier); @display("i=block/classifier"); }File: src/inet/linklayer/ethernet/common/EthernetFrameClassifier.ned