Ieee8021qAsynchronousShaper

Package: inet.linklayer.ieee8021q

Ieee8021qAsynchronousShaper

compound module

This module implements the IEEE 802.1Q asynchronous shaper.

Inheritance diagram

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

Extends

Name Type Description
EligibilityTimeGate simple module

This module is a packet gate that operates based on the EligibilityTimeTag attached to the next packet waiting to be pulled through. The gate is closed if the eligibility time is greater than the current simulation time, it is open otherwise.

Parameters

Name Type Default value Description
displayStringTextFormat string "passed %p pk (%l)"

determines the text that is written on top of the submodule

bitrate double nan bps
extraLength int 0b
extraDuration double 0s
clockModule string ""

relative path of a module that implements IClock; optional

Properties

Name Value Description
display i=block/cogwheel
class EligibilityTimeGate

Gates

Name Direction Size Description
in input
out output

Signals

Name Type Unit
remainingEligibilityTimeChanged simtime_t

Statistics

Name Title Source Record Unit Interpolation Mode
remainingEligibilityTime remaining eligibility time remainingEligibilityTimeChanged vector s linear

Scheduled messages (observed)

msgkindctrltagsmsgnamecontext
ClockEvent0EligibilityTimer

Direct method calls (observed)

call tofunctioninfo
LayeredEthernetInterfaceinet::NetworkInterface::receiveSignalPOST_MODEL_CHANGE
Ieee8021qAsynchronousShaperinet::EligibilityTimeGate::handleCanPullPacketChangedhandleCanPullPacketChanged
Ieee8021qAsynchronousShaperinet::EligibilityTimeGate::pullPacketpullPacket
EligibilityTimeQueueinet::queueing::PacketQueue::pullPacketpullPacket
PeriodicGateinet::queueing::PeriodicGate::handleCanPullPacketChangedhandleCanPullPacketChanged

Called methods (observed)

functioninfocall from
inet::EligibilityTimeGate::handleCanPullPacketChangedhandleCanPullPacketChangedIeee8021qAsynchronousShaper, EligibilityTimeQueue
inet::EligibilityTimeGate::pullPacketpullPacketIeee8021qAsynchronousShaper, PeriodicGate

Pull in messages (observed)

gatemsgkindctrlsrcModuletags
inPacket0EligibilityTimeQueueDirectionTag, DropEligibleReq, EligibilityTimeTag, EncapsulationProtocolReq, InterfaceInd, InterfaceReq, MacAddressReq, PacketProtocolTag, PcpReq, StreamReq, UserPriorityReq, VlanReq

Pulled out messages (observed)

gatemsgkindctrldestModuletags
outPacket0PeriodicGateDirectionTag, DropEligibleReq, EligibilityTimeTag, EncapsulationProtocolReq, InterfaceInd, InterfaceReq, MacAddressReq, PacketProtocolTag, PcpReq, StreamReq, UserPriorityReq, VlanReq

Shared Tagging operations (observed)

tagTypetagAction
EligibilityTimeTaggetTag

Region Tagging operations (observed)

tagTypetagAction
FlowTagmapAllTags

Source code

//
// This module implements the IEEE 802.1Q asynchronous shaper.
//
module Ieee8021qAsynchronousShaper extends EligibilityTimeGate
{
}

File: src/inet/linklayer/ieee8021q/Ieee8021qAsynchronousShaper.ned