Ieee8022Llc

Package: inet.linklayer.ieee8022

Ieee8022Llc

simple module

(no description)

Inheritance diagram

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

Known subclasses

Name Type Description
Ieee80211LlcLpd simple module

An LLC implementation that encapsulates packets in an LLC header, using IEEE 802 LPD-style encoding.

Parameters

Name Type Default value Description
registerProtocol bool false

FIXME //KLUDGE should redesign place of EthernetEncapsulation and LLC modules

Properties

Name Value Description
display i=block/layer

Gates

Name Direction Size Description
upperLayerIn input

TODO accepts packets and socket commands with @messageKinds(inet::SocketCommandCode), too

upperLayerOut output

TODO sends packets and socket indications with @messageKinds(inet::SocketStatusInd), too

lowerLayerIn input
lowerLayerOut output

Signals

Name Type Unit
packetDropped inet::Packet

Direct method calls (observed)

call tofunctioninfo
MessageDispatcherinet::MessageDispatcher::arrivedarrived
MessageDispatcherinet::MessageDispatcher::handleRegisterProtocolhandleRegisterProtocol
MessageDispatcherinet::MessageDispatcher::handleRegisterServicehandleRegisterService
EthernetEncapsulationinet::EthernetEncapsulation::handleRegisterProtocolhandleRegisterProtocol

Called methods (observed)

functioninfocall from
inet::Ieee8022Llc::handleOperationStagehandleOperationStageScenarioManager
inet::Ieee8022Llc::handleRegisterProtocolhandleRegisterProtocolMessageDispatcher
inet::Ieee8022Llc::handleRegisterServicehandleRegisterServiceMessageDispatcher, EthernetEncapsulation, EthernetMacHeaderInserter

Incoming messages (observed)

gatemsgkindctrlsrcModuletags
lowerLayerInPacket0EthernetEncapsulationDispatchProtocolReq, InterfaceInd, MacAddressInd, PacketProtocolTag
lowerLayerInPacket0EthernetMacHeaderCheckerDirectionTag, DispatchProtocolReq, EncapsulationProtocolInd, InterfaceInd, MacAddressInd, PacketProtocolTag
lowerLayerInPacket0Ieee8021dRelayDirectionTag, DispatchProtocolReq, EncapsulationProtocolInd, InterfaceInd, MacAddressInd, PacketProtocolTag
upperLayerInPacket0RstpDispatchProtocolReq, InterfaceReq, MacAddressReq, PacketProtocolTag
upperLayerInPacket0StpDispatchProtocolReq, InterfaceReq, MacAddressReq, PacketProtocolTag
upperLayerInPacket0 (SocketCommandCode::SOCKET_C_DATA)EtherAppClientDispatchProtocolReq, Ieee802SapReq, InterfaceReq, MacAddressReq, SocketReq
upperLayerInPacket0 (SocketCommandCode::SOCKET_C_DATA)EtherAppServerDispatchProtocolReq, Ieee802SapReq, InterfaceReq, MacAddressReq, SocketReq
upperLayerInPacket0 (SocketCommandCode::SOCKET_C_DATA)EtherTrafGenDispatchProtocolReq, Ieee802SapReq, InterfaceReq, MacAddressReq
upperLayerInRequest2 (SocketCommandCode::SOCKET_C_OPEN)Ieee8022LlcSocketOpenCommandEtherAppClientDispatchProtocolReq, Ieee802SapReq, InterfaceReq, SocketReq
upperLayerInRequest2 (SocketCommandCode::SOCKET_C_OPEN)Ieee8022LlcSocketOpenCommandEtherAppServerDispatchProtocolReq, Ieee802SapReq, SocketReq
upperLayerInRequest2 (SocketCommandCode::SOCKET_C_OPEN)Ieee8022LlcSocketOpenCommandEtherTrafGenDispatchProtocolReq, SocketReq

Outgoing messages (observed)

gatemsgkindctrldestModuletags
lowerLayerOutPacket0EthernetEncapsulationDispatchProtocolReq, Ieee802SapReq, InterfaceReq, MacAddressReq, PacketProtocolTag, SocketReq?
lowerLayerOutPacket0EthernetMacHeaderInserterDispatchProtocolReq, Ieee802SapReq, InterfaceReq, MacAddressReq, PacketProtocolTag, SocketReq
lowerLayerOutPacket0Ieee8021dRelayDispatchProtocolReq, InterfaceReq, MacAddressReq, PacketProtocolTag
upperLayerOutPacket0RstpDirectionTag, DispatchProtocolReq, EncapsulationProtocolInd, Ieee802SapInd, InterfaceInd, MacAddressInd, PacketProtocolTag
upperLayerOutPacket0StpDirectionTag, DispatchProtocolReq, EncapsulationProtocolInd, Ieee802SapInd, InterfaceInd, MacAddressInd, PacketProtocolTag
upperLayerOutPacket0 (SocketStatusInd::SOCKET_I_DATA)EtherAppClientIeee802SapInd, InterfaceInd, MacAddressInd, SocketInd, DirectionTag?, EncapsulationProtocolInd?
upperLayerOutPacket0 (SocketStatusInd::SOCKET_I_DATA)EtherAppServerIeee802SapInd, InterfaceInd, MacAddressInd, SocketInd, DirectionTag?, EncapsulationProtocolInd?
upperLayerOutPacket0 (SocketStatusInd::SOCKET_I_DATA)EtherTrafGenDispatchProtocolReq, Ieee802SapInd, InterfaceInd, MacAddressInd, PacketProtocolTag, SocketInd

Packet operations (observed)

chunkTypepacketAction
Ieee8022LlcHeaderinsertAtFront, popAtFront

Shared Tagging operations (observed)

tagTypetagAction
DispatchProtocolReqaddTagIfAbsent, removeTagIfPresent
Ieee802SapIndaddTagIfAbsent, findTag
Ieee802SapReqfindTag
PacketProtocolTagaddTagIfAbsent, findTag, removeTagIfPresent
SocketIndaddTagIfAbsent
SocketReqgetTag

Source code

simple Ieee8022Llc like IIeee8022Llc
{
    parameters:
        bool registerProtocol = default(false);     //FIXME //KLUDGE should redesign place of EthernetEncapsulation and LLC modules
        @display("i=block/layer");
        @signal[packetDropped](type=inet::Packet);
    gates:
        input upperLayerIn; // TODO accepts packets and socket commands with  @messageKinds(inet::SocketCommandCode), too
        output upperLayerOut; // TODO sends packets and socket indications with @messageKinds(inet::SocketStatusInd), too
        input lowerLayerIn;
        output lowerLayerOut;
}

File: src/inet/linklayer/ieee8022/Ieee8022Llc.ned