Message Definitions

Messages

Name

Type

Description

ActiveUeNotification

message

(no description)

AperiodicSubscriptionTimer

message

(no description)

CreateContextApp

message

(no description)

CreateContextAppAck

message

(no description)

DeleteContextAppAckMessage

message

(no description)

DeleteContextAppMessage

message

(no description)

M1Message

message

(no description)

MecOrchestratorMessage

message

(no description)

ProcessingTimeMessage

message

(no description)

RtxNotification

message

(no description)

TrickleTimerMsg

message

(no description)

UalcmpMessage

message

(no description)

Packets

Name

Type

Description

AirFrame

packet

Format of the messages that are sent to the channel

LteAirFrame

packet

Represents a physical layer transmission frame that encapsulates various types of messages/packets for transmission over the air interface, such as:

TMultiTimerMsg

packet

(no description)

TTimerMsg

packet

(no description)

Classes

Name

Type

Description

AlertPacket

class

Packet used by the AlertSender and AlertReceiver modules.

Band

class

Logical band

BurstPacket

class

Packet used by the BurstSender and BurstReceiver modules.

CarrierConfigurationInd

class

Indication tag containing carrier and technology configuration Normally exchanged by the PHY and MAC layers.

CbrPacket

class

Packet used by the CbrSender and CbrReceiver modules.

Cqi

class

Channel Quality Indicator

CreateAppMessage

class

(no description)

D2DModeSwitchNotification

class

(no description)

DeleteAppMessage

class

(no description)

DestinationIdList

class

(no description)

DeviceAppPacket

class

(no description)

DeviceAppStartAckPacket

class

(no description)

DeviceAppStartPacket

class

(no description)

DeviceAppStopAckPacket

class

(no description)

DeviceAppStopPacket

class

(no description)

DrbId

class

Data Radio Bearer Identifier (used in PDCP/RLC layers, maps 1:1 to LogicalCid)

DrbKey

class

Node + DRB ID Identifier: <MacNodeId, DrbId> for PDCP/RLC layers

FlowControlInfo

class

@class FlowControlInfo @brief Contains flow information in layers above the MAC

FlowDescriptor

class

WIP: Describes logical channels (identified by remote node + LCID) in MAC

GHz

class

(no description)

GtpEndMarkerInd

class

Marks a packet that stands for a GTP-U End Marker (TS 29.281 7.3.2): the end of a PDU session’s downlink on the tunnel it arrived on, which the anchor sends at the path switch. It carries no data. The old base station relays it over X2 to the base station the UE moved to, which releases the downlink it has held back from the new path until then (see HandoverPacketHolderEnb). Attached by GtpUser and GtpUserX2 where the End Marker arrives; node-local, like SessionTag.

GtpUserMsg

class

A GTP-U header (TS 29.281 5.1): the 8 mandatory octets, and when a PDU Session Container is present, the 4 optional octets that announce the extension header and the 4-octet PDU Session Container itself (TS 38.415): 16 octets then.

HarqInfoInd

class

Indication tag containing HARQ process information Normally exchanged by the PHY and MAC layers.

HttpBaseMessage

class

Base class for HTTP messages

HttpRequestMessage_m

class

Message class for HTTP requests

HttpResponseMessage_m

class

Message class for HTTP replies

IpHeaderFieldsTag

class

The fields of a user-plane packet’s IP header that a node classifies and routes by, parsed once where the packet enters the node’s user plane (see attachIpHeaderFields()) and read by every later module of the node instead of the header itself, so a missing entry point aborts rather than silently re-parsing.

Lcg

class

Logical Channel Group id (LTE: 4 groups, NR: up to 8; TS 36.321 / TS 38.321)

LogicalCid

class

Logical Connection Identifier (used in MAC layer)

LogicalConnectionInd

class

Identifies the logical connection and D2D groupcast destination for the packet. Usually sent by PDCP to RLC and MAC layers.

LteControlInfo

class

@class LteControlInfo @brief Base class for FlowControlInfo and UserControlInfo

LteFeedbackPkt

class

(no description)

LteHarqFeedback

class

(no description)

LteHarqFeedbackMirror

class

(no description)

LteMacPdu

class

MAC PDU. MAC PDUs in LTE and NR are similar, with differences that mostly affect the layout of the packet. This class is an abstract representation that is suitable for both LTE and NR.

LteMacSduRequest

class

This is the message that asks the RLC layer for a new MAC SDU.

LtePdcpHeader

class

Represents the PDCP header in LTE and NR.

LteRac

class

(no description)

LteRlcAmDataPdu

class

LTE RLC AM data PDU: an AMD PDU or, when rf is set, an AMD PDU segment (3GPP TS 36.322 6.2.1.4 / 6.2.1.5).

LteRlcAmStatusPdu

class

LTE RLC AM STATUS PDU (TS 36.322 6.2.1.6): ACK_SN plus a NACK list, with byte ranges (SOstart/SOend) for partially received PDUs.

LteRlcDataPdu

class

(no description)

LteRlcNewDataTag

class

@class LteRlcNewDataTag @brief Tag to indicate new data availability to MAC layer

LteRlcUmDataPdu

class

Lte RLC UM Data Pdu

LteSchedulingGrant

class

TODO generated message class

LteX2Message

class

This is the X2 message flowing through X2 interface. It contains a vector of Information Elements (see LteX2Message.h), the total length of the message and the type of the message

MacBsr

class

Mac Buffer Status Report

MacCellId

class

(no description)

MacCid

class

Connection Identifier: <MacNodeId,LogicalCid>

MacControlElement

class

Mac Control Element

MacNodeId

class

(no description)

MeAppPacket

class

(no description)

MecPacket

class

(no description)

ModulationType

class

\brief Represents a single transmission mode

MultihopD2DPacket

class

MultihopD2DPacket

nlohmann::json

class

(no description)

NodeIdentificationInd

class

Indication tag containing source and destination node identifiers used throughout the protocol stack. Normally exchanged by the PHY and MAC layers.

NrRlcAmStatusPdu

class

(no description)

NrSdapHeader

class

SDAP header used to represent an SDAP PDU in the NR stack. This header is attached to the payload in the SDAP layer.

PdcpTrackingTag

class

Tag to track PDCP metadata across protocol layers.

PhyReceptionInd

class

Indication tag containing PHY layer reception and quality information Usually sent by PHY to MAC layer.

PhyTransmissionInd

class

Indication tag containing PHY layer transmission parameters Normally exchanged by the PHY and MAC layers.

Qfi

class

QoS Flow Identifier (6-bit, 0-63 per 3GPP TS 24.501)

QfiInd

class

(no description)

QfiReq

class

(no description)

QfiTagBase

class

QoS Flow Identifier (QFI) Tag Classes

Rank

class

Rank Indicator

RbMap

class

(no description)

RealTimeVideoStreamingAppPacket

class

(no description)

RealTimeVideoStreamingAppSegmentHeader

class

(no description)

RequestResponseAppPacket

class

(no description)

RlcConfigurationInd

class

Indication tag containing the RLC mode (TM/UM/AM) for the connection. Usually sent by PDCP to RLC and MAC layers.

RlcConfigurationReq

class

Request tag that specifies the RLC mode (TM/UM/AM) for the connection. Usually sent by PDCP to RLC layer.

RlcConfigurationTagBase

class

Common base for RLC mode request and indication tags. Usually exchanged between PDCP and RLC layers.

RnisTestAppInfoPacket

class

(no description)

RnisTestAppPacket

class

RnisTestAppPacket used by UeRnisTestApp and MecRnisTestApp

RnisTestAppStartPacket

class

(no description)

RnisTestAppStopPacket

class

(no description)

SequenceNumberInd

class

Indication tag containing PDCP sequence number for packet ordering Usually sent by PDCP to RLC layer.

SessionId

class

A UE’s session id: the PDU Session ID of a 5G core (TS 24.007: 1..15, 0 = none assigned), used for the PDN connection of an EPC as well

SessionTag

class

The session a downlink datagram belongs to at a base station, and so the UE it is for. It is attached where the datagram enters the base station: from the GTP-U tunnel it arrived on, from the core network (GtpUser) or from a handover source (GtpUserX2), or, on the shortcut between two UEs of the same base station (TrafficFlowFilter’s fastForwarding), from the destination UE’s session (GtpUser). The modules after the entry read the UE from this tag, and each applies its own policy for picking one of the UE’s node ids (see HandoverPacketHolderEnb, Ip2Nic). The tag also carries the session’s type, as the tunnel end knows it from the session’s establishment, so no module after the entry has to parse the datagram to learn what it carries. A datagram forwarded to a handover target keeps it until GtpUserX2 sends it on the session’s tunnel there.

size_t

class

(no description)

StartRealTimeVideoStreamingAppPacket

class

(no description)

StartSessionRealTimeVideoStreamingAppPacket

class

(no description)

StopSessionRealTimeVideoStreamingAppPacket

class

(no description)

Tbs

class

Transport Block Size

Teid

class

GTP-U Tunnel Endpoint Identifier (TS 29.281)

TftControlInfo

class

(no description)

UplinkUeTag

class

At a base station: the UE an uplink datagram was received from over the air, by the node id the base station’s stack knows it by. Attached where the datagram leaves the radio stack (Ip2Nic) and consumed where it enters the uplink tunnel of the UE’s session (GtpUser), so the tunnel is chosen by the UE the datagram came from, whatever its payload.

UserControlInfo

class

@class UserControlInfo @brief contains information flowing from Mac to Phy

UserTransmissionParametersInd

class

Indication tag containing user transmission parameters Normally exchanged by the PHY and MAC layers.

UserTxParams

class

@class UserTxParams

VoDPacket

class

Packet used by the video-on-demand application (VodUdpServer, VodUdpClient)

VoipPacket

class

Packet used by the VoipSender and VoipReceiver modules.

WarningAlertPacket

class

(no description)

WarningAppPacket

class

(no description)

WarningStartPacket

class

(no description)

WarningStopPacket

class

(no description)

X2CompProportionalReplyIE

class

X2CompProportionalReplyIE

X2CompProportionalRequestIE

class

X2CompProportionalRequestIE

X2CompReplyIE

class

(no description)

X2CompRequestIE

class

(no description)

X2ControlInfoTag

class

X2 Control Info usage:

X2DcTunnelInd

class

At a dual connectivity node: the bearer a PDCP PDU relayed over X2 belongs to, as the X2-U tunnel it arrived on names it (see GtpUserX2). Each dual connectivity bearer has one tunnel per direction, allocated by its receiving end: to the secondary for the downlink the master relays, to the master for the uplink the secondary relays back. Attached by GtpUserX2, read by DcMux. The tag is node-local.

X2InformationElement

class

X2 Information Element

X2NodeId

class

X2 node ID. It is equal to the eNodeB MAC Cell ID

X2SourceNodeInd

class

Indication tag containing the source node identifier for X2 data reception. Used to pass the source node parameter when receiving data from X2 interface through gates instead of direct method calls.

X2TargetReq

class

Request tag containing the target node identifier for X2 data forwarding. Used for both handover and dual connectivity operations to pass the target node parameter when forwarding data packets via X2 interface through gates instead of direct method calls.

Structs

Name

Type

Description

FeedbackRequest

struct

(no description)

FramingInfo

struct

FI field of the RLC PDU (3GPP TS 36.322) It specifies whether the PDU starts/ends with the first/last byte of an SDU

NackInfo

struct

(no description)

RemoteUnitPhyData

struct

(no description)

RlcFragDesc

struct

(no description)

RlcUmRxWindowDesc

struct

RLC UM Entity

RlcWindowDesc

struct

(no description)

StatusPduData

struct

(no description)

Enums

Name

Type

Description

CellGroup

enum

Cell group a bearer’s RLC bearer belongs to (TS 38.331 RLC-BearerConfig): the master cell group is the one the UE is anchored on, the secondary cell group the one a dual-connectivity secondary node serves. A bearer with both is a split bearer.

CodeRate

enum

This enumeration defines the various convolutional coding rates used for the OFDM transmission modes in the IEEE 802.11 standard. DSSS (for example) rates which do not have an explicit coding stage in their generation should have this parameter set to WIFI_CODE_RATE_UNDEFINED.

CompRbStatus

enum

(no description)

CoreNetwork

enum

Which core network’s bearer model a bearer belongs to. An EPC bearer (an EPS bearer, LTE core) is selected by packet filters; a 5GC bearer is selected by the QFIs mapped onto it (SDAP).

CoreNodeType

enum

Core Network Types

DeploymentScenario

enum

(no description)

Direction

enum

Link Directions

EnbType

enum

********************* * Incell Interference Support *********************

FbPeriodicity

enum

Feedback periodicity

FeedbackType

enum

Feedback reporting type

GrantType

enum

Scheduler grant type

HarqAcknowledgment

enum

H-ARQ feedback (ACK, NACK)

HttpMsgType

enum

(no description)

HttpRequestState

enum

(no description)

HttpResponseStatus

enum

(no description)

LteAmType

enum

LTE RLC AM Types

LteD2DMode

enum

D2D Modes: IM: Infastructure Mode DM: Direct (D2D) Mode NONE: Non D2D-capable

LteMod

enum

Modulations

LtePhyFrameType

enum

Lte PHY Frame Types

LteX2MessageType

enum

add here new X2 message types

ModulationClass

enum

(no description)

PduSessionContainerType

enum

The PDU Session Container extension header of a GTP-U header (TS 38.415 5.5.2), which carries the QFI of a G-PDU on N3: which PDU SESSION INFORMATION it holds, if any

PilotComputationModes

enum

specifies how the final CQI will be computed from the multiband ones

Plane

enum

OFDMA layers (see FIXME lteAllocationModuble.h for “layers” meaning)

RanNodeType

enum

Node types on the Radio Access Network. Note that the LTE vs 5G (NR) distinction is usually represented with isNr booleans and/or nodeId/nrNodeId variables being empty or not.

RbAllocationType

enum

Resource allocation type

Remote

enum

OFDMA Remotes Antennas (see LteAllocationModule) – only MACRO is currently supported

RlcAmTimerType

enum

(no description)

RlcMode

enum

RLC modes (TS 36.322 / TS 38.322)

RlcUmTimerType

enum

(no description)

RxHarqPduStatus

enum

RX H-ARQ pdu status

SchedDiscipline

enum

Scheduling discipline

SessionType

enum

The type of a UE’s session: the PDU session types of a 5G core (TS 23.501 5.6.10), of which the IP ones are the PDN types of an EPC as well (TS 23.401)

TftOutcome

enum

Where a traffic flow filter sends a datagram entering the user plane of its node (see TrafficFlowFilter, GtpUser)

TTimerType

enum

(no description)

TxDirectionType

enum

(no description)

TxHarqPduStatus

enum

TX H-ARQ pdu status

TxMode

enum

Transmission Modes

UlTransmissionMapTTI

enum

Index for UL transmission map

X2InformationElementType

enum

add here new IE types