QosClassifier

Package: inet.linklayer.common

QosClassifier

simple module

This module classifies packets and assigns a User Priority based on the IP protocol or the transport protocol port numbers.

Inheritance diagram

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Parameters

Name Type Default value Description
ipProtocolUpMap string "1 BE 58 BE"
udpPortUpMap string "21 BK 80 BE 4000 VI 5000 VO"
tcpPortUpMap string "21 BK 80 BE 4000 VI 5000 VO"
defaultUp string "BE"

Properties

Name Value Description
display i=block/classifier

Gates

Name Direction Size Description
in input
out output

Direct method calls (observed)

call tofunctioninfo
Ieee80211LlcLpdinet::ieee80211::Ieee80211LlcLpd::handleRegisterProtocolhandleRegisterProtocol
Ieee80211LlcLpdinet::ieee80211::Ieee80211LlcLpd::handleRegisterServicehandleRegisterService

Called methods (observed)

functioninfocall from
inet::QosClassifier::handleRegisterProtocolhandleRegisterProtocolMessageDispatcher
inet::QosClassifier::handleRegisterServicehandleRegisterServiceMessageDispatcher

Incoming messages (observed)

gatemsgkindctrlsrcModuletags
inPacket0ArpInterfaceReq, MacAddressReq, PacketProtocolTag
inPacket0Ipv4DispatchProtocolInd, InterfaceReq, MacAddressReq, MulticastReq, NetworkProtocolInd, PacketProtocolTag, TransportProtocolInd

Outgoing messages (observed)

gatemsgkindctrldestModuletags
outPacket0Ieee80211LlcLpdInterfaceReq, MacAddressReq, PacketProtocolTag, UserPriorityReq, DispatchProtocolInd?, MulticastReq?, NetworkProtocolInd?, TransportProtocolInd?

Packet operations (observed)

chunkTypepacketAction
Ipv4HeaderpeekDataAt
UdpHeaderpeekDataAt

Shared Tagging operations (observed)

tagTypetagAction
PacketProtocolTaggetTag
UserPriorityReqaddTagIfAbsent

Source code

//
// This module classifies packets and assigns a User Priority based on the IP
// protocol or the transport protocol port numbers.
//
simple QosClassifier like IIeee8021dQosClassifier
{
    parameters:
        string ipProtocolUpMap = default("1 BE 58 BE");
        string udpPortUpMap @enum() = default("21 BK 80 BE 4000 VI 5000 VO");
        string tcpPortUpMap @enum() = default("21 BK 80 BE 4000 VI 5000 VO");
        string defaultUp = default("BE");
        @display("i=block/classifier");
    gates:
        input in;
        output out;
}

File: src/inet/linklayer/common/QosClassifier.ned