NrRlcUmTxEntity

Package: simu5g.stack.rlc.um

simple module NrRlcUmTxEntity

NR (TS 38.322) transmission side of the Unacknowledged Mode (UM) of the RLC layer: SI + byte-offset (SO) segmentation, one SDU segment per PDU, one sequence number per SDU. Shares the common RlcUmTxEntityBase shell (MAC plumbing, D2D mode-switch machinery) with the LTE profile LteRlcUmTxEntity. Bound by default inside the NrRlcUmEntity compound. The NR SO-segmentation statistics are declared here so they are recorded only for NR entities.

simu5g.stack.rlc.um.NrRlcUmTxEntityNrRlcUmTxEntitysimple

Inheritance diagram

Known subclasses

Name

Type

Description

NrRlcUmTxEntityD2D

simple module

D2D-capable NR (TS 38.322) RLC UM transmitting entity: NrRlcUmTxEntity plus the same D2D mode-switch machinery as LteRlcUmTxEntityD2D, over the SO segmentation buffer.

Parameters

Name

Type

Default value

Description

macModule

string

“^.^.mac”

Set by the enclosing RlcUmEntityBase compound (per leg)

sn_FieldLength

int

12

UM SN field length in bits: 6 or 12

Properties

Name

Value

Description

display

i=block/layer

dynamic

true

Gates

Name

Direction

Size

Description

in

input

SDUs from the PDCP layer (direct per-DRB connection, not via a mux)

macIn

input

MAC SDU requests, via the RlcMux

out

output

PDUs and new-data notifications to MAC, via the RlcMux

Signals

Name

Type

Unit

Description

receivedPacketFromUpperLayer

requestedPduSize

sentPacketToLowerLayer

sentPduSize

wastedGrantedBytes

Statistics

Name

Title

Source

Record

Unit

Interpolation Mode

Description

receivedPacketFromUpperLayer

receivedPacketFromUpperLayer

count,”sum(packetBytes)”

none

requestedPduSize

Requested PDU size

requestedPduSize

vector

B

sentPacketToLowerLayer

sentPacketToLowerLayer

count,”sum(packetBytes)”

none

sentPduSize

Sent PDU size

sentPduSize

vector

B

wastedGrantedBytes

Wasted granted bytes

wastedGrantedBytes

sum

B

Source code

//
// NR (TS 38.322) transmission side of the Unacknowledged Mode (UM) of the RLC
// layer: SI + byte-offset (SO) segmentation, one SDU segment per PDU, one sequence
// number per SDU. Shares the common RlcUmTxEntityBase shell (MAC plumbing, D2D
// mode-switch machinery) with the LTE profile ~LteRlcUmTxEntity. Bound by
// default inside the ~NrRlcUmEntity compound. The NR SO-segmentation statistics
// are declared here so they are recorded only for NR entities.
//
simple NrRlcUmTxEntity like simu5g.stack.rlc.IRlcTxEntity
{
    parameters:
        @dynamic(true);
        @display("i=block/layer");
        string macModule = default("^.^.mac");  // Set by the enclosing RlcUmEntityBase compound (per leg)
        int sn_FieldLength = default(12);   // UM SN field length in bits: 6 or 12

        @signal[wastedGrantedBytes];
        @statistic[wastedGrantedBytes](title="Wasted granted bytes"; unit="B"; source="wastedGrantedBytes"; record=sum);
        @signal[requestedPduSize];
        @statistic[requestedPduSize](title="Requested PDU size"; unit="B"; source="requestedPduSize"; record=vector);
        @signal[sentPduSize];
        @statistic[sentPduSize](title="Sent PDU size"; unit="B"; source="sentPduSize"; record=vector);
        @signal[receivedPacketFromUpperLayer];
        @statistic[receivedPacketFromUpperLayer](source="receivedPacketFromUpperLayer"; record=count,"sum(packetBytes)"; interpolationmode=none);
        @signal[sentPacketToLowerLayer];
        @statistic[sentPacketToLowerLayer](source="sentPacketToLowerLayer"; record=count,"sum(packetBytes)"; interpolationmode=none);

    gates:
        input in;       // SDUs from the PDCP layer (direct per-DRB connection, not via a mux)
        input macIn;    // MAC SDU requests, via the RlcMux
        output out;     // PDUs and new-data notifications to MAC, via the RlcMux
}

File: src/simu5g/stack/rlc/um/NrRlcUmTxEntity.ned